Python怎么编写一个密码暴力攻击测试器

本篇文章给大家分享的是有关Python怎么编写一个密码暴力攻击测试器,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

什么是HTTP 基本认证

HTTP基本认证(HTTP Basic Authentication)是HTTP协议中实现Web资源访问控制的最简单的认证手段。其通过添加header头域的方式或者在URL中附带参数的方式提供认证信息,并通过Base64编码将认证信息进行编码传输,最后由服务器接收到编码后的字符进行解码认证。

当我们访问一个需要进行HTTP基本认证的网址时,其会通过响应一个401状态码,并返回一个认证框来接收用户输入的认证信息。如果我们填错,服务器会继续返回一个401状态码和认证框,如果认证成功,则返回200请求成功状态码。

Python怎么编写一个密码暴力攻击测试器

HTTP基本认证一个优点是几乎所有的现代浏览器都支持这种认证方式,非常的简单方便,但是由于其技术特性,这种认证方式并不是很安全,现在亦多存在于内网环境下的站点。

其采用的Base64编码加密,也是属于“防君子不防小人”的加密。利用Python的base64模块,我们就能够轻松的进行加密和解密:

Python怎么编写一个密码暴力攻击测试器

返回的结果为:

Python怎么编写一个密码暴力攻击测试器

是不是感觉很坑爹,嗯,就是的。^_^


编写Python密码暴力测试器

了解了HTTP基本认证的一些概念,下面我们继续使用Python编写一个渗透测试密码暴力破解器。

照常,我们引入相关的模块

Python怎么编写一个密码暴力攻击测试器

相关模块的功能,在上一篇编写资源探测器的文章中已经提及,忘记了的可以前往博客阅读:http://zmister.com/archives/180.html、http://zmister.com/archives/181.html

由于字典中的条目会有很多,所以我们设置一个全局变量,用来标识字典中的密码是否有效:

Python怎么编写一个密码暴力攻击测试器

然后照例我们定义一个横幅函数,装饰我们的单调的命令行:

Python怎么编写一个密码暴力攻击测试器

接着,仍然是程序的使用参数方法示例:

Python怎么编写一个密码暴力攻击测试器

接着就是我们的主类request_performer():

Python怎么编写一个密码暴力攻击测试器

最后是启动线程的函数launcher_thread()和启动程序的函数start():

Python怎么编写一个密码暴力攻击测试器

最后,我们依然使用虚拟机中的http://www.scruffybank.com/作为靶机,对http://www.scruffybank.com/Admin 的admin用户进行密码攻击测试,以一个弱口令文件作为字典:

Python怎么编写一个密码暴力攻击测试器

在命令行终端运行命令:

Python怎么编写一个密码暴力攻击测试器

结果显示发现了一个密码“administrator”

Python怎么编写一个密码暴力攻击测试器

我们打开http://www.scruffybank.com/Admin,使用用户名admin和密码administrator登录,看看能否成功登录。

Python怎么编写一个密码暴力攻击测试器

结果认证成功进入了一个目录内,说明我们的弱口令密码暴力测试成功了。

以上就是Python怎么编写一个密码暴力攻击测试器,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注行业资讯频道。