0x00 前言

本项目使用xor异或生成免杀webshell一句话

经测试可以绕过主流web防护软件的webshell扫描以及不对web层面防护特别强的杀毒软件

0x01 webshell生成

使用python3运行py脚本文件,即可生成免杀webshell一句话

  • -m参数为请求模式,有post和get两种请求方式的选择

  • -p参数为webshell密码

  • -o参数为输出文件名字

python3 xorshell.py -m post -p pass -o c.php

image-20230803005428131.png 执行之后会在当前目录下生成一个webshell

image-20230803005503609.png

0x02 使用测试

将webshell使用D盾、安全狗、河马进行webshell扫描

image-20230803005805107.png

均无法扫描到webshell并且webshell能够执行命令

接下来对web层面防护不怎么强的杀毒软件进行测试

image-20230803010031594.png

VirusTotal和VirScan

image-20230803010210749.png

当然以上只是静态扫描,如果在执行命令时被WAF拦截了又该如何Bypass

使用该项目对参数进行异或,最终传入webshell进行执行

0x03 payload生成

以下是我们需要执行的payload

pass=system(whoami);

使用脚本对参数进行异或,不需要对最后的分号进行异或

python3 xorpass.py -e "system(whoami)"

image-20230803010919934.png

将Encoded payload替换成我们刚刚想要执行的payload,记得将没有经过异或的分号带上

image-20230803010950633.png

成功执行我们之前想要执行的命令

在测试对ipconfig命令进行异或加密

python3 xorpass.py -e "system(ipconfig)"

image-20230803011158946.png

将加密后的payload作为参数执行

image-20230803011253155.png

成功执行ipconfig命令