SQL加解密注入详解

今天继续给大家介绍Linux运维相关知识,本文主要内容是SQL加解密注入。

免责声明:
本文所介绍的内容仅做学习交流使用,严禁利用文中技术进行非法行为,否则造成一切严重后果自负!
再次强调:严禁对未授权设备进行渗透测试!

一、SQL加解密注入原理

SQL加解密注入,是特指一种特殊的注入形式,即注入点并没有直接把输入的信息传输到后台,而是通过进行base64编码等形式处理后,再传输到后台。SQL加解密注入的数据包如下所示:
在这里插入图片描述
从上图中可以看出,在数据包的Cookie字段,有一个uname参数,该参数的值是一个先经过url编码,然后再经过base64编码的值,如下所示:
在这里插入图片描述
在这种情况下,我们就可以尝试对uname参数进行SQL注入尝试,并且在尝试时要注意对SQL注入的语句进行base64加密。

二、SQL加解密注入靶场逻辑介绍

下面,我们通过一个实战,来进行SQL加解密注入。我们使用sqli_lab的靶场第二阶段21关作为我们的目标靶场,我们登录靶场后,结果如下所示:
在这里插入图片描述
我们查看该页面的php源代码,发现有一个check_input的函数,该函数会对一个参数进行过滤,从而起到防止SQL注入攻击的效果,该函数如下所示:
在这里插入图片描述
我们可以看到,该页面的php代码逻辑是,如果采用POST的方式传入用户名和密码,那么就会对传入的uname和password参数使用check_input函数进行过滤,如下所示:
在这里插入图片描述
但是,如果我们使用cookie的方式传入uname参数,则不会进行check_input的过滤,如下所示:
在这里插入图片描述
因此,我们可以想到,我们可以阵地cookie方式提交的uname参数,来进行SQL注入的检验,这就是SQL加解密注入。

三、SQL加解密注入实战

针对上述靶场,我们开始进行SQL加解密注入。
首先,我们狗仔SQL注入的payload,原始的payload如下所示:

admin') and updatexml(1,concat(0x7e,(database()),0x7e),0)#

我们将其进行Base64编码,然后再进行URL编码(该过程可以借助Burpsuit的加解密模块),最终结果如下所示:
在这里插入图片描述
将得到的最终的Payload放到uname参数的值执行,结果如下所示:
在这里插入图片描述
注意看上图中红线部分,可以看出,我们成功得到了目标网站的数据库名!
同样的道理,我们也可以构造其他的Payload,比如说如下可以获取该数据库下所有数据表的payload。

admin') and updatexml(1,concat(0x7e,(select group_concat(table_name) from information_schema.tables where table_schema='security'),0x7e),0)#

将其进项完全相同的处理,如下所示:
在这里插入图片描述
之后将其复制成uname参数的值,结果如下所示:
在这里插入图片描述
从上图可以看出,我们成功获得了当前数据库下所有的数据表信息,我们的实验成功!
原创不易,转载请说明出处:https://blog.csdn.net/weixin_40228200

  • 5
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

永远是少年啊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值