暴力破解之ApacheBASIC认证
文章目录
0x01 通过暴力破解web登录页面获得管理员权限
1.分析后台登录页面源代码
实验环境
登录 localhost(CentOS 7)LAMP 环境下
用xshell 连接CentOS 7
[root@localhost ~]# cd /var/www/html/
[root@localhost html]# rz
代码说明:
代码中定义了用户名和密码,用户提交用户名密码后通过 php 代码进行判断,如果用户名密码都等于 admin 登录成功输出 login successfully
如果不等于admin 则输出 login fail 这里是简单的代码演示,正常的 web 登录对密码验证都是用户提交用户名密码信息,然后查询数据库进行验证。
在kali 下使用火狐,访问地址:http://192.168.159.140/bp.php
使用用户名 admin 密码 admin 进行登录
随意输入用户名密码 123 进行登录
页面测试正常
2.使用 bp进行暴力破解
开启截断
访问:在kali下使用火狐,访问地址 http://192.168.159.140/bp.php 使用用户名 admin 密码admin 进行登录
截取 HTTP 请求发送到 intruder
点击Clear 清楚
选中 password
我们对admin 用户的密码进行爆破,所以我们现在需要准备一个字典,我们从kali中找一个字典
┌──(root??fengzilin55)-[~]
└─# cd /usr/share/metasploit-framework/data/wordlists/
┌──(root??fengzilin55)-[/usr/share/metasploit-framework/data/wordlists]
└─# ls
┌──(root??fengzilin55)-[/usr/share/metasploit-framework/data/wordlists]
└─# sz http_default_pass.txt
我们选择使用密码文件
开始破解
我们查看 Length 长度,发现和其他的不一样,我们点击查看,然后在浏览器中打开
拷贝到burpsuite代理的浏览器,不要关闭截断
发现登录成功
0x02 使用 burpsuite 破解 web 站点
打开 DVWA ,抓取登录DVWA 的数据包
访问http://192.168.159.140/DVWA-master/security.php 用户名admin 密码 password
修改安全级别为low 然后退出
开启burpsuite 截取
右击发送到 intruder
清楚所有变量
选择密码添加变量
选择字典文件
查看结果
正常情况根据status状态码和Length返回长度来判断是否成功,但是DVWA的站点比较特殊,成功和失败都做出了 302 跳转,成功跳转到 index.php 失败继续跳转至login.php 所以我们暂时手动检查一下返回页面的信息
可以看到密码为 password 的返回结果为index.php 所以password就是admin用户的密码。可以根据站点返回页面的状态码和页面的大小进行判断
0x03 配置Apache 的基本认证 Basic Authentication
1.什么是Basic Authentication
Basic Authentication是一种HTTP访问控制方式,用于限制对网站资源的访问。这种方式不需要Cookie和Session,只需要客户端发起请求的时候,在头部Header中提交用户名和密码就可以。如果没有附加,会弹出一个对话框,要求输入用户名和密码。这种方式实施起来非常简单,适合路由器之类小型系统。但是它不提供信息加密措施,通常都是以明文或者base64编码传输。
2.Apache 配置 BASIC 认证
在localhost CentOS 7 系统上创建密码文件
[root@localhost ~]# cd /etc/httpd/
[root@localhost httpd]# mkdir Auth
[root@localhost httpd]# htpasswd -c Auth/pass fzilin
查看密码文件
[root@localhost httpd]# cat Auth/pass
密码文件以 用户名:密码 格式进行存储
修改Apache 配置文件
[root@localhost httpd]# vim /etc/httpd/conf/httpd.conf
找到第151 行 删除151-156行
将一下以下内容添加到 151-156行
AllowOverride all
AuthName "fengzilin"
AuthType basic
AuthUserFile /etc/httpd/Auth/pass
Require valid-user
AllowOverride all #允许.htaccess 文件中指定的验证文件进行身份验证
AuthName "fengzilin" #认证名称
AuthType basic #认证方式
AuthUserFile /etc/httpd/Auth/pass #用户密码文件
Require valid-user #要求正式用户,不能匿名
配置完成后检查配置文件是否正确
[root@localhost httpd]# httpd -t
提示 Synta OK 表示配置正确
重启 Apache 服务
[root@localhost httpd]# systemctl restart httpd.service
在 kali 火狐浏览器中访问 http://192.168.159.140
提示登录用户名密码,输入错误的用户名密码会继续弹出认证提示,直到认证成功
0x04 暴力破解 Apache BASIC 认证
1.创建一个密码文件
在 kali 中找一个基本的密码文件并查看
┌──(root💀fengzilin55)-[~]└─# cd /usr/share/metasploit-framework/data/wordlists/┌──(root💀fengzilin55)-[/usr/share/metasploit-framework/data/wordlists]└─# cat http_default_userpass.txt
可以看到这个密码文件是以空额进行分隔用户名密码
我们要手动修改空格为冒号,我们使用文本格式处理的命令来演示
┌──(root💀fengzilin55)-[/usr/share/metasploit-framework/data/wordlists]└─# awk 'BEGIN{ FS=" ";OFS=":" }{ print $1,$2 }' http_default_userpass.txt > /root/pass.txt
因为文件中没有正确的密码,我们手动添加进去
┌──(root💀fengzilin55)-[/usr/share/metasploit-framework/data/wordlists]└─# echo "fzilin:123456" >> /root/pass.txt ┌──(root💀fengzilin55)-[/usr/share/metasploit-framework/data/wordlists]└─# cat /root/pass.txt
格式正确
2.使用burpsuite 进行暴力破解 BASIC 认证
火狐浏览器访问 192.168.159.140/
任意输入用户名密码
添加变量
选择密码文件
添加编码格式
开始攻击
快速查看密码
3.burpsuite 凭证
Burpsuite 中提供了用于认证设置的功能模块,可以设置 HTTP 认证需要的用户名和密码,方便测试。
配置完成后 burpsuite 中访问站点不需要输入密码即可登录。
0x05 总结
我们学习了怎么使用 burpsuite 去破解 wb登录页面,如何配置Apache Basic 服务以及使用burpsuite去破解该服务