如何在网站中找到文件上传漏洞?
发布时间:2021-07-02 点击次数:455 发布来源:推来客

短视频,自媒体,为人们种草提供一站式服务

在对客户网站的日常渗透测试服务中,经常会遇到针对SINE安全的客户网站,app具有文件上传功能。程序员在设计开发代码的过程中,会对上传的文件类型、格式、后缀进行安全验证和过滤判断。SINE安全工程师在测试文件上传漏洞时,往往会发现服务器环境漏洞导致的网站漏洞,比如IIS、Apache、NGINX环境,这些环境都存在可以导致任意上传文件的漏洞。

关于文件上传漏洞的生成和测试,我们来详细分析一下:

IIS解析漏洞导致的任意文件上传

首先,构建客户网站使用的IIS环境是很常见的,一般是IIS php Mysql数据库组合或者IIS aspx sql2005数据库。IIS有解析漏洞。当文件名创建为。PHP,这个目录下的所有文件或者代码都会在PHP脚本的许可下运行,比如某个客户网站。您可以将上传的目录更改为1.php,然后如果我们将jpg文件上传到这个目录,访问的网址是域名/1.php/1.jpg。如果您从浏览器访问这个地址,它将是php脚本运行的权限。上传网站木马webshell时,会直接获得网站的管理权限。带有IIS解析漏洞的版本是5.0-6.0。

nginx解析漏洞导致的任意文件上传

Nginx是静态访问,并发量大,可以承载多人访问。目前,许多网站都在使用服务器环境。简单来说就是HTTP访问的代理,在很多网站运营商中比较流行。nginx最低版本存在解析漏洞,可能导致运行PHP脚本文件。造成该漏洞的原因是当用nginx解析php.ini配置文件时,默认后缀被认为是最重的文件名,可以修改。我们的SINE安全在渗透测试中发现,客户的网站打开nginx和fast-cgi模式后,会很容易将网站木马上传到网站目录。我们把jpg图片文件插入一个木马代码,上传到网站图片目录。

我们访问这个图片的时候,直接在后面输入/1.php,会导致图片文件以php脚本权限运行。如下图所示:

apache解析漏洞导致的任意文件上传

Apache也是目前应用比较广泛的服务器环境,尤其是php网站,因为它稳定、快速、易于PHP访问,可以把一些第三方开发语言编译到网站中。apache也有漏洞,尤其在apache 1.0-2.0版本中,这里没有详细指定后缀名称判断,导致绕过Apache安全机制,上传恶意文件名。默认情况下,允许解析多个后缀名称。如果命名的后缀名称不能被apache识别用于解析,后缀名称将被向前搜索,直到后缀名称被apache识别。该文件上传漏洞的使用条件是需要开启模块模式,而不是不能上传该模式。我们的SINE安全在客户网站进行渗透测试的时候,会先把后缀改成apache Unapproved,然后POST上传,直接运行php脚本。如下图所示:

一般来说,服务器环境中也存在任何文件上传漏洞,那么如何在渗透测试过程中修复漏洞呢?将IIS版本升级到7.0或更高版本,将Nginx版本升级到最新版本,包括apache版本升级到2.4或更高版本,在上传的功能代码中判断其文件格式,并限制目录的创建,可以防止上述问题的发生。

最新案例更多>>
设计行业网站案例 2
设计行业网站案例 2022-06-23 14:22
辣子鸡网站建设案例 3
辣子鸡网站建设案例 2022-01-08 15:30
成都高端设计公司网站案例 4
成都高端设计公司网站案例 2022-03-08 12:05
成都某高端装修公司网站定制案例 5
成都某高端装修公司网站定制案例 2023-02-28 18:41

在线咨询

在线咨询

QQ咨询

QQ在线咨询

电话沟通

189-8192-4272

微信咨询

扫一扫添加
客服微信

TOP