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

[求助]如何定位溢出点

2017-8-5 14:58
6142

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

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

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

请大神们不吝赐教!


[培训]科锐软件逆向50期预科班报名即将截止,速来!!! 50期正式班报名火爆招生中!!!

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




风雨同行十一

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

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

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