手机客户端接口存在SQL注入,SELECT注入无关键字过滤,理论上可以获取任意数据。
:
代码:
displayorder参数过滤不正确导致SQL注入。
"displayorder":"rtime> abd #desc"时返回数据库错误:
"displayorder":"rtime> limit 1 #desc"返回一行数据:
手机客户端接口没有太多的过滤,可以注入SELECT语句,为了绕过WAF,我们需要把SELECT语句转换一下:"SELECT" => "SEL<A>ECT"等等,随手写个sqlmap的tamper script来帮助绕过WAF。
获取一下数据库名:
18 $arr[1]=preg_match('/asc|desc/',$arr[1])?$arr[1]:"desc";
=>
18 $arr[1]=preg_match('/asc/',$arr[1])?"asc":"desc";