sqli-labs(23-28a)

Less-23

这一关按照一般的步骤操作时,发现使用 # --+等注释符并不能起到作用,查看源码,发现:
在这里插入图片描述
注释符都被过滤为空,这里有两种选择:
1.不使用注释符,使用 ’ 构造语句将后面的 ’ 闭合。

?id=' union select 1,2,database() '

2.使用;%00进行截断(MySQL特有)

以上两种方式皆可。

注意:使用第一种方法时,要注意逻辑上发生错误。

获得数据库:

?id=' union select 1,2,database() '

获得表:

?id=' union select 1,2,group_concat(table_name) from information_schema.tables where table_schema='security' '

后面常规操作。

Less-24

二次注入。
原理:二次注入原理
我们正常的登录的username和password都是admin。
这里我们注册一个username为admin ’ #的用户,password为123456;用户名中的单引号因为转义的缘故,并不会触发sql报错,但是在插入到数据库时,又会将 ’ # 插入到数据库中:
在这里插入图片描述
接下来我们使用admin ’ # 用户进行登录,并修改密码为123:
在这里插入图片描述
发现其实修改的时admin用户的密码,二次注入完成。

Less-25

我们在使用 order by 语句判断列数时,发现or被过滤:

在这里插入图片描述

查看源码:
在这里插入图片描述
发现 or 和 and 都被过滤,无论大小写,我们可以采取双写,或者使用符号 || &&分别表示 or 和 and 。
在这里插入图片描述
还需要注意的时,这一关使用联合注入不能得到结果,可以采取盲注,但是盲注太麻烦,所以试试报错注入:

获得数据库:

?id=1' aandnd updatexml (1,concat(0x7e,database(),0x7e),1) 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值