iCMS前台存储型XSS漏洞

该漏洞CNVD-ID: CNVD-2019-10126
漏洞提交CNVD后,待CNVD公示才发出本文。
测试环境:
程序版本:v7.0.14
Windows + firefox + burpsuite + apache2 + PHP5.6.27(phpStudy集成环境)
iCMS官网:https://www.icmsdev.com/

一、漏洞分析

1、新用户注册时,输入注册邮箱,系统会自动查找数据库看是否已经注册。拦截检查的HTTP包。
BurpSuite里替换URI为:
/public/api.php?app=user&do=check&name=1&value=1&callback=confirm(document.cookie)&script=1
iCMS有第三方阿里云的全局过滤插件,过滤了alert等关键字和html标签。这里使用confirm替代alert可以绕过。
在这里插入图片描述在这里插入图片描述2、进入/app/user/user.app.php模块的function API_check()函数,该函数最后会调用/iPHP/core/iUI.class.php模块中的function json()函数。在json()函数中, G E T 获 取 c a l l b a c k 参 数 , 使 用 h t m l s p e c i a l c h a r s 过 滤 , 但 这 不 影 响 传 入 的 p a y l o a d 。 _GET获取callback参数,使用htmlspecialchars过滤,但这不影响传入的payload。 GETcallback使htmlspecialcharspayload_GET[‘script’]为真时输出script标签包含的数据,payload插入里边。
但这里是一个反弹型XSS,后边还需转换成存储型XSS。
在这里插入图片描述在这里插入图片描述

二、转换成存储型XSS漏洞

前台注册一个用户,发表一篇文章,将包含payload的URL插入里边。
发表文章前需要在后台添加一个文章栏目,这是任何一个使用该CMS的用户会需要做的事情。
在这里插入图片描述在这里插入图片描述添加栏目后需要刷新一下才能在前台显示栏目。
在这里插入图片描述前台用户发表一篇文章。
在这里插入图片描述
在这里插入图片描述在文章正文文字里添加超链接,或者插入一张图片插入超链接也可以。
在这里插入图片描述该CMS用户发表文章后需要管理员后台审核。Payload隐藏在超链接里边,一般是不会被发现的。
在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述最后,该漏洞成为了一个存储型XSS漏洞;任何查看该文章并点的访客都会触发该漏洞。

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值