数组越界溢出利用2--修改前方的某个字符串的长度位,将长度位改为较大数值

http://bbs.pediy.com/archive/index.php?t-155555.html

利用该数组越界漏洞,更改option cache前方的某个字符串的长度位,将长度位改为较大数值,这样该字符串就可以读取该字符串后面的所有数据,因为长度没有限制。通过获得该功能,先将该字符串所在虚拟空间的准确位置测算出。通过获得的准确位置和内存任意地址读取功能,获得刚才option数组的基地址。到此为止通过该漏洞已经具备了:从任意给定地址中读取数据和向任意给定地址中写入固定数据的功能。
通过获得的准确位置和内存任意地址读取功能,读取飞地中的ntdll.dll函数地址,进而获得ntdll.dll模块的基地址。为rop chain做铺垫。
通过获得的准确位置和内存任意地址读取功能,读取option对象的虚函数表的基地址,进而获得mshtml.dll模块的基地址。为rop chain做铺垫。(可选)
具备了读写功能后,伪造对象,来触发漏洞。具体为:使用optarray中的option的指针来替换option cache中的option元素中的CTreeNode指针,然后立即删除该option元素,导致原CTreeNode指针的位置指向的内存是释放内存,然后使用恶意数据填充到该内存处。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值