首页
社区
课程
招聘
关于exploit通用性
发表于: 2010-4-3 00:29 5096

关于exploit通用性

2010-4-3 00:29
5096
问题一:
最近在学习exploit编写。学习了《Exploit 编写系列教程第一篇.pdf》,根据提示做试验。经过几天的折腾最终调试出来了。但拷贝到其他计算机上运行失败。跟踪一下发现是由于返回地址覆盖不一样的结果。请问对于同一个软件漏洞针对不同的环境exploit通用性是如何做到的?

问题二:
同时希望大家推荐基本关于exploit,shellcode和漏洞挖掘技术讲解比较深入,好的教材。可以是电子资源,也可以是书籍,failwest的书我已看完就不用推荐了哈。
小弟不胜感激!

[课程]FART 脱壳王!加量不加价!FART作者讲授!

收藏
免费 1
支持
分享
最新回复 (10)
雪    币: 75
活跃值: (623)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
2
楼主不是故意给你抬杠,既然楼主已经把failwest的书看完了,关于通用性的问题应该就清楚了吧
2010-4-3 03:06
0
雪    币: 71
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
问题一:
最近在学习exploit编写。学习了《Exploit 编写系列教程第一篇.pdf》,根据提示做试验。经过几天的折腾最终调试出来了。但拷贝到其他计 算机上运行失败。跟踪一下发现是由于返回地址覆盖不一样的结果。请问对于同一个软件漏洞针对不同的环境exploit通用性是如何做到的?

答案: 2楼说的正确,你确实没好好看书,不同语言系统,甚至不同sp的情况下,有一些跳转地址都是一样的,所以可以构造比较通用的,比如通用的跳转JMPESp,poppoppopret,还有一些页码地址也是通用的。

问题二:
同时希望大家推荐基本关于exploit,shellcode和漏洞挖掘技术讲解比较深入,好的教材。可以是电子资源,也可以是书籍,failwest的 书我已看完就不用推荐了哈。
小弟不胜感激!

答案:failwest的书看完 ,我也看完了,但为了巩固,建议你多看几次,练习多做几次,然后可以看看xfocus的网络渗透技术。
2010-4-3 04:36
0
雪    币: 236
活跃值: (25)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
4
我是通过jmp esp实现的。但是把jmp esp的地址覆盖到返回地址上也会根据具体环境而定啊。我的就是这个问题搞不定。呵呵。
2010-4-3 13:24
0
雪    币: 433
活跃值: (1875)
能力值: ( LV17,RANK:1820 )
在线值:
发帖
回帖
粉丝
5
先说明一下,《Exploit 编写系列教程》是基于windows XP 操作平台的
2010-4-3 15:13
0
雪    币: 236
活跃值: (25)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
6
我的环境就是xp sp3,但同学的还是xp sp3。跨操作系统那是很难的。
2010-4-3 18:17
0
雪    币: 928
活跃值: (26)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
7
不知道你用的是哪个地址,有时间的话可以试试看0x7E413A44,看看这里是不是user32.dll(xp sp3)的jmp esp地址呢?

如果不行,再看看:
0x7c9d30d7

补充:真正非常通用的地址是比较难找的,用系统dll中的jmp esp地址,当然它会更加固定和精确,但会与系统版本有关。

PS:曾经有一个中文版(中文版!)2000/xp/2003通用地址0x7ffa4512,这个在xp sp3上是不是有效俺不清楚,因为俺没用过xp:(

BTW:你的文章标题其实应该修改一下
exp通常指“漏洞的利用程序或方式、方法”,这个“漏洞”种类很多;你所说的exp,我理解大概是“缓冲区溢出漏洞利用程序”,这个“漏洞”是有定语的,有限制条件的,因此有点狭隘了;举个例子,比如你发现一个被广泛使用的web app存在一个表单绕过漏洞(缺陷),你写了个脚本来利用它,你这个脚本绝对可以称为exp,但这个exp不会面临你所说的“返回地址覆盖”的问题;如果你的标题改为“溢出exp编写中返回地址覆盖的通用性问题(基于XP SP3环境,选择JMP ESP方式)”,个人感觉会更精确和严谨。至少我看到你的标题觉得太宽泛了——exp的通用性,这个问题牵扯的话题就太多太多了。

不知道有没有用,希望有点帮助吧,有说错的地方,请大家多批评指教!

关于推荐的阅读资料,我觉得你看的那些已经很经典了啊,看雪翻译的这一系列教材,也非常好啊,而且作者非常仔细、严谨,写得文章很详细,这些都是值得反复阅读体会的,再剩下的,就是开动脑筋、锻炼思维、培养思路等问题了。你这个问题也就演变成:如何在XX环境下,寻找通用jmp esp地址?或者,除了jmp esp之外,还有什么更好的方法让溢出程序顺利跳转到我们的shellcode?等等……那就更像方法论的问题,至少是思路相关的问题啦。
2010-4-4 11:58
0
雪    币: 236
活跃值: (25)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
8
我用的是0x77d8508c。我的标题好像是写宽了点。呵呵
下次一定写准确点。
对大家提出的问题和意见。我这些过了哈!
2010-4-4 21:12
0
雪    币: 289
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
mark一下,failwest是什么?
2013-3-30 13:32
0
雪    币: 99
活跃值: (96)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
0 day 软件漏洞一书的作者ID,好像看雪的
2013-3-30 15:07
0
雪    币: 99
活跃值: (96)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
这是作者书的链接,还是看雪上面的
http://bbs.pediy.com/forumdisplay.php?f=95
2013-3-30 15:09
0
游客
登录 | 注册 方可回帖
返回
//