本人萌新,现在从事web系统开发工作,对安全行业非常感兴趣
最近刚自学了汇编,但是并不十分精通,只是反汇编代码基本能看懂怎么走(但是为什么这么走,包含什么含义这个就不清楚了)
目前自学到堆栈溢出,对于溢出点的定位很模糊,看到一个帖子 http://bbs.pediy.com/thread-163806.htm 里面解答的人定位到了溢出点,而我自己去尝试的时候除了采用超长字符串一步步定位(或者以前看视频说的利用字符串段和字符串连续字符,比如aaaabbbbccccdddd这样去定位大概在哪段,然后利用abcdefg这样在段中定位到具体的溢出点),基本上我也只知道这样粗糙的定位方式,不知有什么更高效的定位?而且最重要的是如何确定一个程序是否存在这样的溢出点,难道只能对可疑程序采取超长输入这种“古老”的方式去试探?
请大神们不吝赐教!
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课
风雨同行十一 空有一颗帮你的心,却没有相应的实力[em_9]如果亲对棋牌游戏有兴趣的话,可以来亿人棋牌玩玩哦,注册就可以领取20W游戏金币,体验不一样的感觉
来你 ** ,** 赌博 就别来骗坛子 的人了
giantbranch 你可以看看那个局部变量是ebp减多少,有没有用ebp做索引,直接就可以计算出来的
筠溪 能不能先给一个类似于90909090,或者是aaaabbbb的特征字符串作为输入,然后用OD进行调试,调试的时候进行搜索字符串,查看这个变量距离ret地址有多远,只要足够长到覆盖ret地址,那就是溢出 ...
giantbranch 例子,我的blog http://blog.csdn.net/u012763794/article/details/53291788 里面搜索 “那么填充字符数量是252” 即可看到
Keoyo 楼主可以试试用mona,mona里有提供定位溢出点的代码,命令是 pattern create 1000,就可以生成1000bytes的随机字符串,溢出后,eip或rip会跳转到随机字符串的某个字节, ...