首页 | 安全文章 | 安全工具 | Exploits | 本站原创 | 关于我们 | 网站地图 | 安全论坛
  当前位置:主页>安全文章>文章资料>漏洞检测>文章内容
windows溢出随笔
来源:vfocus.net 作者:vfocus 发布时间:2004-05-22  

windows溢出随笔


1.一般栈溢出比堆溢出更容易利用,也更稳定

2.在决定动手写一个通用shellcode之前,最好先在各种windows版本下把漏洞分析一遍,包括win2k、xp、2003,各种语言版本,不同的sp版本可能漏洞症状也不同

3.不要试图在不同版本的windows里寻找不同跳转方式的相同地址,就是说,不要在win2ksp4简体中文版里的某个进程里搜索所有的jmp esp(ff,e4)的地址,在winxpsp1英文版里的某个进程里搜索所有的push esp,ret(54,c3)的地址,然后妄图比较出一个相同的地址。除非是加载在0x00400000位置的进程

4.如果用覆盖异常的方式接管指令,要注意到xp和2k是不同的。如果要写通用程序,最好用pop,pop,ret的方式,xp下不能用类似jmp ebx的方式。

5.如果要先搜索内存里的shellcode,先接管异常。xp不允许执行栈中的代码,所以需要在异常处理链里写入另一个跳转地址,再返回到栈中。或者之前就是通过覆盖异常的方式接管指令的话,现在可以直接利用了。

6.UNICODE编码比较麻烦,最好能绕过去。绕不过去时,XOR 99是个比较通用的方法

7.指令跳转只能依靠这几种指令:jmp,call,ret。绝大部分漏洞都只能尝试寻找这些指令地址

8.除了esp,ebx,还有其他方法可以定位shellcode,分析漏洞时,不妨把当时的所有寄存器都看一遍,有时保存在堆栈里的地址更有用。把上下文的调用函数也看一遍,利用它们定位可能效果更好

9.栈溢出时,如果能覆盖到ret但离溢出点太远且不能尽快跳过去,尝试覆盖异常,如果异常地址也很远不能覆盖到,试试其他方法(格式化字符串溢出?)或放弃

10.分析完一个漏洞后,写合适的shellcode往往是最难的,限制远比你想像的多,每个漏洞的利用都是耐心和创造力的考验

11.穷途末路时,先去睡一觉 :-) 。有想法时,不要想当然,任何问题都可能发生,一定要实验证明。



 
[推荐] [评论(0条)] [返回顶部] [打印本页] [关闭窗口]  
匿名评论
评论内容:(不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
 §最新评论:
  热点文章
·MS07-014调试手记
·udp_sendmsg空指针漏洞分析
·一段对perl 木马的分析
·小心我“DIR”溢出你!
·CVE-2010-4258漏洞分析
·Adobe Reader 'CoolType.dll' TT
·PHPBB<+2.0.10 漏洞说明
·袁哥写的漏洞研究方法总结
·利用异常处理执行shellcode实例
·注入点检测新方法
·Apache mod_ssl buffer over分析
·RPC漏洞的通用分析方法
  相关文章
·AIX捉虫记之invscoutd
·Acrobat Reader5.1漏洞分析
·Win2k LDT漏洞初探
·Apache mod_ssl buffer over分析
·雪人论坛的Sql Injection的漏洞
·分析ms locator vul
·Ofstar和phpind论坛安全性分析
·分析server-u site chmod 漏洞
·水晶论坛(WDB)安全性分析
·Serv-U MDTM命令远程溢出分析
·UPD论坛安全性分析
·袁哥写的漏洞研究方法总结
  推荐广告
CopyRight © 2002-2022 VFocuS.Net All Rights Reserved