https://ctf-wiki.org/pwn/linux/user-mode/fmtstr/fmtstr-example/#_9
ftp程序,需要使用rxraclhm账号登录,提供了get、put、dir三个功能,分别读文件、上传文件、查看目录
其中get方法存在格式化字符串漏洞
所以需要先put一个文件,内容是payload,然后get这个文件
先测试一下偏移
结果:
看到tag偏移量是7
再测试一下,把put最后一行改一下:
确定偏移是7
dir方法:
开始构造payload:
把puts的地址改成system的地址,然后put一个文件,文件名为‘/bin/sh;’, 然后再调用dir, show_dir()函数会执行puts("/bin/sh;...")
也就是 system("/bin/sh;..."),反弹shell
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)