sqli-labs第一题
正常访问页面,我们可以用hackbar便于操作
之后输入id作为参数并尝试判断sql注入类型
得出结论sql为字符型,并且存在回显,可以使用联合查询
具体注入语句
sqli-labs第二题
输入单双引号都存在报错,判断可能为数字型注入,步骤与第一题相同
sqli-labs第三题
输入?id=1',根据回显可得sql为单引号字符型且有括号包裹
将?id=1后加上 ') 就可以进行sql注入
sqli-labs第四题
第四题与第三题相似,只是由单引号字符型加空格变成了双引号字符型加空格
将?id=1后加上")可进行sql注入
sqli-labs第五题
第五题中我们可以通过测试知道sql是单引号字符型,但是页面的回显却只能用来判断请求的对错,此时我们只能使用布尔盲注。
根据判断数据库长度的语句可以知道数据库长度为8
判断所有表名字符长度
逐一判断表名
sqli-labs第六题
第六关sql为双引号字符型,注入方式与第五关相同
sqli-labs第七题
第七题输入id=1'))--+时页面显示正常,与第五关相同选择布尔盲注
sqli-labs第八题
第八关与第五关相同,sql为单引号字符型
sqli-labs第九题
第九关不论输入什么页面回显都相同,可以选择时间注入
sqli-labs第十题
第十关将第九关单引号换为双引号
sqli-labs第十一题
第十一关页面变成了登录页面
当输入1'时出现报错,可以推断出使用单引号包裹
我们可以构建一个恒为真的sql语句,并用#号来注释
sqli-labs第十二题
通过输入1"得到报错,可以知道sql语句是双引号并且有括号
类似第一题构建恒为真的sql语句1') or 1=1 #
sqli-labs第十三题
第十三题与第十二题相同,只需将双引号换为单引号
sqli-labs第十四题
十四关和十一关相同,只需要将单引号换成双引号。
sqli-labs第十五题
第十五题不显示报错信息,可以用布尔盲注
sqli-labs第十六题
第十六题同样要使用布尔盲注