pwn1_sctf_2016 1
打开ida反汇编看一下,是c++,无所谓,复制问一下ai
先让我们输入s的数据,读取长度限制在32字节。然后replace函数会将s里面的 I 替换成 you 。最后输出s。
分析一下,s距离ebp为0x3C(60字节),且我们最多只能输入32字节的,但经过replace函数,一个字节的‘I’会被替换成三个字节的‘you’。
那么如果我们输入20个字节的‘I’,会被替换成60个字节的‘you’,而s离ebp刚好60个字节,然后再加4字节(因为是32位程序)的数据覆盖ebp,就可以造成栈溢出漏洞了。
找一下后门函数的地址,编写exp(其实整道题最难的就是c++,毕竟看不懂):
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~