php正则函数抓取网页连接( 0x03修复方案1.使用青藤云安全产品可以全面检测该漏洞)

优采云 发布时间: 2022-01-04 03:10

  php正则函数抓取网页连接(

0x03修复方案1.使用青藤云安全产品可以全面检测该漏洞)

  

  这里是邮件订阅的一个参数。让我们跟踪看看 phpmailer 在后端是如何处理的:

  

  接下来phpmailer会调用html2text进行处理,相关代码如下:

  

  我们可以看到在发送之前是交给html2text处理的,然后phpmailer发送的,我们在这里跟踪html2text看看它是如何处理的:

  

  

  可以看出preg_replace使用了e参数,将正则处理的内容发送出去。

  通过上面的代码,我们重新整理了一下。电子邮件是拼接用户输入的字符串。虽然使用了mysql_real_escape_string,但并不能证明它是安全的。然后输入html2text的preg_replace,然后正则表达式就只有/e表达式,导致代码执行。

  我们来看看官网提供的最新版本。在github上,我们可以通过查看changelog看到:

  

  phpmailer由于兼容性问题不再提供html2text,需要用户自行编写。其实很多开发者还在使用之前官网提供的html2text。让我们搜索相关的cms:

  

  我发现许多仍在使用。当然,它本质上不仅仅影响phpmailer。任何使用 html2text 的人都可能存在远程命令执行漏洞。

  0x02 相关案例

  

  邮箱订阅时,使用Burp Suite的repeater修改email参数的内容:

  

  成功执行命令。敏感字符虽然被过滤掉了,但是还是可以通过ASCII码绕过的,比如反向shell。

  由于该漏洞容易被利用,攻击成本低,影响范围广,青腾云安全建议广大站长和厂商立即修复该漏洞。

  0x03 修复计划

  1.使用青藤云安全产品全面检测此漏洞。

  2. 修改html2text中的正则表达式,取消/e参数。

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线