文件上传漏洞原理

一,文件上传漏洞定义

文件上传漏洞是web系统中常见的一种功能,通过文件上传能实现上传图片、视频,以及其他类型的文件,但是随着web中包含的功能越来越多,潜在的网络安全风险也就越大。

如果恶意用户上传了可执行的文件或者脚本,就会导致网站被其控制甚至会使其服务器沦陷,以至于引发恶意的网络安全事件。

二,文件上传漏洞原理

通尝来说文件上传功能是没有问题的,主要是服务器如何对上传的文件如何进行处理。

若WEB未对用户上传的文件进行有效的审查,若存在恶意用户对其上传一句话木马,从而实现控制WEB网站的目的。
下面是一句话木马的简单介绍

<?php @eval($_POST['attack']);?>简单的一句话木马

常见的一句话木马:php的一句话木马: <?php @eval($_POST['pass']);?>
asp的一句话是: <%eval request ("pass")%>
aspx的一句话是: <%@ Page Language="Jscript"%> <%eval(Request.Item["pass"],"unsafe");%>

这句话什么意思呢?

(1)php的代码要写在<?php ?>里面,服务器才能认出来这是php代码,然后才去解析。
(2)@符号的意思是不报错,即使执行错误,也不报错。

为什么密码是cmd呢?

那就要来理解这句话的意思了。php里面几个超全局变量:$_GET、$_POST就是其中之一。$_POST['a']; 的意思就是a这个变量,用post的方法接收。

注释:传输数据的两种方法,get、post,post是在消息体存放数据,get是在消息头的url路径里存放数据(例如xxx.php?a=2)

如何理解eval()函数?

eval()把字符串作为PHP代码执行。】


三,文件上传思路

常规类
扫描获取上传,会员中心头像上传,后台系统上传,其他途径上传。

cms类
已知道的cms源码。

编辑类
ckeditor,fckeditor,kindeditor,xxxxeditor。

其他类/CVE
代码审计,平台或第三方应用。

web界面存在的风险点
上传头像、上传身份认证、上传文件以及有存在文件上传的地方就可能存在相关的漏洞,但不是有文件上传就一定有漏洞,但有文件上传就能进行测试。

文件上传实战思路
上传文件和文件执行是两个东西

漏洞分类:解析漏洞、cms漏洞、其他漏洞(编辑器漏洞、cve漏洞、安全修复)

思路:

如果有一个网站,要从文件上传的方向开始

第一步:先看中间件,看是否存在解析漏洞/CMS/编辑器漏洞/CVE/

如果有,如何找:

字典扫描:扫描会员中心,文件上传的位置

找到后,如何利用:

验证/绕过

四,解析漏洞


1.解析漏洞解释


解析漏洞就是指服务器应用程序在解析某些精心构造的后缀文件的时候,会将相关的文件解析成网页的脚本,从而导致实现控制网站,同时大部分的解析漏洞都是由应用程序产生的。

IIS解析漏洞
IIS5.0/6.0
目录解析

在以. asp文件名的文件夹下的任何文件都将作为asp文件执行。

也就是当目录为XX.asp的时候,那么当访问下面的图片的时候,如XX.aps/1.jpg就会被当作ASP执行。

2,文件解析

如果文件为1.asp;.jpg,由于IIS不解析;后面的内容,使用就会把文件当作1.asp进行解析,同时还存在.asa、.cer、.cdx可以进行解析。

修复建议

1)限制上传目录的执行权限,不允许执行脚本。

2)不允许创建目录。

3)上传的文件进行重命名。

IIS7.0/IIS7.5
IIS7.0/IIS7.5Fast-CGI

在Fast-CGI开启的状态下,在类似1.jpg后面加上/1.php,变成/1.jpg/1.php路径会解析成PHP文件。需要进入php.ini里面修改cig.cgi_ pathinfo=1。

将1.txt文本文件中的后门代码写入到1.jpg图片的二进制代码:

copy 1.jpg/b + 1.txt/a 1.jpg

1.txt的文件内容为:

<?PHPfputs(fopen('shell.php','w'),'<?php eval($_POST[password])?>');?>
当在图片文件中写入后门代码,当访问这个图片的时候加上/.php的时候就会在当前目录下生成一句话木马shell.php。

修复建议

配置cgi.fix_pathinfo(php.ini中)为0并重启php-cgi程序

apache解析漏洞
apache解析漏洞
在apache1.x和apache2.x中存在解析漏洞。

当一个文件为1.php.yy.xx的时候就会被当作php执行,这是由于在apache解析文件的时候有一个原则就是,以.后面的扩展名来解析,当遇见不认识的扩展名的时候,就会向前解析,直到遇到能够解析的后缀名为止。

如:1.php.yy.xx,首先会解析xx,xx无法解析就会去解析yy,yy无法解析就会去解析php,那么php是能够解析了,那么就会结束。

这种方式多用于绕过黑名单的检查。

修复建议
1)更新至最新版本。

将上传的文件进行重命名。

解析漏洞
nginx<8.03
nginx配置文件错误

由于nginx默认是用cgi解析php的,因此和iis一样可以制作图片马进行上传。

当在图片文件中写入后门代码,当访问这个图片的时候加上/.php的时候就会在当前目录下生成一句话木马shell.php。

修复建议

1)配置cgi.fix_pathinfo(php.ini中)为0并重启php-cgi程序

2)或如果需要使用到cgi.fix_pathinfo这个特性(例如:Wordpress),那么可以禁止上传目录的执行脚本权限。 或将上传存储的内容与网站分离,即站库分离。

3)或高版本PHP提供了security.limit_extensions这个配置参数,设置security.limit_extensions = .php

nginx 0.5/0.6/0.7<=0.7.65/0.8<=0.8.37
nginx空字节任意代码执行

当使用PHP-FastCGI执行PHP时,遇到url里面存在%00空字节时与FastCGI的处理不一致,导致可在非PHP文件中嵌入PHP代码,通过访问url+%00.PHP来执行其中的PHP代码。

比如上传一张图片马1.jpg,那么当访问这个图片马的时在1.jpg后面添加%00.php就会将图片马以php执行。

修复建议

1)升级nginx版本。

3,编辑器漏洞


介绍
编辑器也就是在线的web编辑器,比如在搭建博客后需要发布文章,那么用来发布文章的界面就是web编辑器。当然web编辑器有很多,如:UEDITOR(百度)、eWebEdit、FCKeditor、CKEditor(新版fck)、Kindeditor、DotNetTextBox、CuteEditor等等。

五,WAF绕过


5.1.WAF绕过解释


waf绕过其实就是将数据包截获到,对里面的内容进行解析,比如对文件的后缀名就判断是否在相应的黑名单中,文件内容中是否存在webshell代码。

总的来说文件上传都是在数据包中进行各种操作来进行绕过。

5.2.上传参数名解析


Content-Disposition :一般可更改

name:表单参数值,不能更改

filename:文件名,可以更改

例如应用bp修改

Content-Type:文件MIME,视情况更改

5.3.绕过方式
5.3.1.数据溢出
5.3.1.1.form-data与name之间

在form-data;与name="upload_file"; filename="2.php"之间添加大量的垃圾数据,可以边添加边测试直到上传上去,主要添加的垃圾数据需要在后面添加一个";"进行结尾。

5.3.1.2.name与filename之间

当然这里不单单可以插入在form-data;与name="upload_file"; filename="2.php"之间,也可以在name="upload_file"; 与filename="2.php"之间。但是数据不能乱插入,比如你插在2.php中,那肯定不行,一般情况下,文件名称长度都可能存在限制,并且太长也上传不上去。


5.3.2.1.filename符号变异

符号变异也就是将单双引号变换使用,或者单双引号缺失一部分进行使用,或者不使用单双引号来进行绕过。目前测试好像是无法通过了。

Content-Disposition: form-data; name="upload_file"; filename="2.php

Content-Disposition: form-data; name="upload_file"; filename='2.php

Content-Disposition: form-data; name="upload_file"; filename=2.php

5.3.2.2.form-data符号变异

Content-Disposition:"form-data"; name=upload_file; filename="2.php"

Content-Disposition:'form-data'; name="upload_file"; filename='2.php'

5.3.3.数据截断
5.3.3.1.回车换行

通过换行来实现绕过,但是中间不能有空行。


5.3.3.2.分号截断

若WAF匹配文件名到分号截止,则可以绕过。

5.3.4.字段名变换
5.3.4.1.大小写变换

对这三个字段进行大小写进行变换,比如将name换成Name、Content-Disposition换成content-disposition等等。

5.3.4.2.顺序颠倒

针对name和filename这两个字段,我们可以尝试交换name和filename的顺序。(由于有规定Content-Dispositon必须在前面,因此我们不能修改该字段的内容)

5.3.5.重复数据


通过设置多个参数进行匹配,避免被匹配到。

Content-Disposition: form-data; name="upload_file";filename="2.jpg";filename="2.jpg";filename="2.jpg";filename="2.jpg";......filename="2.php";

最全的文件上传漏洞之WAF拦截绕过总结:干货 | 最全的文件上传漏洞之WAF拦截绕过总结-腾讯云开发者社区-腾讯云

本文参考了部分csdn大佬写的博客论文,内容仅供参考

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1224176.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SpringCloud网页如何上传大文件夹并保留目录?

大文件传输解决方案 作为福建农业集团的项目负责人&#xff0c;我理解您面临的是一个具有挑战性的大文件传输需求&#xff0c;涉及国家安全级别的高要求。基于您提供的详细需求&#xff0c;我将从技术架构、解决方案和源代码示例三个方面为您提供专业建议。 一、需求分析与技…

SpringMVC分块上传大文件有什么技巧?

大文件传输系统解决方案 作为广东某软件有限公司的项目负责人&#xff0c;针对贵司提出的政府级大文件传输系统需求&#xff0c;我司提供以下专业解决方案。 需求分析与痛点解决 核心需求匹配 超大文件传输&#xff1a;支持100G单文件传输&#xff0c;文件夹传输保留层级结…

UEDITOR的ELECTRON版本如何优化WORD图片转存速度?

企业级Word导入与粘贴功能解决方案 作为安徽IT行业集团上市公司的项目负责人&#xff0c;针对文章中提出的需求&#xff0c;我将提供一套完整的解决方案。 一、需求分析与技术评估 核心需求总结 Word粘贴功能&#xff1a;支持从Word复制内容粘贴到编辑器中&#xff0c;自动…

农业数据平台如何利用UEDITOR在ELECTRON中导入WORD图表?

企业级Word内容导入解决方案需求分析报告 需求背景 作为广东科技小巨人领军企业的项目负责人&#xff0c;我司在政府、军工、金融等领域承接了大量信息化建设项目。近期多个项目组反馈&#xff0c;客户强烈要求在CMS系统中增加专业级Word内容导入功能&#xff0c;以满足政府公…

如何解决UEDITOR在ELECTRON下WORD图片上传失败的问题?

各位PHP卷王看过来&#xff01;福建码农的CMS逆袭之路&#xff08;附680元暴富指南&#xff09; 大家好&#xff0c;我是福建某外包公司"PHP接单战神"&#xff0c;最近刚接了个企业官网项目&#xff0c;客户非要让我给UEditor加上Word/Excel/PPT/PDF一键导入功能&am…

金融系统开发中,UEDITOR的ELECTRON插件如何处理WORD报表图片?

项目需求分析与解决方案报告 一、需求背景与核心痛点 功能需求 Word粘贴与导入&#xff1a;支持从Word复制内容&#xff08;含表格、公式、图片、样式&#xff09;粘贴至UEditor&#xff0c;图片自动上传至华为云OBS&#xff08;兼容未来迁移至阿里云/腾讯云等对象存储&#x…

好写作AI:用AI写论文一年后,我的学术能力被“废了”还是“进化了”?

当你长期依赖导航&#xff0c;会不会失去认路能力&#xff1f;当我们把这个问题抛给“长期使用好写作AI”的用户时&#xff0c;得到的答案出乎意料。 我们经常听到这样的灵魂拷问&#xff1a;“老用AI写论文&#xff0c;你们自己的写作能力不会退化吗&#xff1f;” 这确实是个…

完整教程:sward零基础学习,如何在sward文档中集成Kanass事项

完整教程:sward零基础学习,如何在sward文档中集成Kanass事项2026-01-27 13:30 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !impor…

好写作AI:当“学术保姆”遇见“智能伙伴”,你的论文该跟谁走?

为了提升论文质量&#xff0c;你试过深夜骚扰导师&#xff0c;也试过和写作辅导中心的老师促膝长谈——现在&#xff0c;又多了一个24小时在线的AI队友。所以&#xff0c;到底谁是真爱&#xff1f;每个在论文苦海中挣扎的人&#xff0c;都面临过这个“资源分配”的终极难题&…

如何使用 OKHttp 达成 HTTP/2 多路复用?

如何使用 OKHttp 达成 HTTP/2 多路复用?pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "M…

好写作AI:让论文投稿从“手动相亲”进化到“精准速配”

当你终于改完论文&#xff0c;却发现真正的折磨才刚刚开始——在几十家期刊的投稿系统里&#xff0c;重复填写作者信息、上传不同格式的文件、勾选那些永远看不懂的伦理声明……这感觉&#xff0c;像用传真机参加星际通信。如果你也经历过论文投稿的“机械地狱”——把同一篇论…

千匠网络福利商城解决方案:AI赋能,打造智慧化三方服务生态

在数字化转型的浪潮中,企业福利管理正逐步从传统模式向智能化、个性化方向演进。千匠网络福利商城解决方案,以AI技术为核心引擎,深度融合供应链资源与平台运营能力,面向第三方服务商(如人才公司、福利礼品机构等)…

好写作AI:让你在真正的“学术狼人杀”前,先和自己人“杀”几盘

当你把论文送审&#xff0c;就像把精心养大的孩子送进一个漆黑的房间&#xff0c;里面坐着几位你不知道是谁、但手握“生死票”的评委——这种体验&#xff0c;我们称之为“学术开盲盒”。几乎每位毕业生在提交论文后&#xff0c;都会陷入一种“审稿前焦虑”&#xff1a;那些未…

好写作AI:别卷了!你的论文写作路径,AI说可以“私人订制”

写论文像旅游&#xff0c;有人做足攻略按部就班&#xff0c;有人喜欢迷路了再说——但最惨的是&#xff0c;所有人都被塞进了同一辆“论文流水线大巴”。 你是否发现&#xff0c;网上那些“毕业论文七日速成攻略”&#xff0c;对你而言可能毫无用处&#xff1f;因为每个人的知识…

好写作AI:拯救“图不对文”的学术灾难,让图表自己“开口说话”

当你的论文评审人皱起眉头&#xff0c;在“图表5”和“正文第4.3节”之间来回翻看时——完了&#xff0c;你的“图文精分”症状&#xff0c;又被发现了。 学术圈里有个心照不宣的秘密&#xff1a;很多人论文里的精美图表&#xff0c;和下面那几行干巴巴的“如图X所示&#xff0…

红外压片机推荐品牌厂家

红外压片机是红外光谱分析样品前处理的关键设备,广泛应用于化工、制药、材料、科研等领域。以下是业内具有良好口碑的品牌厂家推荐。国际知名品牌珀金埃尔默(PerkinElmer)国际顶尖分析仪器制造商,压片机产品线齐全产…

OX40(CD134):横跨肿瘤与自免的双向免疫调控靶点

OX40(又称 CD134,由 TNFRSF4 基因编码)作为肿瘤坏死因子受体(TNFR)超家族的关键共刺激分子,凭借 “激活抗肿瘤免疫、抑制自身免疫炎症” 的双向调控能力,成为生物制药领域的核心研发靶点。其功能实现依赖与配体…

华润万家超市卡回收核心攻略,高效变现平台推荐

华润万家超市卡回收核心攻略,高效变现平台推荐手里有张华润万家超市卡,先别急着找回收渠道。先翻开卡片背面,瞅瞅有效期还剩多久,面值是三百还是五百。记得上次邻居张姨就因为没注意有效期,差点让一张五百的卡白白…

2026国内最新柜子定制板材品牌top10推荐!优质板材制造商权威榜单发布,健康环保与美学设计双优助力高品质家居生活

随着国民家居消费升级,柜子定制板材市场呈现爆发式增长,但行业存在环保标准参差不齐、工艺精度差异大、设计同质化等问题。据中国林产工业协会最新行业报告显示,国内柜子定制板材环保达标率仅为72%,饰面工艺不合格…

php图形验证码生成系统源码 支持api接口调用 提供SDK 轻量级简单易用

内容目录一、详细介绍二、效果展示1.部分代码2.效果图展示三、学习资料下载一、详细介绍 图形验证码生成系统是一个基于php开发的轻量级验证码服务&#xff0c;提供安全可靠的图形验证码生成、显示和验证功能。系统采用无数据库设计&#xff0c;使用JSON文件存储数据&#xff…