原理:crossfire 1.9.0 版本接受入站 socket 连接时存在缓冲区溢出漏洞。
工具:
调试工具:edb;
###python在漏洞溢出方面的渗透测试和漏洞攻击中,具有很大的优势
实验对象:crossfire【多人在线RPG游戏】
运行平台:Kali i386 虚拟机【32位,计算机CPU位数是指地址总线位数,64位系统的寻址空间为2^64,寻址过大,难以处理,为了简化操作,所以选用32位】
搭建实验环境
#linux中,游戏需安装带其game文件夹
服务器端程序
cp crossfire.tar.gz /usr/games/
tar -zxpf crossfire.tar.gz
./crossfire 运行
出现Waiting for connections即可,有问题看看Error
查看端口开放情况
可以看到crossfire进程已经开始监听本地13327端口
新版本Linux内核支持内存保护机制
DEP、ASLR、堆栈cookies、堆栈粉碎
今天实验内容使用的crossfire1.9程序相对来说比较简陋,不支持内存保护机制,对这个实验没有影响
本机调试【防止在渗透测试过程中的非法网络访问,以防被黑客入侵电脑】
iptables -A INPUT -p tcp –destination-port 13327 \! -d 127.0.0.1 -j DROP #只有通过本机访问本地网卡的13327
iptables -A INPUT -p tcp –destination-port 4444 \! -d 127.0.0.1 -j DROP #只有通过本机访问本地网卡4444
配置完之后可以使用iptables -L查看当前配置
我们使用的调试工具是edb-debuger
application应用–>reverse_engineering逆袭工程–>edb-debuger
#开启调试 edb –run /usr/games/crossfire/bin/crossfire