昨天爆出來的,但其實在此之前就i記得在某群看見有大牛在群里裝逼了。一直也沒肯告訴。現在爆出來了。就來分析一下。官方現在也還沒給出修復。該文不給出任何利用的EXP。
該文只做安全研究,不做任何惡意攻擊!否則一切后果自負!
問題函數:swfupload_json
所在所在地址:phpcms/modules/attachment/attachments.php
看到src這個參數被safe_replace函數給處理了。跟進這個函數看一下是如何處理的。
跟進函數:safe_replace
函數所在地址:phpcms/libs/functions/global.func.php
從過濾中可以看出,過濾了%27如此單引號就沒戲了?不然!倘若是
127.0.0.1/xishaonian.php?id=1%*27
可以看到鑫號(*)也是被過濾的。如果他直接將*替換為空以后那么就組合成了%27
這里分析出該處可能含有注入繞過以外那么我們來追蹤一下src這個變量。
再來回到swfupload_json函數
$arrr被進行了json_encode
不太懂json_encode。臨時學習了一下:
很不錯的函數介紹:http://www.nowamagic.net/php/php_FunctionJsonEncode.php
這個函數的功能是將數值轉換成json數據存儲格式。
這好尷尬啊,json數據儲存格式還是不懂.
然后又經過了param::get_cookie是加密為cookie
然后定位到這個函數:init()
函數所在地址:phpcms/modules/content/down.php
sys_auth是phpcms中自帶的一個加密函數。
decode是把它原來加密jion的又解密回來了。
TMD 看了一下 確實跟造輪子似的。PS:該文參考95zz微信公眾號發出來的所撰寫。
payload:/index.php?m=attachment&c=attachments&a=swfupload_json&aid=1&src=&id=%*27 and updatexml(1,concat(1,(user())),1)#&m=1&f=haha&modelid=2&catid=7&