浅尝pwn题:pwnstack


pwnstack wp

这题pwn是我看wp写出来的,一个晚上的琢磨感觉网上的wp还是不够简洁,于是乎我自己来总结一下:
首先从网站上下载压缩包解压后放至自己虚拟机的文件夹中;
发现它是个64位二进制文件:

对其进行checksec下如下图:

发现只有NX保护打开。
在物理机上将它拖进IDA中分析:

对其中的函数双击点进去,发现vul函数中有read函数可读取177个字节,而我们定义的buf只有160个字节,很明显是个栈溢出题目。

然后我们在这列中找到了后门函数:backdoor

进去看发现它可以直接调用/bin/sh获得shell:

接下来就是编写脚本了,因为要覆盖到返回地址只要将buf区填满和rbp指针覆盖共需要168个字节于是我们填充168个a,后面返回地址则覆盖为backdoor的地址即可

from pwn import * 
io = process('./pwn2')
payload = b'a'*168 + p64(0x400762)
io.sendline(payload)
io.interactive()

获取shell


文章作者: 矢坕
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 矢坕 !
  目录