CTF比赛PWN题解题思路(一)题目一运行程序如下输入1提示no username用IDA对程序进行逆向需要输入admin才能继续程序漏洞点是在输入用户名的地方存在栈溢出方法一使用gdb进行调试在main函数处设置断点单步调试ni到func函数处进行步入(si)单步调试到名字输入的位置输入足够长度的字符串计算引起溢出的字符串长度有两种方法第一种包括admin所以长度为56将返回地址覆盖成程序中我们想让其返回的地址这里我们通过IDA查找危险函数这里有危险的shell函数地址为0x405D36, 因为小端存储因此我们需要写入365D40字符串为6]最终payload为admin51个字符6]成功获得shell方法二根据变量长度计算空间大小再加上8比特编写脚本题目二首先查看伪代码栈空间建议使用gdb进行调试伪代码查看可能不准确程序最终的判断是v7和v5相等即可得到shellv7是程序里的v5是我们的输入然后这里data可以输入0xc0个字节这里可以覆盖v7的地址空间。因此本题的解题思路是输入data覆盖掉v7然后输入已知的数据获得shell。编写脚本获得shell题目三查看伪代码 gets处存在栈溢出必须首先输入设定的字符串但是溢出后的返回地址程序里面并没有明显的shell但是有bin/sh字符串和system函数可以利用获取RDI地址编写脚本获得shell题目四类似于题目三不同点在于没有/bin/sh字符需要使用gets函数写入使用gdb调试vmmap命令获得可写的地址空间编写脚本写入/bin/sh获得shell文章来自网上侵权请联系博主网安学习资源网上虽然也有很多的学习资源但基本上都残缺不全的这是我们和网安大厂360共同研发的的网安视频教程内容涵盖了入门必备的操作系统、计算机网络和编程语言等初级知识而且包含了中级的各种渗透技术并且还有后期的CTF对抗、区块链安全等高阶技术。总共200多节视频100多本网安电子书最新学习路线图和工具安装包都有不用担心学不全。这些东西我都可以免费分享给大家需要的可以点这里自取:网安入门到进阶资源