首页
社区
课程
招聘
[翻译]Exploit 编写系列教程第十篇:用ROP束缚DEP-酷比魔方
发表于: 2010-9-23 21:39 25859

[翻译]Exploit 编写系列教程第十篇:用ROP束缚DEP-酷比魔方

2010-9-23 21:39
25859
收藏
免费 7
支持
分享
最新回复 (32)
雪    币: 370
活跃值: (15)
能力值: ( LV9,RANK:170 )
在线值:
发帖
回帖
粉丝
26
辛苦了
自己看懂,用生动不失专业的语言写出来让人看懂,需要一定语言境界
更佩服lz耐心和共享精神

有人说,看一遍,翻译一遍,校对一遍,可以加深知识掌握程度,估计不假,也聊以自慰
2010-10-25 20:56
0
雪    币: 203
活跃值: (45)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
27
楼主辛苦了,收藏!
2010-12-23 19:08
0
雪    币: 393
活跃值: (150)
能力值: (RANK:110 )
在线值:
发帖
回帖
粉丝
28
纠错两个地方,
其一:
对不同版本的Windows操作系统的默认设置是:
●Windows XP SP2,XP SP3,Vista SP0:OptIn(XP SP3也有永久的DEP)
●Windows Vista SP1:OptIn+AlwaysOn(+永久的DEP)
●Windows 7:OptOut+AlwaysOn(永久的DEP)
●Windows Server 2003 SP1和更高的:OptOut
●Windows Server 2008和更高的:OptOut+AlwaysOn(+永久的DEP)


其实Windows 7的DEP默认设置和XP SP2、SP3是一致的,在 Windows 7 中, DEP 默认是激活的。不过, DEP 不能保护系统中所有运行的应用程序,实际 DEP 能够保护的程序列表由 DEP 的保护级别定义。
详见http://technet.microsoft.com/zh-cn/library/ee958057.aspx

其二:
这种方法有个问题。由于你要写入一个 R+E 区域, shellcode 不能修改自己 。
WriteProcessMemory 调用会暂时将位置标记为可读,但是又去掉这个级别)这意味着,
如果你用编码的 shellcode ( 或者会修改自身的 shellcode ) , 将不会成功 。 由于坏字节这也是一个问题等等。

其实原文为该函数调用会暂时讲位置标记为可写——
There is a problem with this approach. Since you will be writing to a R+E area, the shellcode will not be able to modify itself. (The WriteProcessMemory call will temporarily mark the location as writeable, but removes the level again.) This means that, if you are using encoded shellcode (or shellcode that modifies itself), it will not work. This can be an issue because of bad chars etc.

一字只差,理解起来却是千差万别。
2011-1-10 21:57
0
雪    币: 363
活跃值: (338)
能力值: ( LV15,RANK:310 )
在线值:
发帖
回帖
粉丝
29
windbg兄弟辛苦了!
2011-1-11 11:10
0
雪    币: 116
活跃值: (316)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
30
LZ辛苦了,学习学学习去,很好的教程
2011-1-12 11:36
0
雪    币: 363
活跃值: (338)
能力值: ( LV15,RANK:310 )
在线值:
发帖
回帖
粉丝
31
多谢windbg兄弟的纠错!有空我会再审查一遍!
2011-1-12 15:41
0
雪    币: 802
活跃值: (4433)
能力值: ( LV12,RANK:260 )
在线值:
发帖
回帖
粉丝
32
谢谢dragonltx
2011-7-6 14:37
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
33
多谢LZ将自己的知识共享!
2012-1-6 11:43
0
游客
登录 | 注册 方可回帖
返回
//