首页
社区
课程
招聘
[求助]如何定位溢出点
发表于: 2017-8-5 14:58 6525

[求助]如何定位溢出点

2017-8-5 14:58
6525

本人萌新,现在从事web系统开发工作,对安全行业非常感兴趣

最近刚自学了汇编,但是并不十分精通,只是反汇编代码基本能看懂怎么走(但是为什么这么走,包含什么含义这个就不清楚了)

目前自学到堆栈溢出,对于溢出点的定位很模糊,看到一个帖子 http://bbs.pediy.com/thread-163806.htm 里面解答的人定位到了溢出点,而我自己去尝试的时候除了采用超长字符串一步步定位(或者以前看视频说的利用字符串段和字符串连续字符,比如aaaabbbbccccdddd这样去定位大概在哪段,然后利用abcdefg这样在段中定位到具体的溢出点),基本上我也只知道这样粗糙的定位方式,不知有什么更高效的定位?而且最重要的是如何确定一个程序是否存在这样的溢出点,难道只能对可疑程序采取超长输入这种“古老”的方式去试探?

请大神们不吝赐教!


[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

收藏
免费 0
支持
分享
最新回复 (12)
雪    币: 1090
活跃值: (61)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
愣是没人啊
2017-8-5 18:43
0
雪    币: 2
能力值: (RANK:10 )
在线值:
发帖
回帖
粉丝
3
空有一颗帮你的心,却没有相应的实力
如果亲对棋牌游戏有兴趣的话,可以来亿人棋牌玩玩哦,注册就可以领取20W游戏金币,体验不一样的感觉
2017-8-5 19:21
0
雪    币: 115
活跃值: (23)
能力值: (RANK:20 )
在线值:
发帖
回帖
粉丝
4




风雨同行十一

空有一颗帮你的心,却没有相应的实力[em_9]
如果亲对棋牌游戏有兴趣的话,可以来亿人棋牌玩玩哦,注册就可以领取20W游戏金币,体验不一样的感觉

来你  **  ,**  赌博  就别来骗坛子  的人了

2017-8-5 23:30
0
雪    币: 1090
活跃值: (61)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
2017-8-6 07:25
0
雪    币: 1090
活跃值: (61)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
移贴了
2017-8-6 13:48
0
雪    币: 315
活跃值: (25)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
7
能不能先给一个类似于90909090,或者是aaaabbbb的特征字符串作为输入,然后用OD进行调试,调试的时候进行搜索字符串,查看这个变量距离ret地址有多远,只要足够长到覆盖ret地址,那就是溢出字符串的最少长度了
2017-8-9 17:00
0
雪    币: 413
活跃值: (274)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
8
你可以看看那个局部变量是ebp减多少,有没有用ebp做索引,直接就可以计算出来的
2017-8-10 13:42
0
雪    币: 413
活跃值: (274)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
9
giantbranch 你可以看看那个局部变量是ebp减多少,有没有用ebp做索引,直接就可以计算出来的
例子,我的blog  http://blog.csdn.net/u012763794/article/details/53291788      里面搜索        “那么填充字符数量是252”      即可看到
2017-8-10 13:43
0
雪    币: 1090
活跃值: (61)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
筠溪 能不能先给一个类似于90909090,或者是aaaabbbb的特征字符串作为输入,然后用OD进行调试,调试的时候进行搜索字符串,查看这个变量距离ret地址有多远,只要足够长到覆盖ret地址,那就是溢出 ...
谢谢,感觉跟我提到的应该是相同的办法,都是通过顺序字符串查找
2017-8-10 15:54
0
雪    币: 1090
活跃值: (61)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
giantbranch 例子,我的blog http://blog.csdn.net/u012763794/article/details/53291788 里面搜索 “那么填充字符数量是252” 即可看到
非常感谢,通过ebp和入参做减法确定偏移地址
2017-8-10 15:55
0
雪    币: 292
活跃值: (850)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
12
楼主可以试试用mona,mona里有提供定位溢出点的代码,命令是  pattern  create  1000,就可以生成1000bytes的随机字符串,溢出后,eip或rip会跳转到随机字符串的某个字节,比如AABBCCDD,再用pattern  offset  AABBCCDD,就可以打印AABBCCDD在1000字符串偏移多少了,这样就知道在多少偏移位置来控制rip了
2017-8-12 16:19
0
雪    币: 1090
活跃值: (61)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
Keoyo 楼主可以试试用mona,mona里有提供定位溢出点的代码,命令是 pattern create 1000,就可以生成1000bytes的随机字符串,溢出后,eip或rip会跳转到随机字符串的某个字节, ...
感谢,原来还有这种操作
2017-8-15 07:39
0
游客
登录 | 注册 方可回帖
返回
//