WordPress 站点易遭新型 PHP 代码执行攻击

聚焦源代码安全,网罗国内外最新资讯!

翻译:360代码卫士团队

Secarma公司的安全研究员Sam Thomas发现一种新型利用技术,可导致黑客通过使用此前被认为风险较低的函数触发PHP语言中严重的反序列化漏洞。

这种新技术导致成千上万款 web 应用程序易遭远程代码执行攻击,包括一些受热门内容管理系统驱动的网站如 WordPress 和 Typo3。

PHP 反序列化或对象注入漏洞最早发生在2009年,它可导致攻击者通过向 unserialized () PHP 函数提供恶意输入的方法执行多种攻击。序列化是将数据对象转换为纯字符串的过程,而反序列化函数帮助程序从字符串重新创建对象。

Thomas 发现攻击者能使用针对 Phar 文件的低风险函数触发反序列化攻击,而无需在各种场景中使用 unserialize () 函数。

Phar 文件是 PHP 中的一种存档格式,它以序列化格式存储元数据,当文件操作函数 (fopen、file_exists、file_get_contents 等)试图访问存档文件时就会被反序列化。

对 WordPress 站点发动 PHP 反序列化攻击

Thomas 在2018年黑帽大会上演示了如何使用 WordPress 站点的某个作者账户完全控制 web 服务器,从而发动反序列化攻击。

想要成功利用该缺陷,攻击者所需要做的就是将有效的包含恶意 payload 对象的 Phar 文档上传到目标的本地文件系统并通过 “phar://” 流包装器访问。

Thomas 表示,攻击者甚至能够通过 JPEG 图像利用该漏洞。而这个图像实际上是通过修改前100个字节转换为有效 JPEG 的 Phar 文档。将这个构造的缩略图上传至目标 WordPress 服务器后,攻击者能够通过 “phar://” 流包装器将同样的图片文件作为 Phar 文档进行调用,最终在程序反序列化元数据时执行任意代码。

去年早些时候,Thomas 将问题告知 WordPress,后者证实该问题存在。然而,公司发布的这个补丁并未完全解决这个问题。

Thomas 还在2018年6月9日将漏洞告知 Typo3 公司,后者发布版本 7.6.30、8.7.17 和 9.3 解决了该问题。

https://thehackernews.com/2018/08/php-deserialization-wordpress.html

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180820B11F1600?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券