昨天爆出来的,但其实在此之前就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=%*
可以看到鑫号(*)也是被过滤的。如果他直接将*替换为空以后那么就组合成了%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&