DVRF stack_bof_01 Exploit

在wiremask中生成测试300长度的字符串,运行程序设置端口在gdb中进行调试

在gdb中执行,得到PC值为0x41386741

计算的偏移为204

使用Ghidra工具进行程序分析,需要跳转到dat_shell函数处执行,以获取系统执行权限

分析dat_shell汇编,入口地址在0x00400950,前几条语句是设置$gp

设置两个断点,在0x50和0x5c处,gdb运行调试时,出现未识别出函数入口问题

程序继续执行,最终停在0x70处,且段错误

将payload的返回地址改为0x0040095c之后,gdb调试依然相同错误,但是运行之后是在0x60地址,没有报段错误,且正常退出

在程序执行窗口也可以看到已成功执行dat_shell

参考资料

https://wiremask.eu/tools/buffer-overflow-pattern-generator/

https://www.praetorian.com/blog/reversing-and-exploiting-embedded-devices-part-1-the-software-stack?edition=2019

https://busy.org/@security101/exploiting-firmware-binarys-using-a-bufferoverflow-a-practical-tutorial

您可能还喜欢...