Firefox vulnerability(CVE-2011-0065 ) Bypassing DEP

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Firefox vulnerability(CVE-2011-0065 ) Bypassing DEP

Auth: Cryin’

Date: 2011-09-28

今天在微博看到一篇文章《Breaking the shield: Bypassing ASLR/DEP》这个文章讲的是关于绕过ASLR/DEP的方法,讲的还是比较容易懂的。里面利用的漏洞就是今年Firefox3.6.16爆出的漏洞,CVE编号是CVE-2011-0065 。这两天比较闲就自己动手实践下

调试环境:Windows XP sp3+OD+Firefox3.6.16

方法:Ret2libc之VirtualProtect

在开启DEP情况下如果程序从堆栈中是不能执行指令的,不过使用API函数VirtualProtect 可以修改指定内存为可执行属性。布置好参数并跳至VirtualProtect函数即可绕过DEP保护。漏洞触发的位置:

大概思路就是先确定可以控制的寄存器。这里这个漏洞的话eax或ecx都直接或间接指向堆块,所以先交换到esp中就可以布置栈内的数据了,这个xchg我找了很久没找到合适的,在msf里面看的!

现在栈里面就是之前布置好的数据了,程序转入VirtualProtect函数执行

VirtualProtect的参数要根据你堆的地址及shellcode的大小来布置。现在就可以利用jmp esp 转到shellcode执行

大概思路是这样,但真手动实现起来还是很麻烦的,自己要布置上面的这些地址及VirtualProtect的参数。

最后给出弹calc的poc~~

相关文档
最新文档