[代码审计]:PhpMyWind储存型XSS漏洞(CVE-2017-12984)
简介
今天开启一下代码审计的篇章 python安全编程剩下的看起来没意思就结束了 ,现在规划每2周写一个爬虫练练手, 然后今天开启代码审计和Docker的学习
我个人感觉先看漏洞利用过程再看漏洞分析比较好点
phpmywind 5.3
漏洞影响版本:phpMyWind version <= 5.4
测试版本:phpMyWind 5.3
下载地址:链接:https://pan.baidu.com/s/1uv6tD4YCAx2dJi_mh9puRg 提取码:ld4n
漏洞利用:
漏洞页面 我们提交恶意弹窗代码
后台登陆到留言管理点击修改
此时XSS漏洞发生
漏洞代码分析:
我们先看我们message.php的页面 这里我们可以看到我们输入的内容会传给这几个变量而这几个变量会将我们输入的内容用htmlspecialchars()进行转义这样我们输入的标签符号都会被转义成HTML实体
message_update.php 后台留言修改页面 直接从数据库读取然后拿来用看似应该没有什么问题可以XSS为什么发生了 带着这个疑问我在测试页面又同时在联系方式框也输入了我们的XSS代码此时还是只有一个弹窗。通过审查元素分析我们在练习方式框输入的XSS因为长度关系被截断了。
在代码中直接打印出留言的内容发现XSS以html实体的方式输出 说明出问题的点在我们留言内容标签内 最后上网查资料才了解到问题出在编辑器上 编辑器会自动解码最终产生XSS
修复方案
既然问题出现在留言内容代码区域那么我们在它内部为他单独在用htmlspecialchars()转实体下即可
模拟实战:https://www.cnblogs.com/Rain99-/p/10701769.html