幻影旅团溢出学习材料 cloie#www.ph4nt0m.org
Win32 缓冲区溢出实战
原文:《Intro to Win32 Exploits》
作者:Sergio Alvarez 2004.09.05
译者:cloie#ph4nt0m.org 2004.10.30
一、前序
很多次被朋友邀请写篇关于在Win32下Exploit的文章。一来是因为此
类文章中关于*nix 平台比较多,而Win32相对较少;二来是因为在Win32
中写exploit有些地方可能困难一点。以下我将用一个具体的简单例子,详
细分析漏洞的发现挖掘、调试以及exploit编写利用,这里选择'War-FTPd
vl.65' 的一个stack缓冲区溢出漏洞。
首先,需要准备以下实战工具:
python - www.python.org
pyOpenSSL - http://pyopenssl.sourceforge.net/
Ollydbg - http://home.t-online.de/Ollydbg/
OllyUni by FX of Phenoelit - http://www.phenoelit.de
War-Ftpd version 1.65 by jgaa - http://www.jgaa.com
Fuzzer vl .0 - http://hack3rs.org/~shadown/Twister/
( 译 者 注 )因为pyOpenSSL可以找到针对python 2.2.x的win32编译版,所
以python安装2.2.x会比较方便。
二、挖掘漏洞
能够实时调试在漏洞挖掘过程中,是非常重要的,可以知道究竟发生
了什么。下面用Ollydbg打开要调试的程序'War-FTPd vl.65':
♦运行 'Ollydbg'
♦File->Open (or press F3) (图一)
♦浏览到安装 'War-FTPd vl.65' 的目录然后选择
'war-ftpd.exe' file (图二)
♦Debug->Run (or press F9) (图三)
♦在War-Ftp 窗口菜单中运行->'Start Service'(图四)
启动程序后,可能会有些explaination,按照提示(shift+F7/F8/F9)跳过
即可。不管程序是由Ollydbg(其他调试工具也一样) 启动(Open)的,还是
附加(attached)方式的,进程都将被调试器挂起,我们需要使程序继续运行。