网站安全检测内容(渗透测试中发现客户网站任意文件上传漏洞的产生以及测试)

优采云 发布时间: 2022-02-10 19:08

  网站安全检测内容(渗透测试中发现客户网站任意文件上传漏洞的产生以及测试)

  在日常为客户网站进行渗透测试服务时,我们经常会遇到客户网站,app有文件上传功能,程序员在设计开发过程中会上传文件类型和格式代码。,后缀名用于安全验证和过滤判断。工程师在测试文件上传漏洞时,经常发现的网站漏洞是由服务器环境漏洞引起的,如IIS、apache、nginx环境等。可导致任意文件上传的漏洞。

  

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

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

  首先,比较常见的是搭建客户使用的IIS环境网站,通常是IIS+PHP+Mysql数据库,或者IIS+aspx+sql2005数据库的组合,IIS有解析漏洞,创建的时候一个名为 .php 的文件,此时该目录下的所有文件或代码都将以 PHP 脚本的权限运行。比如其中一位客户网站可以把上传的目录改成1.php,那么我们上传jpg文件到这个目录,访问的url就是域名/1.php/< @1.jpg 从浏览器访问这个地址会运行有权限的 php 脚本。上传网站木马webshel​​l时,会直接获得网站的管理权限。存在IIS解析漏洞的版本为5.0-6.0。

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

  Nginx 是静态访问和大并发,可以承载多个访问。目前很多网站都在使用服务器环境。简而言之,它是 HTTP 访问的代理。> 操作者喜欢,nginx最低版本存在解析漏洞,可导致运行PHP脚本文件。漏洞的原因是用nginx解析php.ini配置文件时,默认后缀被认为是最重要的。文件名,这样可以修改后缀名来执行PHP文件。在我们的渗透测试中,我们发现客户网站开启nginx和fast-cgi模式后,很容易将网站木马上传到网站目录,我们插入将jpg图片文件转成句子木马代码,上传到网站的图片目录。

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

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

  Apache也是目前用的比较多的服务器环境,尤其是php网站用的比较多,因为它稳定、快速、易于访问PHP,一些第三方开发语言可以编译成网站,apache也有漏洞,尤其是apache1.0-2.0版本,后缀名判断这里不详述,可以绕过apache安全机制上传恶意文件名。默认是允许解析多个后缀名。如果命名的后缀名没有被apache识别出来进行分析,就会向前寻找后缀名,直到后缀名被apache识别出来,才会直接解析成功。该文件上传漏洞的利用条件是需要开启模块模式,没有此模式无法进行上传。我们SINE Security在对客户网站进行渗透测试时,会先将后缀名改成apache无法识别的,然后通过POST上传,直接运行php脚本。如下所示:

  

  一般来说,任意文件上传漏洞的发生也存在于服务器环境中,那么渗透测试中的漏洞如何修复呢?IIS版本升级到7.0以上,Nginx版本升级到最新版本,包括apache版本到2.4以上,在上传函数代码中判断文件格式,限制目录创建,可以杜绝以上问题。

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线