利用Python自动生成暴力破解的字典
Python是一款非常强大的语言。用于测试时它非常有效,因此Python越来越受到欢迎。
因此,在此次教程中我将聊一聊如何在Python中生成字典,并将它用于任何你想要的用途。
前提要求
1,Python 2.7(对于Python 3.x的版本基本相同,你只需要做一些微小调整)
2,Peace of mine(作者开的一个玩笑,这是一首歌名)
如果你用virtualenv搭建Python开发环境,请确保已经安装了itertools。因为我们将会用到itertools生成字典。我们将一步一步地演示整个过程,所以请跟着本文学习,不要仅仅是复制粘贴所有代码。
生成字典
新建一个名为”dicgen.py”的文件,并用你最顺手的文本编辑器打开它。
首先我们要调用itertools。
我使用了itertools as itr,可以少打一些字。在调用了itertools之后,我们进入下一步。
我们需要选择一些关键词形成一些组合来生成所需的字典。把这些关键词交给itertools提供的方法来生成字典。
寻找合适的关键词需要一些小窍门。举个例子,我忘记了一个用来管理服务器的文件密码(.php)。我需要输入用户名和密码来打开这个文件,才可以对我的服务器进行修改。我也忘记了cpanel的登录信息。因此我决定暴力破解密码。我记得用户名,但是密码记得不是很清楚,而且手动尝试了所有组合但都不正确。因此我在Python里写了一个脚本去生成密码并登录。我手头上有一些密码的线索,比如它是长度为六位,仅是字母组合,不包含数字或特殊符号。
让我们回到教程中来。假设要生成一个六位长度,并且仅含有字母的密码(大小写混合)。
我们一点一点地来讲解这段代码。
words变量是我们希望在密码中尝试的字符。在本例中,这些字符就是字母表中的大写和小写字母。所以我们在这里添加了所有的大写、小写字母。
itr.product(words, repeat=6)是这段代码最主要的部分,从给定的字母表中返回选择的列表。由于本例中密码长度为六位,所以此处设定了重复6次(repeat=6)。
我们把这个过程循环6次,确保每个字母列表都被加入到主列表中。
我们再把所有生成的密码都放到一个列表里,看看能有多少种组合。但现在还别运行它,否则你的电脑可能会死机。
我们建议你在密码生成后立即使用它,或者将它储存在一个文档里。这只是一个基本。在下一个教程里我们会更多地了解如何根据我们的需求更高效地生成密码。
下面是完整代码。
参考网址:python.freelycode.com
利用Python自动生成暴力破解的字典的更多相关文章
- 忘记秘密利用python模拟登录暴力破解秘密
忘记秘密利用python模拟登录暴力破解秘密: #encoding=utf-8 import itertools import string import requests def gen_pwd_f ...
- 利用python自动生成verilog模块例化模板
一.前言 初入职场,一直忙着熟悉工作,就没什么时间更新博客.今天受“利奇马”的影响,只好宅在家中,写写技术文章.芯片设计规模日益庞大,编写脚本成了芯片开发人员必要的软技能.模块端口动不动就几十上百个, ...
- python笔记 利用python 自动生成条形码 二维码
1. ean13标准条形码 from pystrich.ean13 import EAN13Encoder encode = EAN13Encoder(') encode.save('d:/barco ...
- Python自动生成代码工具
项目中有一个需求,对一个基类而言,拥有一个比较方法和拷贝方法,某些地方需要频繁地对这两个方法进行调用.对于所有子类而言,需要重写这两个方法,并在其中维护类内一些成员变量.例如有一个变量m_iMyVal ...
- 【机器学习PAI实战】—— 玩转人工智能之利用GAN自动生成二次元头像
前言 深度学习作为人工智能的重要手段,迎来了爆发,在NLP.CV.物联网.无人机等多个领域都发挥了非常重要的作用.最近几年,各种深度学习算法层出不穷, Generative Adverarial Ne ...
- 防止WordPress利用xmlrpc.php进行暴力破解以及DDoS
早在2012 年 12 月 17 日一些采用 PHP 的知名博客程序 WordPress被曝光存在严重的漏洞,该漏洞覆盖WordPress 全部已发布的版本(包括WordPress 3.8.1).该漏 ...
- 从用python自动生成.h的头文件集合和类声明集合到用python读写文件
最近在用python自动生成c++的类.因为这些类会根据需求不同产生不同的类,所以需要用python自动生成.由于会产生大量的类,而且这些类是变化的.所以如果是在某个.h中要用include来加载这些 ...
- [06] 利用mybatis-generator自动生成代码
1.mybatis-generator 概述 MyBatis官方提供了逆向工程 mybatis-generator,可以针对数据库表自动生成MyBatis执行所需要的代码(如Mapper.java.M ...
- 利用Python 脚本生成 .h5 文件 代码
利用Python 脚本生成 .h5 文件 import os, json, argparse from threading import Thread from Queue import Queue ...
随机推荐
- javascript性能优化-repaint和reflow
repaint(重绘) ,repaint发生更改时,元素的外观被改变,且在没有改变布局的情况下发生,如改变outline,visibility,background color,不会影响到dom结构渲 ...
- C#.NET 大型通用信息化系统集成快速开发平台 4.1 版本 - 数据权限增强、范围权限增强
并不是不想做B\S的管理工具,只是精力实在不够,由于用户权限管理组件是基础组件.所以C\S的也无妨,不会有几个人在乎Oracle,SQLServer是否不b\s的,注重的是功能性能,请大家不要纠结与是 ...
- SecureCRT连接虚拟机(ubuntu)配置
使用SecureCRT连接虚拟机(ubuntu)配置记录 这种配置方法,可以非常方便的操作虚拟机里的Linux系统,且让VMware在后台运行,因为有时候我直接在虚拟机里操作会稍微卡顿,或者切换速 ...
- [转载]五种常见的电子商务模式对比:B2B、B2C、C2B、C2C、O2O
转载自http://blog.sina.com.cn/s/blog_64e090b001016843.html 转载自http://blog.sina.com.cn/s/blog_64e090b001 ...
- Binding
Binding基础 绑定某个对象的属性值到控制上,写法如下: public class Order : INotifyPropertyChanged//只要实现此接口 { public event ...
- pptpd
18. pptp Server Administration This section covers a few tricks on pptp server management. It is far ...
- jdbc-批量插入、批量删除、批量更新
一.JDBC的批量插入 JDBC批量插入主要用于数据导入和日志记录因为日志一般都是先写在文件下的等. 我用Mysql5.1.5的JDBC driver 分别对三种比较常用的方法做了测试 方法 ...
- js ie中实现拖拽
获取鼠标移动信息 开始我们需要获取鼠标的坐标.我们添加一个document.onmousemove 就可以达到此目的: Javascript: document.onmousemove = mou ...
- Webpack--自学笔记
原文--http://webpack.github.io/docs/tutorials/getting-started/ 什么是webpack? webpack是一个模块打包器.webpack把模块( ...
- Gulp和Webpack工具的区别
引用知乎的回答:https://www.zhihu.com/question/37020798 怎么解释呢?因为 Gulp 和 browserify / webpack 不是一回事 Gulp应该和Gr ...