首页 > 其他分享 >Web中的文件上传漏洞(中间件)

Web中的文件上传漏洞(中间件)

时间:2024-09-09 14:52:28浏览次数:13  
标签:Web php 文件 后缀 中间件 漏洞 解析 上传

1.前言:

 漏洞参考地址:Vulhub - Docker-Compose file for vulnerability environment

2.正文:

1.1 IIS漏洞

利用版本:IIS6 7

iis漏洞其实就是利用了其解析特性。

1.目录解析漏洞 :在IIS中,如果你的文件夹带有asp等可以执行的结尾,那么此文件夹中的所有文件都会被当成asp文件进行执行。

2.文件解析漏洞:在IIS中,例如,如果你将文件名命名为1.asp;1.jpg,那么;后面的内容将不被解析,从而当成asp进行解析。

当然,要想利用这个漏洞,你的文件名和目录地址得是可以自定义的。

2.2 Apache漏洞
2.2.1Apache  HTTPD 多后缀解析漏洞

漏洞成因:.htaccess配置不当导致,适用任何apache的版本。

Apache HTTPD 支持一个文件拥有多个后缀,并为不同后缀执行不同的指令。如若运维人员写了这样一个代码:

AddHandler application/x-httpd-php .php

那么,你的所有后缀是带有php的,不管是第几个,都会被当成php代码执行。

漏洞利用环境:白名单绕过。

2.2.2Apache HTTPD 换行解析漏洞

Apache HTTPD是一款HTTP服务器,它可以通过mod_php来运行PHP网页。其2.4.0~2.4.29版本中存在一个解析漏洞,在解析PHP时,1.php\x0A将被按照PHP后缀进行解析,导致绕过一些服务器的安全策略。

当你发现上传文件禁止php时,可以在1.php后面插入一个\x0A,即在二进制文件中插入0a,访问文件时访问1.php%0a,可正常按照php进行解析。

对于是否有这个漏洞,可以任意一个php文件加%0a进行验证。

漏洞利用环境:黑名单绕过。

2.3Nginx漏洞
2.3.1Nginx 文件名逻辑漏洞

影响版本:Nginx 0.8.41 ~ 1.4.3 / 1.5.0 ~ 1.5.

这个漏洞其实和代码执行没有太大关系,其主要原因是错误地解析了请求的URI,错误地获取到用户请求的文件名,导致出现权限绕过、代码执行的连带影响。

不是很懂,类似于1.gif[0x20][0x00].php这样进行编辑,即可发现PHP已被解析。

参考链接:

漏洞利用环境:白名单绕过。 

2.3.2Nginx 解析漏洞

该漏洞与Nginx、php版本无关,属于用户配置不当造成的解析漏洞。

简单来说就是对于例如1.png文件,你在访问时在后面加上/.php,即访问1.png/.php,文件会被当成php进行执行。

3.总结:

中间件漏洞还是少数,在java的中间件中甚至都没有这样的文件上传漏洞。在前期的渗透测试和信息打点时,我们可以留意这种中间件的版本信息,从而碰到文件上传时,可以尝试是否可以利用相应漏洞。

标签:Web,php,文件,后缀,中间件,漏洞,解析,上传
From: https://blog.csdn.net/ajjsjd/article/details/142032270

相关文章

  • Apache:从Web服务器到数据可视化的技术探索
    Apache:从Web服务器到数据可视化的技术探索Apache,作为开源技术的佼佼者,自诞生以来便以其稳定、高效和跨平台等特性赢得了广泛的应用。从ApacheHTTPServer到ApacheSuperset,Apache项目涵盖了从Web服务到数据可视化等多个领域。本文将深入探讨Apache在Web服务器配置与Apache......
  • 组态软件之万维组态介绍(web组态、html组态、vue2/vue3组态、组态软件、组态编辑器)
     一、什么是组态软件组态软件是一种用于创建、配置和管理监控和控制系统的软件工具。组态是指不需要编写计算机程序、通过配置的方式完成工业应用开发的系统。它们通常用于工业自动化领域,用于实时监视和控制工业过程。组态软件提供了丰富的功能和工具,使用户能够创建用户界......
  • Javaweb-JDBC-API详解
    packageDUIXIANG;publicclassAccount{privateintid;privateStringname;privateDoublemoney;publicintgetId(){returnthis.id;}publicvoidsetId(intid){this.id=id;}publicStringgetName(){returnthis.name;}publicvoidsetName(String......
  • 基于Service Worker实现WebRTC局域网大文件传输能力
    基于ServiceWorker实现WebRTC局域网大文件传输能力ServiceWorker是一种驻留在用户浏览器后台的脚本,能够拦截和处理网络请求,从而实现丰富的离线体验、缓存管理和网络效率优化。请求拦截是其关键功能之一,通过监听fetch事件,ServiceWorker可以捕获所有向网络发出的请求,并有选择地......
  • c# 读取上传excel转换为DataTable
    varfiles=Request.Files;if(files==null||files.Count==0){returnJson(new{code=1,msg="未获取到文件"});}varfile=files[0];vardt=ReadExcelToDataTable(file.InputStream);returnJson(new{code=1,msg="已读取Excel......
  • 前端学习笔记-Web APls篇-05
    Bom操作1.Window对象 1.1BOM(浏览器对象模型)BOM(BrowserObjectModel)是浏览器对象模型window对象是一个全局对象,也可以说是JavaScript中的顶级对象像document、alert()、console.log()这些都是window的属性,基本BOM的属性和方法都是window的。所有通过var定义在全局作......
  • 【Java】已解决:org.springframework.web.multipart.MultipartException
    文章目录一、分析问题背景二、可能出错的原因三、错误代码示例四、正确代码示例1.配置文件上传限制2.控制器代码五、注意事项已解决:org.springframework.web.multipart.MultipartException一、分析问题背景在使用Spring框架进行文件上传时,开发者可能会遇到o......
  • Javaweb-事务
    注意在当前窗口是修改了的:而在其他窗口是不修改的:select@@autocommit;修改为手动提交:......
  • Javaweb-多表查询案例
    数据准备DROPTABLEIFEXISTSemp;DROPTABLEIFEXISTSdept;DROPTABLEIFEXISTSjob;DROPTABLEIFEXISTSsalarygrade;--部门表CREATETABLEdept(idINTPRIMARYKEYPRIMARYKEY,--部门iddnameVARCHAR(50),--部门名称locVARCHAR(50)--部门所在地);-......
  • JavaWeb学习笔记,关于HTML的入门标签及属性
    一.HTML入门结构标签以及特点   以上标签即为HTML的入门标签,包括了HTML的基本框架结构标签以及部分常用标签,需要注意的是,HTML的语法松散,但我们更要严格要求自己,使用正常符合要求的代码格式,以免后期出现错误而无法及时发现问题,值得提起的还有,<h1>到<h6>是HTML中预定义好......