• SQL User-Agent注入详解


    今天继续给大家介绍渗透测试相关知识,本文主要内容是SQLUser-Agent注入详解。

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

    一、SQL User-Agent简介

    User-Agent是HTTP协议中规定的一个HTTP头字段,该字段可以标识访问客户端的浏览器类型,操作系统类型及版本,CPU类型等等。User-Agent字段会由客户端在访问浏览器时携带,在有些环境中,服务器会记录下客户端访问的User-Agent字段,这就可能存在有数据库的交互,因此会产生SQL注入漏洞。
    需要注意的是,当我们尝试对既定目标进行渗透测试时,应当首先进行传统的GET和POST方式的注入,如果这种普通的注入方式不能够进行渗透,再判断站点是否可能存在User-Agent的数据库信息交互,并尝试进行SQL注入测试。

    二、SQL User-Agent靶场简介

    下面,我们使用sqli_lab靶场的第18关来进行SQL User-Agent注入的实战,首先,我们来简单看一下这一关的靶场。
    进入靶场后,我们可以看到是如下的登录页面:
    在这里插入图片描述
    我们成功登录后,发现页面如下所示:
    在这里插入图片描述
    从上图中我们可以看出,我们在访问该站点时的User-Agent信息被加载到了页面上。
    我们来看一下该站点的PHP代码,如下所示:
    在这里插入图片描述
    在这里插入图片描述
    从上述代码中可以看出,该站点会提取HTTP头中的User-Agent和IP地址,并插入到数据库中,我们此时查询当前数据库情况,结果如下所示:
    在这里插入图片描述
    此外,我们还需要注意到的是,在本站点中,没有对客户端的User-Agent信息进行任何的检测和过滤,因此,我们可以利用这一点,把SQL注入的payload插入到User-Agent头部,这样就可以成功的实现SQL注入了。

    三、SQL User-Agent注入实战

    接下来,我们就可以进行SQL User-Agent注入的实战了。
    首先,我们使用burpsuit工具,抓取访问该站点的数据包,然后在该数据包的User-Agent字段,添加任意测试内容,结果发现我们的测试内容会出现在页面上,如下所示:
    在这里插入图片描述
    这样,考虑到User-Agent字段处是insert语句,因此我们就可以使用updatexml报错注入了,构造User-Agent的payload如下所示:

    tctctc' and updatexml(1,concat('~',(database()),'~'),1) and '1'='1
    
    • 1

    使用该payload访问后结果如下所示:
    在这里插入图片描述
    从上图中我们可以看出,我们成功得到了目标站点的数据库名称。
    之后,我们构造payload,爆出目标站点的表名,User-Agent的payload如下所示:

    1234' and updatexml(1,concat('~',(select group_concat(table_name) from information_schema.tables where table_schema = database() ),'~'),1) and '1'='1
    
    • 1

    使用该payload访问目标站点后结果如下所示:
    在这里插入图片描述
    在这里,要注意的是,我们需要将之前payload中的tctctc改成1234,否则,就会出现如下问题:
    在这里插入图片描述
    从上图中,我们可以成功得到目标站点的表名,按照上述方式,我们就可以逐步得到目标站点的数据库所有信息了。
    原创不易,转载请说明出处:https://blog.csdn.net/weixin_40228200

  • 相关阅读:
    痞子衡嵌入式:揭秘i.MXRTxxx系列上串行NOR Flash双程序可交替启动设计
    CAS:1604673-42-8 (Biotin-PEG4-Mal, 生物素PEG-MAL)
    hiveSql冷门但好用函数 --持续更新
    Java的SPI机制
    class的流光效果
    什么是R语言?什么是R包?-R语言001
    【正点原子Linux连载】第二十五章 语音识别项目 摘自【正点原子】I.MX6U嵌入式Qt开发指南V1.0.2
    常用git 打tag命令
    Hadoop HA (二) --------- HDFS-HA 手动模式
    一文总结 C++ 常量表达式、constexpr 和 const
  • 原文地址:https://blog.csdn.net/weixin_40228200/article/details/126350034