启用了不安全的HTTP方法解决办法 IBM APPSCAN

启用了不安全的HTTP方法解决办法  IBM APPSCAN

安全风险:

可能会在Web 服务器上上载、修改或删除Web 页面、脚本和文件。

可能原因:

Web 服务器或应用程序服务器是以不安全的方式配置的。

修订建议:

如果服务器不需要支持WebDAV,请务必禁用它,或禁止不必要的HTTP 方法。

方法简介:

除标准的GET和POST方法外,HTTP请求还使用其他各种方法。许多这类方法主要用于完成不常见与特殊的任务。如果低权限用户可以访问这些方法,他们就能够以此向应用程序实施有效攻击。以下是一些值得注意的方法:

  PUT    向指定的目录上载文件
  DELETE   删除指定的资源
  COPY   将指定的资源复制到Destination消息头指定的位置
  MOVE   将指定的资源移动到Destination消息头指定的位置
  SEARCH   在一个目录路径中搜索资源
  PROPFIND   获取与指定资源有关的信息,如作者、大小与内容类型
  TRACE   在响应中返回服务器收到的原始请求

其中几个方法属于HTTP协议的WebDAV(Web-based Distributed Authoring and Versioning)扩展。

渗透测试步骤:

使用OPTIONS方法列出服务器使用的HTTP方法。注意,不同目录中激活的方法可能各不相同。

许多时候,被告知一些方法有效,但实际上它们并不能使用。有时,即使OPTIONS请求返回的响应中没有列出某个方法,但该方法仍然可用。

手动测试每一个方法,确认其是否可用。

使用curl测试:

curl -v -X OPTIONS http://www.example.com/test/

查看响应的 Allow: GET, HEAD, POST, PUT, DELETE, OPTIONS

curl -v -T test.html  http://www.example.com/test/test.html

看是否能上载来判断攻击是否生效。

找一个存在的页面,如test2.html

curl -X DELETE http://www.example.com/test/test2.html

如果删除成功,则攻击有效。

解决方案:

如tomcat,配置web.xml

<security-constraint>
<web-resource-collection>
<web-resource-name>fortune</web-resource-name>
<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>

重启tomcat即可完成。

以上的代码添加到某一个应用中,也可以添加到tomcat的web.xml中,区别是添加到某一个应用只对某一个应用有效,如果添加到tomcat的web.xml中,则对tomcat下所有的应用有效

时间: 2024-12-20 19:39:39

启用了不安全的HTTP方法解决办法 IBM APPSCAN的相关文章

AOP无法切入同类调用方法解决办法

问题:当AOP切入一个类的所有方法时,该类中的方法互相调用则只会增强最外层方法,被调用的方法不会增强 解决办法如下: 1.spring版本或较老的spring boot版本 解决方法是在applicationContext.xml中添加一段<aop:aspectj-autoproxy proxy-target-class="true"expose-proxy="true"/> <?xml version="1.0" encodi

网络发现不能启用,无法共享其他机器的解决办法

主要原因是网络发现所依赖的服务没有启用,或者被禁用:网络发现所依赖的服务如下:Function Discovery Resource PublicationSSDP DiscoveryUPnP Device Host 启动这三个服务后,“网络发现”就可以正常使用了:计算机----管理----服务与应用程序----服务----(找到这三个服务开启就可以用了) 将启动类型改为自动,然后点应用,再把服务状态改为启动

jframe 对象(GroupedAction)传递无法调用对象的方法解决办法

Display.getDefault().syncExec(new Runnable() { public void run() { pmtsStreamViewsAction.refreshPerspective( viewId, w); } });

Android内存泄漏的本质原因、解决办法、操作实例

今年最后一个迭代终于结束了,把过程中碰到的不熟悉的东西拉出来学习总结一下 内存泄漏的本质是:[一个(巨大的)短生命周期对象的引用被一个长生命周期(异步生命周期)的对象持有] 这个东西分为两个部分 获得一个(巨大的)短生命周期的对象 这个[巨大的短生命周期的对象]在Android中最有可能的就是[Activity]了 最容易无意识获得它的方式就是[非静态内部类隐式自动持有外部类的强引用] 把这个对象赋值给了一个长生命周期的对象 这个有一些常见的套路 套路一:直接赋值给了一个类的静态成员 这个静态成

几个开发中遇到的问题及解决办法

1 StatusCode: 404, ReasonPhrase: 'Not Found', Version: 1.1解决办法:将请求中的localhost 改为实际的IP2 HttpClient 无法调用PostAsJsonAsync()方法 解决办法:添加System.Net.Http.Formatting的依赖引用 3:ASP.NET CORE webapi客户端访问Controller时找不到对象的方法,报出错误:AmbiguousActionException: Multiple act

lambda的where条件里面使用日期计算报错的解决办法

报错原因是因为SQL语句不识别C#的计算时间的方法 解决办法: 1,引用EntityFramwork    nuget命令:  Install-Package EntityFramework 2,IQueryable<Biz_Employee> employeeExistViolationQueryable = uow.Biz_Employee.GetAll().Where(p => !p.Invalid && p.IDNumber == employee.IDNumbe

IIS7下js文件启用Gzip后却不压缩的解决方法

本文转载:http://www.jb51.net/article/26340.htm IIS7下js文件启用Gzip后却不压缩的解决方法IIS7已经启用静态文件压缩(Gzip)但是死活不压缩,查找后发现是II7下MIME类型设置问题 将.js的MIME类型设置为application/javascript 再查看页面,已经启用了Gzip. 不过,几个天后又发现有的js文件被压缩,有的却没有. 查找原因发现是引用js文件是没有设置type <script></script> <

无法启动MYSQL服务”1067 进程意外终止”解决办法——汇总及终极方法

自己一开始按照百度经验里的方法--<MySQL下载安装.配置与使用(win7x64)>去安装和配置,但是到后面步骤总是出现1067代号的错误.慢慢折腾去解决. 这里汇总各种导致mysql提示无法启动MYSQL服务"1067 进程意外终止"的一些解决办法.自己遇到这个问题是查了很多方法不行,最后看到一个论坛的讨论,试了一下竟然可以.一下是网上的部分方法,最后可以的那个方法我放在最后面: 启用MySql服务的时候出现"windows无法启动mysql服务(位于本地计算

在windows server 2008中安装SQL Server 2008 R2 1433端口未启用解决办法

SQL Server 一般默认的端口为 1433 ,但有时会遇到无法连接端口1433的问题,检查端口1433是否启用的方法为: 开始–>输入cmd –>回车–>telnet localhost 1433->回车   出现黑屏,表示本机连接端口1433成功. 或者 开始–>输入cmd –>回车–>netstat -an | find "1433"->回车 出现1433端口,表示本机1433端口开放. 我本次安装过程中遇到的问题:1433端口