基于XSRF的SQL注入技术

【.com 独家特稿】本文将向读者介绍一种基于跨站请求伪造的SQL注入技术。PhpMyAdmin是目前最流行的PHP项目,在现实中PhpMyAdmin已被大量采用。今年12月初,人们在PhpMyAdmin的3.1.0版本中发现了一个漏洞,不过这个漏洞的利用方法有些特别,那就是需要利用跨站请求伪造来进行SQL注入。本文将向读者介绍受影响的版本以及对这些版本软件的具体攻击方法,最后对出现漏洞的代码进行了详细的分析。

一、漏洞描述

phpMyAdmin 是一种 MySQL 数据库的管理工具,安装该工具后,即可以通过 web 形式直接管理 MySQL 数据,而不需要通过执行系统命令来管理,非常适合对数据库操作命令不熟悉的数据库管理者,所以目前非常流行。不过,今年十二月初,人们在3.1.0版本的phpMyAdmin上发现了一个安全漏洞,攻击者可以通过XSRF对phpMyAdmin进行SQL 注入攻击。并且无论magic_quotes_gpc被设为On或者Off,该漏洞仍然会被利用。

二、漏洞利用代码

本文介绍的利用代码实际上是一个远程运行PHP代码的概念性漏洞利用验证代码。该漏洞利用代码可以把一个php后门注入到/var/www/backdoor.php ,但是由于AppArmor与SELinux的缘故,它对于最新的Ubuntu或者Fedora系统无效。
对于该漏洞的利用思路是,通过一个XSRF攻击来进行SQL注入。攻击的过程如下所示:
1. 发动攻击时,受害者的浏览器必须已经登录到phpMyAdmin。
2. 必须知道到phpMyAdmin的URL。
3. 设法让受害者的浏览器浏览下面的恶意img标签。这里对*nix系统和Windows系统分别进行介绍。

用于*nix系统的恶意img标签:

图1

注入的路径如下所示:
/var/www/backdoor.php
注入的后门如下所示:

用于Windows上默认安装的XAMPP的漏洞利用代码:

图2

注入路径如下所示:
c:/xampp/htdocs/backdoor.php
注入的后门如下所示:

可以通过下列方式来访问植入的后门:
http://10.1.1.10/backdoor.php?e=phpinfo();
需要注意的是,这个攻击只需要GET请求,对于JavaScript或者ActionScript来说都不是必需的,因此,NoScript也拿它没辙!

三、技术细节

现在对漏洞代码做一个详细的解释。首先,下面SQL查询将被执行:

图3

由于第一个SQL查询是选择整数值,因此会使用MySQL函数char()。之后的PHP代码用于建立一个定制的有效载荷,当前的有效载荷是: 。不过在前面看到的是经过编码的,其编码方法如下所示:

图4

这个漏洞在于phpMyAdmin的./phpmyadmin/libraries/db_table_exists.lib.php文件中没有正确地过滤table参数:

图5

PMA_sqlAddslashes()函数仅禁用了单引号,但忽略了反勾号(`)和双引号(”),因此远程攻击者可以通过提交恶意请求执行SQL注入攻击。
这种攻击不是XSRF的教科书式的例子,因为phpMyAdmin具有XSRF的防御措施。保护请求的令牌是以一种安全的方式来生产的,具体见./phpmyadmin/libraries/session.ic.php文件的第96行,如下所示:

图6

该安全漏洞是由于一些请求变量未受到令牌的保护而引起的,具体见./phpmyadmin/libraries/common.inc.php文件的第389行,如下所示:

图7

下面是PMA_remove_request_vars() 函数的定义:

图8

注意这个函数声明中的&。PMA_remove_request_vars($whitelist )通过引用来传递变量,但是这个函数没有使用变量的引用。这里人们还是太迷信它了,因为它对自己的代码没有影响。

四、补丁

目前厂商已经发布了升级补丁以修复这个安全问题,请到厂商的主页下载:http://phpmyadmin.svn.sourceforge.net/viewvc/phpmyadmin?view=rev&revision=12100。

五、小结

本文将向读者介绍了一种基于跨站请求伪造的SQL注入技术。PhpMyAdmin是目前最流行的PHP项目,在现实中PhpMyAdmin已被大量采用。今年12月初,人们在PhpMyAdmin的3.1.0版本中发现了一个漏洞,不过这个漏洞的利用方法有些特别,那就是需要利用跨站请求伪造来进行SQL注入。本文将向读者介绍受影响的版本以及对这些版本软件的具体攻击方法,最后对出现漏洞的代码进行了详细的分析。

【.COM 独家特稿,转载请注明出处及作者!】

【编辑推荐】

  1. 恶意软件反检测技术简介:反调试技术解析
  2. 恶意软件反检测技术简介:模拟器超限技术
  3. 安全专家详谈:对付恶意软件的策略及方法

文章来源网络,作者:管理,如若转载,请注明出处:https://shuyeidc.com/wp/142621.html<

(0)
管理的头像管理
上一篇2025-03-09 07:56
下一篇 2025-03-09 07:58

相关推荐

  • 云服务器和云虚拟主机怎么选?云服务器和虚拟主机区别

    云服务器适合业务增长快、需弹性扩展的场景,而云虚拟主机适合预算有限、技术门槛低的小型静态网站或测试环境,二者核心区别在于资源独享性与运维复杂度,核心差异解析:从底层架构到使用体验很多人容易混淆这两者,觉得它们都是“买空间建站”,它们的底层逻辑完全不同,云服务器(ECS)就像是你租了一整栋别墅,水电网络独立,你想……

    2026-06-29
    0
  • 赣州智慧旅游招聘是真的吗?赣州旅游人才招聘信息

    中级岗位(3-5年经验)月薪范围通常在6000-10000元,这类岗位需要独立负责项目模块,如独立运营一个抖音账号,或维护一个景区小程序的功能迭代,具备成功案例的候选人议价能力较强,高级岗位(5年以上经验)月薪范围通常在10000-20000元,部分核心管理岗可达更高,这类人才需要具备战略规划能力,如制定整个景……

    2026-06-29
    0
  • 赣州智能物联网车位锁如何管理?智能车位锁管理系统多少钱

    赣州智能物联网车位锁管理的核心在于通过云端平台实现远程控锁、状态实时监控及自动计费,彻底解决传统车位“被占难管”与“找位难”的痛点,在赣州这样的城市,随着机动车保有量的持续增长,老旧小区、商业综合体以及私人固定车位的资源矛盾日益凸显,传统的机械地锁或简易遥控锁,不仅操作繁琐,更无法实现数据化管理,引入智能物联网……

    2026-06-29
    0
  • 赣州智能消防栓好用吗,智能消防栓多少钱一个

    赣州智能消防栓通过物联网技术实现实时监测与远程报警,能显著降低火灾响应时间并提升城市消防安全管理水平,是目前智慧城市建设中不可或缺的基础设施,赣州智能消防栓的核心价值与应用场景传统消防栓往往存在“看不见、摸不着、用不了”的痛点,在赣州这样地形复杂、老城区与新城区并存的区域,传统设施的管理难度极大,智能消防栓的出……

    2026-06-29
    0
  • 云服务器和物理机到底有啥区别?

    云服务器本质上是虚拟化资源池中的弹性实例,而传统物理服务器是独占的硬件实体,前者胜在弹性与运维便捷,后者强在物理隔离与性能稳定,具体选择取决于业务对成本、扩展性及安全合规的权衡,很多人初次接触服务器时,容易把“云服务器”和“传统物理服务器”混为一谈,觉得它们都是用来跑网站或存数据的盒子,这两者的底层逻辑完全不同……

    2026-06-29
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注