(转载翻译)OWASP 4.2.3 测试文件扩展名处理的敏感信息

nicky   ·   发表于 2020-04-04 21:36:27   ·   技术文章投稿区

概要

WEB服务器通常使用文件扩展名来确定必须使用哪些技术,语言还有插件来满足WEB请求。尽管这种行为与RFC和WEB标准一致,但使用标准文件扩展名可以为渗透测试人员提供有关WEB设备中使用的基础技术的有用信息,并大大简化了攻击方案。此外,对WEB服务器的错误配置可能会轻易泄露有关登录信息。

扩展名检查通常在验证要上传文件的地方,这可能会有一些意外结果,因为内容是随机的而且会有奇奇怪怪的OS文件来处理。

确定WEB服务器如何处理具有不同扩展名的文件相对应的请求,可以帮助理解WEB服务器的行为,具体取决于所访问文件的类型。比如,它可以帮助理解哪些文件扩展名是以文本或纯文本形式返回,而不是导致在服务器端执行的文件扩展名。后者是WEB服务器或应用程序服务器所使用的技术,语言或插件,并且可以提供有关如何设计WEB应用程序更多见解。

比如.pl扩展名通常是与服务器端Perl有关系。但是仅文件扩展名可能会具有欺骗性,并且完全不能确定。不过可以重命名Perl服务器端资源来掩盖它们确实与Perl相关的事实。

测试方法

强制浏览:
提交具有不同文件扩展名的请求并验证其处理方式。验证基于每个WEB目录。验证可以允许脚本执行的目录。WEB服务器目录可以通过工具扫描出来。另外通过镜像网站结构,渗透测试人员可以重构应用程序提供的网站目录结构。

如果WEB应用程序体系是负载均衡的,则评估所有WEB服务器内容非常重要。根据平衡基础架构的配置,这个难度跨度会很大。在组件基础架构中,各个WEB或应用程序服务器的配置可能略有不同。如果WEB架构采用异构技术,则可能会发生这种情况(得以负载均衡的配置下考虑一组IIS和Apache WEB服务器,这可能会让它们引入一些不对称的行为,并且可能存在不同的漏洞)

例子
渗透测试人员在测试的时候发现一个名为connection.inc的文件,点进去发现一些有趣的内容:

测试人员确定了MySQL DBMS后端存在以及WEB应用程序的弱密码登录信息。

WEB服务器不会返回以下文件扩展名,因为它们肯能会包含敏感信息文件或没有理由为其提供服务比如说:
.asa
.inc
.config

下面的文件扩展名与浏览器显示或下载有关,因此有必要检查一下扩展名的信息,来验证确实提供了这些信息而不包含敏感信息
.zip,.tar,gz.tgz,.rar压缩的存档文件
.java:没有理由提供对Java源文件访问
.txt:文本文件
.pdf: Pdf文件
.doc,.rtf,.xls,.ppt: office文件

为了识别具有给定扩展名的文件,可以采用多种技术。这些技术可以是漏扫,爬虫,镜像工具,手动检查(花费时间较长),查询搜索引擎。还有备份文件和未引用文件。

文件上传

Window8.3旧时文件处理有时可以用来破坏文件上传过滤器比如:
file.phtml会当作PHP代码执行
FILE~1.PHT是已提供,但未由PHP ISAPI处理程序处理
shell.phPWND可以上传
SHELL~1.PHP可以作为OS shell扩展并返回,然后由ISAPI处理

转载:https://github.com/OWASP/wstg/blob/master/document/4-Web_Application_Security_Testing/02-Configuration_and_Deployment_Management_Testing/03-Test_File_Extensions_Handling_for_Sensitive_Information.md

用户名金币积分时间理由
奖励系统 100.00 0 2020-09-02 20:08:19 投稿满 10 赞奖励
奖励系统 50.00 0 2020-09-02 09:09:42 投稿满 5 赞奖励
牛宝宝 1.00 0 2020-05-26 12:12:08

打赏我,让我更有动力~

0 Reply   |  Until 2020-4-4 | 603 View
LoginCan Publish Content
返回顶部 投诉反馈

© 2016 - 2022 掌控者 All Rights Reserved.