sqli-labs 41-65笔记
Less 41
和39关相同,id整型,联合注入即可
Less 42
登录页面,查看源码

这里只对输入账号进行了转义而没有对密码进行转义,同时又有mysqli_multi_query,可以使用堆叠注入,单引号闭合


成功添加用户
Less 43
和42类似,只是闭合方式是'),依旧使用堆叠注入
less 44
和42相同
less 45
和43相同
less 46

根据页面提示,这关get参数为sort,查看源码

这里sql语句没有引号,不能使用联合注入


这里sort提供1 2 3会显示users表的不同数据

输入其他会报错,考虑使用报错注入
爆字段

?sort=1 and (updatexml(1,concat(0x5c,(select group_concat(password,username) from users),0x5c),1))

爆指定用户名的密码
Less 47
id单引号闭合,其他与46相同,报错注入即可
less 48
与四十六相同,但没有报错显示,可以使用时间盲注
less 49
和47闭合方式相同,没有报错显示,使用时间盲注
less 50
和46相同,可以使用报错注入,但也开启了mysql_multi_query,所以也可以用堆叠注入
less 51
单引号闭合,可以报错,延时,堆叠
less 52
参数整数型,没有报错显示,可以堆叠,可以延时
less 53
字符型单引号闭合,无报错显示,可堆叠可延时
less 54

提示只有十次输入机会
查看源码

正常使用联合注入尝试
查表

可以看到这里使用的是动态表名
根据得到的表名查列

获取secret

less 55
加右括号的整型,同54类似联合注入拿到key即可
less 56
同前两关类似,闭合为')
less 57
闭合为"
less 58
查看源码

这里虽然sql语句仍为select,但不能使用联合注入,因为这里的数据传递是先从数据库中拿到查询结果,再传入数组中,最终页面呈现的数据是数组提供的,这里可以使用报错注入
爆表名

列名

secret

less 59
同58相同,id整型
less 60
闭合为"),报错注入
less 61
闭合为'))
less 62
闭合为') 无报错显示,可以用布尔盲注或时间盲注
less 63
无报错,单引闭合,布尔或时间盲注
less 64
))闭合,和前两关相同
less 65
)闭合,和前面相同
浙公网安备 33010602011771号