sql-lab 11-20关通关秘籍

前言
经过前面10道题的学习与理解,后面的这10道题,会相对来说较容易理解,11-20关均为post传递,可以用burrp_suit或者hackbar进行注入。
Less-11
主要运用单引号闭合的联合注入
1.模拟真实环境,DUmp用户使用Dump密码登录,
2.进行注入点的判断。
3.使用 1’ or 1=1#找到他的闭合方式。
sql-lab 11-20关通关秘籍
4.接下来找出有多少个字段。 ( -1’ order by 3# )
接下来就是一般的联合注入法了,还是一次进行数据库、表、字段、用户的**,详细见上一篇的内容。
Less-12
基本方式与11关相似,闭合方式为 ")

Less - 13
post提交参数,报错注入 ')
基于post提交数据的报错注入(GET一样的操作,不一样的位置)
Less-14
POST提交参数,双引号闭合方式 ")
Less- 15
POST提交参数,单引号闭合,时间延迟型注入
Less-16
双引号加括号闭合,时间延迟性注入,15;16关较为相似。
Less- 17
这一关与上面的关卡不一样,会用到新内容。单引号报错型,注释符可用,这里对uname做了check_input的处理,函数如下
sql-lab 11-20关通关秘籍
只截取15个字符

get_magic_quotes_gpc()

当magic_quotes_gpc=On的时候,函数get_magic_quotes_gpc()就会返回1

当magic_quotes_gpc=Off的时候,函数get_magic_quotes_gpc()就会返回0

magic_quotes_gpc函数在php中的作用是判断解析用户提示的数据,如包括有:post、get、cookie过来的数据增加转义字符“\”,以确保这些数据不会引起程序,特别是数据库语句因为特殊字符引起的污染而出现致命的错误。
针对password的**,使用updatexml(),爆库payoad,爆表payload,爆列名payload,爆值payload。
uname=admin&passwd=admin’ and updatexml(1,concat(0x7e,(select password from (select password from users where username=‘admin’))),1) --+ &submit=Submit
最后payload
sql-lab 11-20关通关秘籍
注入完成。这道题我也是在网上找了很多大佬的资料才完成。
Less-18
这道题需要提前把账号密码输入正确,http头部报错注入字段 [ ’ ]
1.通过**抓取数据包,sql-lab 11-20关通关秘籍
sql-lab 11-20关通关秘籍
接下来,还是一次进行数据库,表,字段的**。最后通过修改limit后面的数值,查询每个用户的账号与密码。
Less-19
http头部报错注入 [ ’ ]
修改**抓取的数据包,与18关用到方法差不多,19关修改http头里面的referer,但是有一点19关我们需要注入的语句需要减少一共凑字段的1. 注入语句原型为:’ or updatexml(1,concat(’#’,(clause),’#’),1),1)#
Less-20
Cookie注入,报错注入 [ ’ ]
cookie头字段注入
sql-lab 11-20关通关秘籍
至此,sql-lab前20关攻略已全部写完,会有很多瑕疵,大佬勿喷。