第一关![](https://i-blog.csdnimg.cn/direct/f006e275cd4d4a0f85dd53b6cf301112.png)
首先,判断注入为字符型
再判断字段
字段为3
再确定回显点,2.3字段存在回显。
查询数据库和版本
输出以下语句找到security的库并查看库中users的列
最后罗列出列里的所有值
加上~隔开。
第二关
首先判断注入类型为数字型,并判断字段为3。而后步骤同第一关。
第三关
首先判断注入类型为字符型(')),而后步骤同第一二关。
第四关
首先判断注入类型为字符型(")),而后步骤同上。
第五关
这是一个报错注入
跟个单引号引起报错 说明页面有报错语句的位置
http://127.0.0.1/Less-5/?id=1' --+尝试闭合 闭合成功
3.http://127.0.0.1/Less-5/?id=1' and updatexml(1,1,1)--+ 使用报错函数,报错函数里面三个参数,写三个1占位置
4.http://127.0.0.1/Less-5/?id=1' and updatexml(1,concat(1,1),1)--+ 我们可以操控的是第二个参数的位置
所以第二个参数的位置换成concat()函数,这个函数也有两个参数,写两个1占位置
5.http://127.0.0.1/Less-5/?id=1' and updatexml(1,concat(1,(select database())),1)--+ 我们可以操控的地方也是第二个参数的位置 把第二个参数的位置换成(),里面写我们的子查询语句 成功查出数据库名 后面查什么在子查询括号里面查就行
7.查users下的列名
8.查具体的username和password
结果显示不全,只能通过limit一条一条查询
http://127.0.0.1/Less-5/?id=1' and updatexml(1,concat(1,(select username from users limit 0,1)),1)--+ //第一条的username
http://127.0.0.1/Less-5/?id=1' and updatexml(1,concat(1,(select username from users limit 1,1)),1)--+ //第二条的username
http://127.0.0.1/Less-5/?id=1' and updatexml(1,concat(1,(select username from users limit 2,1)),1)--+ //第三条的username
password同理。
第六关
首先判断注入方式,输入"后报错,可以使用报错注入的方式进行sql注入。
而后利用函数update()查询表
接下的步骤同第一关。
第七关
方法采用布尔盲注,字符号为'))
第八关
首先判断注入方式
输入单引号后页面没有报错没有提示,我们用布尔盲注。
判断字段为3.
判断当前数据库的⻓度,利⽤⼆分法,>10时数据没有回显。继续判断⼤于7正常显示,⼤于8不显示,说明⼤于7⽽不⼤于8,所以可知当前数据库⻓度为8个字符 。
![](https://i-blog.csdnimg.cn/direct/3b6c73a2d4164ea3b7b359783a4ceb50.png)
![](https://i-blog.csdnimg.cn/direct/ab18f6ecd1754f55a33418cc0479b505.png)
![](https://i-blog.csdnimg.cn/direct/8adfac8c2d9a47a39ae5888894fdd73b.png)
第九关
时间注入和布尔盲注两种没有多大差别只不过时间盲注多了if函数和sleep()函数。if(a,sleep(10),1)如果a结果是真的,那么执行sleep(10)页面延迟10秒,如果a的结果是假,执行1,页面不延迟。通过页面时间来判断出id参数是单引号字符串。
页面加载3秒,说明为单引号。接着判断数据库名长度。
逐一判断数据库字符。
判断所有表长的长度和名字。
判断方法与布尔盲注相同。
第十关
第十关和第九关一样只需要将单引号换成双引号。
第十一关
输入1'后报错,根据报错信息可以推断该sql语句username='参数' and password='参数'
输入万能密码 1'or 1=1 # 出现了显示,接下来的步骤和第一关一样。
第十二关
第十二关和十一关一样,把' 换成')
第十三关
输入1')后有报错,说明是报错注入
输入后没有回显,采用报错注入。
接着用报错注入,原理同第六关。
第十四关
该关的闭合方式为" ,其余与第十三关一样。
第十五关
输入1' 1" 1')等都没有报错信息,没有任何显示,说明为盲注。
输入1'or1=1 登陆成功,闭合方式为'
采用时间盲注的方法,方法与第九关相同。