内容简介:在这篇文章中,我们会告诉大家如何保护Apache Web服务器免受未经身份验证的用户非法访问,以及如何隐藏关键核心信息不被非法用户查看到。当然了,我们还会介绍如何利用这些安全缺陷来渗透目标服务器,相信这也是大家非常感兴趣的东西。在HTTP事务处理环境中,基础访问身份认证是HTTP用户代理在请求提供用户名和密码时需要使用到的一种安全方法。
在这篇文章中,我们会告诉大家如何保护Apache Web服务器免受未经身份验证的用户非法访问,以及如何隐藏关键核心信息不被非法用户查看到。当然了,我们还会介绍如何利用这些安全缺陷来渗透目标服务器,相信这也是大家非常感兴趣的东西。
HTTP基础认证(BA)
在HTTP事务处理环境中,基础访问身份认证是HTTP用户代理在请求提供用户名和密码时需要使用到的一种安全方法。
实际上,HTTP基础认证(BA)是实现对Web资源访问控制的一种最简单的技术,因为它不需要设计cookie、会话识别符或登录页面,HTTP基础认证是需要使用到HTTP头中的标准字段,而且还不需要进行握手。
但是,BA机制不会为凭证的传输提供机密性保护。它只会在传输过程中对相关信息进行Base64编码,而不会采用任何形式的加密。因此,HTTPS通常需要结合BA一起使用。
实验环境搭建
1、 Apache服务器(Ubuntu 14.04)
2、 渗透测试设备(Kali Linux)
3、 设置密码认证
4、 安装Apache实用 工具 包
使用下列命令安装Apache2实用包:
sudo apt-get install apache2 apache2-utils
创建密码文件
使用htpasswd命令创建密码文件,Apache将会用它来验证用户身份:
sudo htpasswd -c /etc/apache2/.htpasswd raj cat /etc/apache2/.htpasswd gedit etc/apache2/sites-enabled/000-default.conf
在虚拟主机设置中配置访问控制
将下列配置内容保存到000-default.conf文件中:
<Directory "/var/www/html"> AuthType Basic AuthName "Restricted Content" AuthUserFile /etc/apache2/.htpasswd Require valid-user </Directory>
利用.htaccess文件配置访问控制
打开Apache配置文件,修改.htaccess文件来启用密码保护,添加下列代码:
sudo gedit /etc/apache2/apache2.conf ServerName localhost
将AllowOverride参数修改为“All”,保存并重启Apache服务:
<Directory /var/www/> Options Indexes FollowSymLinks AllowOverride All Require all granted </Directory>
现在,我们需要往受限目录中添加一个.htaccess文件。这里我们给整个网站添加限制,当然了,你也可以限制单独目录:
sudo nano /var/www/html/.htaccess AuthType Basic AuthName "Restricted Content" AuthUserFile /etc/apache2/.htpasswd Require valid-user sudo service apache2 restart
确认密码认证
在浏览器中尝试访问受限资源,确认你的内容已受保护。这里会弹出如下所示的验证框:
如果你访问的内容没有弹出认证窗,或者你取消了认证页面,那你将会看到401未授权访问错误。
输入正确的用户名和密码之后,你就应该可以访问网站内容了:
利用HTTP认证漏洞
xHydra
这是一款通过FTP端口和字典攻击入侵系统的图形化工具,在Kali中打开xHydra,选择“Single Target option”,设置目标IP,其他按下图勾选:
Passwords标签页配置如下,配置好字典文件:
切换到Start标签,点击“Start”,可以看到字典攻击的进度以及最终的结果:
Hydra
Hydra可以针对50种协议进行快速的字典攻击,其中包括telnet、ftp、http、https、smb以及多种数据库。操作命令如下:
hydra -L user.txt -P pass.txt 192.168.0.105 http-get
Ncrack
Ncrack是一款高速网络认证破解工具,它可以帮助企业测试网络安全情况,并识别弱密码。操作命令如下:
ncrack -U user.txt -P pass.txt http://192.168.0.105
Metasploit
下面这个模块可以对HTTP认证服务进行攻击,打开Kali终端,输入“msfconsole”,然后输入下列命令:
use auxiliary/scanner/http/http_login msf auxiliary(scanner/http/http_login) > set user_file user.txt msf auxiliary(scanner/http/http_login) > set pass_file pass.txt msf auxiliary(scanner/http/http_login) > set rhosts 192.168.0.105 msf auxiliary(scanner/http/http_login) > set stop_on_success msf auxiliary(scanner/http/http_login) > exploit
后记
希望这篇文章的内容可以帮助大家了解HTTP弱配置的安全风险,并帮助大家更好地提升自己网站的安全性。
* 参考来源: hackingarticles ,FB小编Alpha_h4ck编译,转载请注明来自FreeBuf.COM
以上所述就是小编给大家介绍的《技术分享 | 多种测试HTTP身份验证的方法》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Agile Web Application Development with Yii 1.1 and PHP5
Jeffrey Winesett / Packt Publishing / 2010-08-27
In order to understand the framework in the context of a real-world application, we need to build something that will more closely resemble the types of applications web developers actually have to bu......一起来看看 《Agile Web Application Development with Yii 1.1 and PHP5》 这本书的介绍吧!