这只是一个小问题
但是安全无小事,小问题也会导致大问题
多家CMS厂商因同一原因导致SQL注入防御被绕过,可进行SQL注入,大致看了下只要是使用了360webscan的CMS厂商基本上都存在问题:
1、直接拿过来用,都不带检查和修改的
2、虽然拿过来用了,修改了,但是自己的另一套防御还是没修复
所以,个CMS们,在使用被人的东西时,都检查下是否真的对,安全无小事。
这里问题主要就出在360webscan上了
我们分别来看看这个360webscan的不同版本的代码,不同版本,从高到低都有同样问题
cmseasy最新版使用的WEBSCAN_VERSION:0.1.2.7
来看看他们的防御代表:
easytalk使用的WEBSCAN_VERSION:0.1.2.2
看看防御正则代码:
phpyun最新版使用的WEBSCAN_VERSION:0.1.1.9
虽然在这里没有上面的问题,但是在phpyun自己的防御db.safety使用了原始的360webscan
来看看防御代码:
thanksaas使用了360webscan,但是在发布的版本中没有放入防御模块
其他的cms没有意义查看,上面这些使用了360webscan的至少都存在问题
问题点:
大家看到三个GPC的正在中有过滤延时盲注的必须关键字:benchmark和sleep
他们的正则为:
匹配benchmark时,benchmark后面有括号,然后有数字即防御成功
匹配sleep时,sleep后面有括号,然后由数字或者点组成的内容,然后还有一个括号,这样的才满足防御成功。
所以问题就出在sleep这里:
所以在延时盲注时使用sleep(1*1)或者sleep(1/1)即可成功绕过,虽然过滤了benchmark和sleep关键字,还是会存在问题
cmseasy证明:

sleep被拦截

成功绕过
cmseasy中也存在很多类似问题,不在一一列举
phpyun最新版证明:

sleep被拦截

成功绕过
php云中,这种问题很多,就不在全部列出来了
文件/member/model/com.class.php中,至少存在3+处此类问题
easytalk和thinksaas就不在一一列举处漏洞实例了。
这里主要说明这个小问题