Appscan漏洞之Authentication Bypass Using HTTP Verb Tampering
本次针对 Appscan漏洞 Authentication Bypass Using HTTP Verb Tampering(HTTP动词篡改导致的认证旁路)进行总结,如下:
1. Authentication Bypass Using HTTP Verb Tampering
1.1、攻击原理
不安全的HTTP方法PUT/DELETE/MOVE/COPY/TRACE/PROPFIND/PROPPATCH/MKCOL/LOCK/UNLOCK允许攻击者修改web服务器文件、删除web页面、甚至上传web shell获取用户的身份信息等,它们都有可能制造出严重的安全漏洞,开发人员需要对HTTP请求类型进行控制,防止服务器资源被非授权篡改。
1.2、案例分析
APPSCAN用无意义的HTTP动词bogus向服务端发起请求,系统正常返回,显示此系统未对http请求类型进行判断限制,存在HTTP动词篡改漏洞。
BOGUS /fams/admin/j_security_check HTTP/1.1
Accept-Language: en-US
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Referer: http://xxx-core-stg1.paic.com.cn/fams/
Host: xxx-core-stg1.paic.com.cn
User-Agent: Mozilla/4.0 (compatible; MSIE 9.0; Win32)
HTTP/1.1 200 OK
Server: Apache-Coyote/1.1
Content-Type: text/html;charset=utf-8
Content-Length: 477
Date: Wed, 14 Mar 2018 01:56:23 GMT
1.3、防御建议
1. 限制http method,如仅允许GET、POST等类型
2. 使用J2EE标准中提供的Filter方法进行请求类型过滤
3. 检查tomcat的web.xml,weblogic的weblogic.xml配置,对请求类型进行限制,如:
<security-constraint>
<web-resource-collection>
<url-pattern>/*</url-pattern>
<http-method>PUT</http-method>
<http-method>DELETE</http-method>
<http-method>HEAD</http-method>
<http-method>OPTIONS</http-method>
<http-method>TRACE</http-method>
</web-resource-collection>
<auth-constraint></auth-constraint>
</security-constraint>
<login-config>
<auth-method>BASIC</auth-method>
</login-config>
4. Struts中使用request.getMethod方法添加请求拦截器,如:
if(method.equalsIgnoreCase("post")||method.equalsIgnoreCase("get")||method.equalsIgnoreCase("head")||method.equalsIgnoreCase("trace")||method.equalsIgnoreCase("connect")||method.equalsIgnoreCase("options")){}
5. 禁用IIS的WebDAV功能,WebDAV基于 HTTP 1.1 的一个通信协议,它为 HTTP 1.1 添加了一些除GET,POST,HEAD之外的方法,使得应用程序可以直接将文件写到 Web Server 上。
6. apache的httpd.conf文件中进行如下限制
<Location />
<LimitExcept GET POST HEAD CONNECT OPTIONS>
Order Allow,Deny
Deny from all
</LimitExcept>
</Location>
1.4、实际修复方案
1、服务器可以分为Tomcat和WebSphere(WAS)两种,本地为Tomcat,加下2的配置方式,下3的方式主要是针对WAS服务器的。
2、在web.xml文件中加以上的 <security-constraint> 配置。
3、 如果是请求的静态资源,把下属字段另存为文件.htaccess 放到静态资源的文件夹下面。
<LimitExcept GET POST >
Order deny,allow
Deny from all
</LimitExcept>
动态资源的话,需要在java 代码里面实现。
参考下官网的limitexcept指令,IHS 就是基于apache,语法一样的。
http://httpd.apache.org/docs/2.4/mod/core.html#limitexcept
Appscan漏洞之Authentication Bypass Using HTTP Verb Tampering的更多相关文章
- D-Link DIR-600 - Authentication Bypass
#Exploit Title: D-Link DIR-600 - Authentication Bypass (Absolute Path Traversal Attack) # CVE - http ...
- Appscan漏洞之已解密的登录请求
本次针对 Appscan漏洞 已解密的登录请求 进行总结,如下: 1.1.攻击原理 未加密的敏感信息(如登录凭证,用户名.密码.电子邮件地址.社会安全号等)发送到服务器时,任何以明文传给服务器的信息都 ...
- Appscan漏洞之会话标识未更新
本次针对 Appscan漏洞 会话标识未更新 进行总结,如下: 1. 会话标识未更新 1.1.攻击原理 在认证用户或者以其他方式建立新用户会话时,如果不使任何现有会话标识失效,攻击者就有机会窃取已认证 ...
- Appscan漏洞之跨站点请求伪造(CSRF)
公司前段时间使用了Fortify扫描项目代码,在修复完这些Fortify漏洞后,最近又启用了Appscan对项目代码进行漏洞扫描,同样也是安排了本人对这些漏洞进行修复.现在,针对修复过的Appscan ...
- AppScan漏洞“已解密的登陆请求”修复解决方案
最近在修复系统漏洞时,使用新版AppScan扫描IIS站点(WebForm)出现一个严重漏洞“已解密的登陆请求”. 扫描工具修复的建议为在登陆界面不使用含“password”类型的控件或加密录入参数. ...
- 如何修复AppScan漏洞
[AppScan]修复漏洞一:启用不安全的HTTP方法 (中) 漏洞背景: “启用了不安全的 HTTP 方法”属于“中”危漏洞.漏洞描述是:根据APPSCAN的报告,APPSCAN通过OPT ...
- Appscan漏洞 之 加密会话(SSL)Cookie 中缺少 Secure 属性
近期 Appscan扫描出漏洞 加密会话(SSL)Cookie 中缺少 Secure 属性,已做修复,现进行总结如下: 1.1.攻击原理 任何以明文形式发送到服务器的 cookie.会话令牌或用户凭证 ...
- wechall MySQL Authentication Bypass II
首先看看源码 username password分开来验证.但是没做过滤 通常的利用方法是使用union构造已知MD5值的查询. 如果username存在则执行查询,并且为admin.我们用unnio ...
- 得到内网域管理员的5种常见方法<转>
1.Netbios and LLMNR Name Poisoning 这个方法在WIN工作组下渗透很有用,WIN的请求查询顺序是下面三个步骤:本地hosts文件(%windir%\System32\d ...
随机推荐
- TensorFlow之卷积函数(conv2d)
卷积函数是卷积神经网络(CNN)非常核心和重要的函数,在搭建CNN时经常会用到,因此较为详细和深入的理解卷积函数具有十分重要的意义. tf.nn.conv2d(input, filter, strid ...
- redis-sentinel 高可用方案实践
近期公司的一块核心业务使用redis作为配置转发中心,存在单点问题,考虑服务的可靠性.针对业务需求,我们确定了我们的需求: 异地跨机房容灾 故障自动切换 尽可能高的保证数据不丢失 针对以上需求,我们分 ...
- 进程、线程、IP、端口间关系
进程.线程.IP.端口间关系 进程是指在系统中正在运行的一个应用程序: 线程是系统分配处理器时间资源的基本单元,或者说进程之内独立执行的一个单元. 对于操作系统而言,其调度单元是线程.一个进程至少包括 ...
- 【mybatis源码学习】mybatis的反射模块
一.重要的类和接口 org.apache.ibatis.reflection.MetaClass//对于javaBean的calss类进行反射操作的代理类(获取属性的类型,获取属性的get,set方法 ...
- oracle远程连接服务器
一.需要下载的工具 1.PLSQL Developer 下载及安装地址如下: http://www.zdfans.com/html/18196.html 2.下载instantclient-basic ...
- Dubbo版本升级
一.背景 早期内部使用的是当当网fork的Dubbox,由于现在Dubbo又开始重新维护,而且阿里将其捐献给了Apache,并成为了Apache的顶级项目.因此dubbo版本升级到2.7.1势在必行. ...
- (CSDN迁移) 输入一个链表,从尾到头打印链表每个节点的值
题目描述 输入一个链表,从尾到头打印链表每个节点的值. 思路1. 翻转链表,使用java自带的翻转函数或者从头到尾依次改变链表的节点指针 /** * public class ListNode { * ...
- Android MVP框架实现登录案例
一.Model package com.czhappy.mvpdemo.model; /** * author: chenzheng * created on: 2019/5/16 11:06 * d ...
- 测试从应用到DB的准确的网络延迟
最近几大云厂商把底层的基础设施包装起来后,通过Ping等很难知道真正的网络延迟了,因为通过ping还没到db都返回了,如何知道从应用到db的真正网络延迟呢? 用我的脚本 #!/bin/bash m= ...
- javaScript Es6数组与对象的实例方法
个人心得 我们在没有接触Es6方法之前,做一些算法之类的事情是就比较麻烦,在做的过程中也要考虑很多的问题,比较麻烦,而Es6的方法正是来方便我们在平常运用时能够将问题简便化,大大的减少我们的日常代码 ...