sqli-labs笔记
1--10关,GET方式注入
先欠着
11--20关,POST方式注入
Less11--联合注入【’】
先在username的框里内容后面插个单引号
查看错误信息后可知用户输入信息被单引号包裹,所以构造单引号截胡后先猜字段数再用联合查询,注意这里的注释只能用#
uname=dumb' order by 2#&passwd=&submit=Submit
uname=任意错误内容' union select 1,2#&passwd=&submit=Submit
Less12--联合注入【")】
跟上一关一样,可以发现是用双引号加上括号包裹,剩余步骤一样
Less13--报错注入【’)】
老办法判断得是用单引号加括号包裹,但是继续注入发现执行成功以后就没有回显了,说明是报错注入
uname=任意内容') and updatexml(1,concat(0x7e,database(),0x7e),1) #&passwd=&submit=Submit
Less14--报错注入【"】
同上,包裹形式变成了双引号
Less15--布尔盲注【’】
这一关不管输入什么页面也只有两种形态,成功登录和登录失败。经过多种尝试后发现可能是用单引号包裹的。
uname=dumb' and ((select count(*) from information_schema.tables where table_schema=database())=4)#&passwd=&submit=Submit #判断当前数据库表数
Less16--布尔盲注【")】
同上一关,包裹形式变成了双引号加上括号
Less17--报错注入【’】
这一关不一样的地方是要在第二个提交参数的地方注入(passwd=)着实有点坑,测试后发现是报错注入,单引号包裹,方法略
注:这关通过后记得把密码改回原来的,方便后面过关
Less18--HTTP头部报错注入之user-agent【’】
这关的提示是头部user-agent注入,这里贴个大佬的帖子https://blog.csdn.net/ga421739102/article/details/102817334
可以看到前提是账号密码都得输对(所以前一关要改对了)
在hackbar里添加user-agent,然后用报错注入开始爆数据
' and updatexml(1,concat(0x7e,database(),0x7e),1) and '1'='1
我又试了试在user-agent里输一些其他东西比如反斜杠,报错如图
查看源码如下
发现注入的语句是后面的写表语句,账号密码输不对的话就执行不到那里了
Less19--HTTP头部报错注入之referer【’】
这关的提示是referer,只要把上关的语句输进referer里就行,猜测源码跟上关相同
Less20--HTTP头部报错注入之cookies【’】
这关的提示是cookie,在burpsuite中抓包改cookie即可,语句依旧是上关的语句(在hackbar中添加的cookie貌似会被提交两次,网页出错)