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

来源:互联网 发布:js 24小时时间插件 编辑:程序博客网 时间:2024/05/01 18:56

例子:   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> !exchain00125cd4: ccccccccInvalid 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 0x00100x100016fa pop esi; pop ebx; ret0x100018c3 pop ebx; pop ebp; ret0x10001b2d pop esi; pop ebp; ret0x10001c99 pop esi; pop ebp; ret0x1000202f pop ebp; pop ebx; retn 0x000c0x10002069 pop ebp; pop ebx; retn 0x000c0x100020b8 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; ret0x100200e1 pop ebx; pop ecx; ret0x100200fd pop ebx; pop ecx; ret0x10020133 pop ebx; pop ecx; ret0x10020147 pop ebx; pop ecx; ret0x10020209 pop ebp; pop ebx; ret0x10020214 pop ebp; pop ebx; ret0x100202c8 pop ebp; pop ebx; ret0x100202d0 pop ebp; pop ebx; ret0x100205d7 pop edi; pop esi; ret0x1002065b pop ebx; pop ecx; ret0x10020667 pop ebx; pop ecx; ret0x10020793 pop ebx; pop ecx; ret0x1002079b pop ebx; pop ecx; ret0x100207a4 pop ebx; pop ecx; ret0x1002083d pop esi; pop ebx; ret0x1002084e pop esi; pop ebx; ret0x100208dc pop esi; pop edi; 

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

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

最后改为 JE  才行

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

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


我勒个去·········居然不同文件名 报错不一样······m3u  和  mpf  居然不一样的出错···























0 0
原创粉丝点击