• 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)#
    
    • 1

    我们将其进行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)#
    
    • 1

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

  • 相关阅读:
    Unity - BRP管线关闭 - UpdateDepthTexture的绘制
    大型网站系统架构演化实例_8.业务拆分
    S/4 HANA 大白话 - 财务会计-4 应付、应收账款
    python制作小游戏之二2048第一部分
    【听课笔记】复旦大学遗传学_09基因与演化
    Linux---shell语法(一)
    开箱即用的数据缓存服务|EMQX Cloud 影子服务应用场景解析
    01_C语言程序的结构
    C语言问题解决实例1
    公众号查题API系统:新手教程-搭建属于自己的查题公众号
  • 原文地址:https://blog.csdn.net/weixin_40228200/article/details/125983674