PWN-栈溢出漏洞
ret2text
-
信息搜集阶段
-
checksec re2text
弄清楚保护机制
-
file ret2text
-
-
静态分析
Q:IDA作为静态分析工具怎么可以计算出get_shell的虚拟地址?
大概是因为这个文件没有开启ALSR技术,因此仅仅凭ELF文件本身信息尽可以推断出加载到内存的情况!
vullnerable函数中的局部变量buf数组在IDA中给出了其在栈帧中的位置[ebp-10h],这个建议有时准有时不准,保险起见这里要经过动态调试
-
动态调试
通过栈的情况很容易看到正如IDA所说buf在vullnerable函数栈帧中的位置[ebp-10h],这样就可以设计进行覆盖了
-
本地用pwntools进行攻击
Q:这次payload中用’BBBB’覆盖EBP,这样不就破坏了栈帧吗,栈帧不就回不到main的原来栈帧位置了?这样怎么不会出现段错误?
Q:payload中的p32是将数字转化成二进制?
Q:pwntools中脚本的编写技术,
- process()怎么就创建了一个本地连接
- sendline()recvline()recv()这些函数的详细情况
-
连接服务器进行远程攻击
略