pwn溢出做题思路:
理论参考大佬级别入门博客:https://www.jianshu.com/p/187b810e78d2
实战参考博客:https://blog.csdn.net/qq_38204481/article/details/80099622
相关理论知识:https://www.cnblogs.com/ichunqiu/p/11196219.html
。
。
1.先nc目标的端口,运行程序,查看和记录程序的作用。
将文件放进Linux下,然后file 文件查看文件是动态的链接,
还是静态的链接;是64位,还是32位的。
2.提高得到二进制文件的权限,再然后查看程序的保护措施:checksec+文件名
NX是文件堆栈不可执行,Stack是栈溢出保护
3.再运用相对应位数的ida,(特别注意可能存在ida版本型号的不对,无法打开文件的问题),
对程序反编译,先查找关键的字符串,然后再对程序运用f5反编译主函数,找到可以利用的漏洞。
语句查看{cyclic -l xxxxxxxxxxx(地址)},cycylic 100,还gdb ./
例如:溢出的,首先先找到可以利用溢出的代码,然后计算相对应得栈的大小,
然后构造对应的payload,例如:payload = 'a' * 0x14 + 'bbbb' + p32(success_addr)
4.剩下的就是经验了,和相关的知识,多刷点题,总结遇见的知识点。
。
。