首页
论坛
课程
招聘
[讨论]第二题程序有栈溢出,好像不用计算串就行啊
2017-10-27 21:12 972

[讨论]第二题程序有栈溢出,好像不用计算串就行啊

2017-10-27 21:12
972
发现第二题有个栈溢出漏洞可以直接利用

第二题的程序,其实根本不用计算串是多少,因为有栈溢出漏洞。

如下图所示,在OD中下断点,如下图所示:

进入第一个函数,可以看到是一个标准的函数调用的过程:

此时,查看该函数的栈:

明显可以看到我输入的字符串1234在堆栈中,但是貌似并没有边界检查,因为如果我输入1234123412341234,如下:

可以看到出现了溢出,于是我找到了“you get it !”的地址,然后,通过溢出,将函数返回地址填上该地址,该地址如下:

于是构造字符串如下:

123412341234/^P@

得到如下结果:


^P 这个是ctrl+P,代表ascII码的0x10。

其中前面的123412341234是占位字符,

/^P@是地址0x0040102F,即“you get it”的地址。

然后这个地址覆盖了返回地址,所以就直接执行到了“you get it”


小弟新手,希望大家多多指教,提一些建议。。



[培训]12月3日2020京麒网络安全大会《物联网安全攻防实战》训练营,正在火热报名中!地点:北京 · 新云南皇冠假日酒店

收藏
点赞0
打赏
分享
最新回复 (0)
游客
登录 | 注册 方可回帖
返回