在线密码破解教程,web登陆爆破(hydra的简单使用)

hydra是一个极其强大的在线破解密码的工具(爆破神器)

——本文献给无聊的计算机系大学生们
密码破解从大类来分能够分为两种,一种是在线破解,这种方hydra式通常要求待破解的对象对咱们来讲是能够正常提供服务的,通俗来说就是可以让咱们经过必定的途径去尝试登陆,或者是验证用户密码的正确性。而另外一种就是本地破解,好比wifi抓包破解wifi密码,只要提早抓到了wifi登陆验证的数据包,就能够在本地电脑上进行破解操做,而不须要路由器来参与验证密码的正确性。web

本文主要给你们介绍第一种密码破解的方式,也就是在线破解。须要用到的工具是hydra,kali系统会默认安装,ubuntu使用sudo apt-get install hydra安装便可,其余Linux系统安装相似。此软件有图形界面——输入xhydra启动(以下图),但本文主要介绍其命令行界面的使用。
xhydraubuntu

web登陆页面破解演示:
下面拿路由器的后台管理页面来测试(以下图),用户名已知是root,因此只须要猜出出密码就行了。
路由器后台页面
咱们在浏览中右键检查查看一下这个页面验证密码的具体过程。点击network选项卡,而后随便填一个密码,点击登陆,在右边能够看到多出来一个POST请求和它对应的响应报文。POST的内容就是一个简单的键值对的形式(username=用户名&password=密码):在这里插入图片描述
在这里插入图片描述
而后咱们观察到当密码错误时,页面上会显示无效的用户名和/或密码!请重试。字样。因此大体的思路应该是:用hydra向ip 58.155.106.35发送一个POST验证请求,把password字段换成字典中的一条,根据服务端的回复验证密码是否正确。而后循环验证字典中的密码。下面直接给出命令,而后再具体解释:svg

hydra -t 1 -l root -P cyzidian.txt -o out.txt -vV -f 58.155.106.35 http-post-form "/:username=^USER^&password=^PASS^:error"

-t 1 控制线程数 无此选项默认12线程,通过测试这个服务端线程开太多会无响应,因此在这里制定为1(你们应该自行尝试最佳线程数)。
-l root 指定单个用户名“root”。(可替换成-L 字典.txt来指定一系列用户名)
-P cyzidian.txt 指定密码字典cyzidian.txt(可替换成-p 密码 指定单个密码,通常不经常使用)。工具

-o out.txt 将尝试过程与结果保存到out.txt
-vV显示详细过程
-f 找到一个结果后中止
58.155.106.35 目标ip地址
http-post-form 使用http协议下的post方法进行破解
"/:username=^USER^&password=^PASS^:error" 最后这段字符串由三部分组成,由其中的两个冒号划分,第一部分只有一个”/“,是指定登陆页面所在目录,这个例子恰好在根目录。第二部分:username=^USER^&password=^PASS^,由上文可知这就是刚刚在network中看到的POST提交的内容只是把用户名和密码部分换成了^USER^^PASS^。USER对应前面的-l 后跟的用户名root,PASS会被字典中的密码逐个替换。最后一部分error是指定的判断密码是否正确的条件,默认是黑名单模式,也就是若是返回页面中存在”error“就说明这个密码不正确,缘由是咱们在随便输入一个错误密码后,会看到页面中多了一个类为error的标签(以下图):
在这里插入图片描述
(备注:上面所说的字典就是一个含有不少可能密码的文本文件,这个能够在网上下载或者是用一些字典生成软件生成,好比crunch)post

回车运行
在这里插入图片描述
能够看到屏幕上已经开始打印每条尝试结果,理论上来说若是咱们的字典中有正确的密码,耐心等待应该就可以获得正确的结果。
可是按照咱们刚刚的配置,过了好久好久也没有发现正确的密码……这时候反应过来,用页面中是否有”error“这个词来判断密码是否正确多是有问题的。由于若是页面中的其余地方也出现了单词error,那即便出现了正确的密码也会被程序判断为错误。
那就只能再找一个更加显著的错误密码判断条件了。因此只好试一下密码错误后页面中明显出现的无效的用户名和/或密码!请重试。字样来判断(为何一开始不用它呢?由于听说最好不要使用中文做为判断条件,具体的缘由多是编码问题或者其余的什么,既然有这种说法确定是有缘由的,因此并不建议用中文字符做为判断条件,但试试也无妨)。
因而将上面命令中最后面的字符串中的最后一项”error“改成无效的用户名测试

hydra -t 1 -l root -P cyzidian.txt -o out.txt -vV -f 58.155.106.35 http-post-form "/:username=^USER^&password=^PASS^:无效的用户名"

而后再运行
在这里插入图片描述
能够看到在第103个密码”admin“的地方程序找到了正确的密码:
在这里插入图片描述
如今去页面用root,admin登陆试试
在这里插入图片描述
成功编码