如何在我的网站上找到文件上传漏洞?

在客户网站的日常渗透测试服务中,我们经常会遇到客户网站。app具有上传文件的功能。程序员在设计和开发代码的过程中,会对上传的文件类型、格式和后缀进行安全验证和过滤判断。在测试文件上传漏洞时,经常发现的网站漏洞是由服务器环境漏洞造成的,如IIS、apache、nginx NGINX环境,这些环境都有可能导致任何文件上传的漏洞。
关于文件上传漏洞的生成和测试,让我们详细分析它们:
任何由IIS解析漏洞导致的文件上载
首先,构建客户端网站使用的IIS环境是很常见的。一般来说,它是由IIS php Mysql数据库或IIS aspx sql2005数据库组合而成的。IIS有一个解析漏洞。创建文件名时。这个目录中的所有文件或代码都将在PHP脚本的许可下运行,比如一个客户端网站。您可以将上传的目录更改为1.php,然后如果我们将jpg文件上传到这个目录,并从浏览器访问域名/1.php/1.jpg的地址,php脚本将有权运行。过去上传网站木马时,你会直接获得网站的管理权限。存在IIS分析漏洞的版本是5.0-6.0版。
由nginx解析漏洞导致的任何文件上载
Nginx是一个静态访问,具有很大的并发性,可以进行多次访问。目前,许多网站正在使用服务器环境。简单地说,它是HTTP访问的代理。它速度快且稳定,受到许多网站运营商的喜爱。在最低版本的nginx中存在一个解析漏洞,这可能导致运行PHP脚本文件。该漏洞的原因是,当php.ini配置文件与nginx一起被解析时,默认的后缀名称被认为是最重的文件名,因此后缀名称可以被修改以执行php文件。在渗透测试中,我们发现客户端网站打开nginx和fast-cgi模式后,很容易将网站木马上传到网站目录。我们将jpg图片文件插入一个句子木马代码,并上传到网站的图片目录。
当我们访问这张图片时,我们直接在后面输入/1.php,这将导致图片文件以php脚本权限运行。如下图所示:
apache解析漏洞导致的任何文件上传
Apache也是目前使用较多的服务器环境,尤其是php网站。因为它稳定、快速且易于访问PHP,所以它可以将一些第三方开发语言编译成网站。阿帕奇也有漏洞。特别是在apache 1.0-2.0版本中,后缀名称判断没有详细的规定,这可以绕过Apache安全机制并上传恶意文件名。默认情况下,允许解析多个扩展名。如果apache无法识别和解析命名的扩展名,它将期待找到扩展名,直到apache能够识别扩展名,并且它将被直接成功解析。此文件上载漏洞的条件是需要打开模块模式,而不是无法上载此模式。当我们在客户网站上进行渗透测试时,我们首先将后缀名称改为apache not approved,然后发布它并直接运行php脚本。如下图所示:
一般来说,任何文件上传漏洞的发生也存在于服务器环境中,那么如何在渗透测试中修复该漏洞呢?将IIS版本升级到7.0以上,将Nginx版本升级到最新版本,包括将apache版本升级到2.4以上,可以通过判断上传功能代码中的文件格式并限制目录的创建来防止上述问题。
- 上一篇:Seo顾问是一个什么职位
- 下一篇:关于修订收录条款的建议