今天学习了pwn中的ret2shellcode,在之前学习的ret2text中,程序给我们留下了后门函数,可以直接溢出执行,而ret2shellcode是最经典的栈溢出漏洞利用方法,简单原理如下:
在栈溢出漏洞利用成功后,我们可以控制返回地址代码执行,但是这些代码在程序中默认没有,需要我们自己添加,这段代码被称为
shellcode
,写入shellcode,我们需要满足可以在程序中写入并且被写入的shellcode拥有被执行的权限
shellcode
shellcode其实就是一段汇编代码,常见的功能是获取目标系统的
shell
shellcode有以下三种常见的获取方法
- 自己编写汇编代码,使用
objdump
等工具dump
出来 - 使用pwntools中带的
shellcraft
功能 - 网站上公开的shellcode(别人已经编译好的)例如: shellcode database
具体生成流程可以参考之前写的博客: 手动生成shellcode
标签:代码,写入,学习,ret2shellcode,pwn,shellcode,溢出 From: https://www.cnblogs.com/Junglezt/p/18222698