本机测试,没有入侵任何客户,在这里下载的安装包:http://www.sangfor.com.cn/download/product/ac_data_center/DataCenter10.3_Setup.zip
这次发的包含2个SQL注射和1个任意文件下载
在说明漏洞前先说明下自带的防攻击措施
1、magic_quotes_gpc=ON
2、代码用zend加密过,可以用黑刀解密
3、系统自带攻击拦截,针对GPC,代码如下:
下面是漏洞描述部分:
一、任意文件下载1(需要登录)
问题文件:/src/download.php
这个洞没什么好说的,POC:
http://192.168.222.101/src/download.php?filename=../inc/dbinfo.conf
二、SQL注射1(需要登录,鸡肋)
问题文件:/src/downloadreport.php
function HistoryReportInfo位于/src/inc/class/data/customreport.php:
可以看到变量account_id直接进入了sql语句
最上面提到的正则拦截了union select,可以用8.0union select bypass之,最后POC:
可惜系统开了magic_quotes_gpc,没办法利用select into outfile getshell
三、SQL注射2(需要登录,可getshell)
问题文件:/src/getmailfile.php
看下罪魁祸首的问题函数getrequest:
开了magic_quotes_gpc也白搭,直接通过stripslashes去掉了“\”
这个地方要想利用还存在一个条件,就是必须存在A表(AC同步过来的行为审计表),既然装了外置DC,还可能会没有AC同步日志过来吗??这不是个问题
我这边没设备用来同步日志只能创建Atest表测试了:
需要bypass最开始说的正则,bypass方法和上面一样,用8.0union select代替\bunion select
最终getshell EXP: