PHPMyWind存储XSS漏洞 (CVE-2017-12984)

一、漏洞原理

message.php中对content传入的字符进行了htmlspecialchars过滤

然后跟进$content参数,在admin/message_update.php中,可以看到直接读取content内容并显示,造成XSS漏洞

二、漏洞影响版本

phpMyWind version <= 5.4

三、漏洞演示

可以自己搭建PHP环境进行漏洞演示,或直接用ichunqiu搭建好的环境进行演示

1、访问网址,在首页–客户留言 部分输入XSS测试代码

<img src=# onerror=alert(“hehe”);>

2、后台管理员登录后对留言进行修改时,触发XSS,可以看到弹窗。证明漏洞是存在的

3、在前端客户留言部分输入XSS Payload

4、本地开启nc.exe对8888端口进行监听,当后台管理员处理输入的留言时,nc端收到后台的cookie

5、另开一个浏览器(模拟攻击场景),输入/admin/登录,然后修改cookie,刷新页面,登录成功

6、在网站信息配置 — 附件设置 中修改上传图片类型(注意PHP后边有个空格)

7、本地新建PHP一句话木马

8、在后台中查找上传点

9、使用burpsuite在上传时抓包,修改filename为1.php (后边跟一个空格)

10、此时上传成功,直接返回上传后的PHP路径

11、访问此路径,可以看到一句话木马内容,说明上传和访问都OK

12、菜刀连接成功拿到webshell

13、在菜刀命令行界面添加管理员和管理权限

14、查看到目标3389端口已经开放

15、mstsc远程登录,拿到C盘下flag.txt

三、漏洞防护

升级phpmywind为最新版本

四、参考资料

https://nvd.nist.gov/vuln/detail/CVE-2017-12984#vulnCurrentDescriptionTitle

https://www.ichunqiu.com/course/60909

https://www.exploit-db.com/exploits/42535/

您可能还喜欢...