03上传漏洞基础与进阶
文件上传漏洞解决方案

文件上传漏洞解决方案
《文件上传漏洞解决方案》
文件上传漏洞是指黑客利用网站的文件上传功能,上传恶意文件或者攻击代码,从而获取对网站的控制权限。
这类漏洞可能导致用户数据泄露、网站瘫痪、服务器被入侵等严重后果。
为了有效防范文件上传漏洞,以下是一些解决方案:
1. 文件类型限制:在文件上传功能中,仔细限制可上传的文件类型,例如只允许上传图片、文档或压缩包等特定类型的文件。
这样可以有效阻止黑客上传恶意的可执行文件。
2. 文件大小限制:对于允许上传的文件,应该限制其大小,避免上传过大的文件导致服务器负载过高或者磁盘空间不足。
3. 文件内容检测:在上传文件后,对文件内容进行检查,确保文件没有包含恶意代码或者病毒。
这可以通过使用杀毒软件或者特定的文件检查工具来实现。
4. 文件存储路径隔离:将上传的文件存储在与网站代码分离的目录中,避免使用者上传的文件直接执行或读取网站的配置文件等敏感信息。
5. 用户权限控制:对于不同的用户权限,应该设置不同的文件上传限制,以确保管理员和普通用户的上传行为受到不同程度的监管和限制。
6. 加强监控与日志记录:定期检查文件上传功能的安全性,对上传的文件进行记录和审计,及时发现异常上传行为,并对上传的文件进行监控。
综上所述,针对文件上传漏洞的解决方案包括加强文件上传功能的限制、检测和监控,并定期进行安全性审计。
只有综合多种防护措施,才能有效防范文件上传漏洞的风险,保护网站和用户数据的安全。
网站安全测试中的文件上传漏洞检测

网站安全测试中的文件上传漏洞检测文件上传漏洞是指在网站安全测试中,发现的一种常见的安全漏洞类型。
通过该漏洞,黑客可以将恶意文件上传到目标网站,并执行攻击,从而导致网站的安全风险和用户信息泄露等问题。
为了保障网站安全,开展文件上传漏洞检测是非常必要的。
在进行文件上传漏洞检测时,安全测试人员需要注意以下几个方面:一、验证上传文件的类型和大小限制在网站开发过程中,为了限制用户上传文件的类型和大小,通常会进行相关的设置。
但是,存在一些漏洞可以被黑客绕过,从而上传不受限制的文件。
因此,安全测试人员需要验证网站是否正确地校验了上传文件的类型和大小限制,防止黑客上传恶意文件。
二、检查文件上传的目录权限网站在接收上传文件时,会将文件存储在相应的目录中。
安全测试人员需要检查这些目录的权限设置,确保只有必要的人员可以访问上传文件的目录,防止黑客利用文件上传漏洞,访问到敏感文件或进行恶意操作。
三、验证上传文件的内容黑客可以通过文件上传漏洞,上传包含恶意代码的文件。
这些文件一旦被执行,就会对服务器和用户产生危害。
安全测试人员需要验证上传文件的内容,确保上传的文件不包含任何恶意代码,以防止攻击者利用漏洞进行安全攻击。
四、测试文件上传漏洞的利用方式安全测试人员需要模拟黑客攻击的场景,尝试不同的上传方式和文件格式,以验证文件上传漏洞的利用方式。
通过这种方式,可以更好地了解潜在的安全风险,并及时采取相应的防护措施。
五、安全建议和加固操作在完成文件上传漏洞检测后,安全测试人员需要给出相应的安全建议和加固操作。
例如,建议网站开发人员对上传文件进行严格的类型和大小限制,确保用户只能上传正常的文件;建议设置合适的目录权限,避免未授权用户访问上传文件的目录;建议定期检查网站漏洞,及时修复已发现的安全问题等。
总结起来,在网站安全测试中,文件上传漏洞是一项重要的检测工作。
安全测试人员需要通过验证文件类型和大小限制、检查目录权限、验证上传文件内容、测试漏洞的利用方式等手段,来发现并修复潜在的漏洞。
文件上传漏洞报告

文件上传漏洞报告概述文件上传漏洞是指在Web应用程序中,攻击者可以通过绕过文件上传验证机制,成功上传恶意文件到服务器,从而执行任意代码或获取敏感信息。
该漏洞广泛存在于许多Web应用程序中,可能导致严重的安全问题。
本报告将介绍文件上传漏洞的原理、常见的攻击方式以及防御措施。
原理文件上传漏洞的原理是攻击者通过提交包含恶意代码的文件,绕过应用程序的文件上传验证机制,成功上传并执行这些恶意文件。
常见的文件上传漏洞原理包括以下几种:1.后缀绕过:应用程序通过文件后缀名验证文件类型,攻击者可以通过修改文件后缀名或添加多重后缀名来绕过验证,从而上传恶意文件。
2.MIME类型绕过:应用程序通过MIME类型验证文件类型,攻击者可以通过修改请求头中的Content-Type字段来绕过验证,上传恶意文件。
3.目录穿越:应用程序在保存文件时,未对文件名进行足够的过滤和限制,攻击者可以通过构造特殊的文件名,实现目录穿越,上传恶意文件到系统中的任意位置。
攻击方式攻击者可以利用文件上传漏洞实施多种攻击手段,以下是常见的几种方式:1.执行任意代码:攻击者上传包含恶意代码的文件到服务器,通过访问上传文件的URL执行恶意代码,从而取得服务器的控制权。
2.网站挂马:攻击者上传包含恶意代码的文件,例如WebShell,通过这些恶意文件可以操控服务器,例如上传恶意脚本文件来攻击其他网站。
3.文件覆盖:攻击者上传文件并命名为已存在的文件名,如果应用程序未对文件名进行合理的处理,上传的文件可能会覆盖服务器上的重要文件,导致系统崩溃或数据丢失。
4.敏感信息泄露:攻击者上传恶意文件,通过执行文件来获取服务器上的敏感信息,例如数据库配置文件、用户凭证等。
防御措施为了防止文件上传漏洞的利用,应采取一系列的防御措施,并对上传的文件进行严格的验证和处理。
以下是几个常见的防御措施:1.文件验证:对上传的文件进行合法性验证,包括文件类型、文件大小等方面的检查,可以通过文件的Magic Number、文件头信息等进行验证。
文件上传漏洞及解析漏洞总结

文件上传漏洞及解析漏洞总结一种常见的攻击技术是通过绕过文件类型检查来上传恶意文件。
Web 应用程序通常会对上传的文件进行检查以确保文件类型的正确性,这是防止上传恶意文件的一种常见方法。
然而,攻击者可以通过修改文件的扩展名、使用特殊的文件格式或在文件中添加特殊字符等方式绕过这种检查。
解析漏洞是指攻击者通过上传特殊格式的文件触发解析过程中的安全问题。
这种漏洞通常发生在Web应用程序对上传文件进行解析和处理时。
攻击者可以通过构造恶意的文件格式,触发解析过程中的漏洞,并执行恶意操作。
一种常见的解析漏洞是代码注入。
攻击者可以通过上传包含恶意代码的文件来注入恶意代码到解析过程中,并在服务器上执行该代码。
这种漏洞可以导致服务器被入侵、敏感信息被窃取或其他恶意操作。
另一种常见的解析漏洞是目录遍历攻击。
攻击者可以通过上传包含特殊字符的文件名来绕过服务器对文件路径的正常检查,从而访问应用程序目录之外的文件。
这种漏洞可以导致文件泄露、服务器配置信息被窃取或其他安全问题。
要防止文件上传漏洞和解析漏洞,可以采取以下几种防御措施:1.对上传的文件进行严格的文件类型检查,确保只允许上传可信任的文件类型。
可以使用文件的MIME类型、扩展名或魔法字节来进行检查。
2.对上传的文件进行严格的文件大小限制,确保只允许上传合理大小的文件。
可以限制文件的大小或使用分片上传的方式来处理大型文件。
3.对上传的文件进行病毒扫描或恶意代码检测,确保上传的文件不包含任何恶意代码。
可以使用第三方的安全扫描工具或API来进行检测。
4.对上传的文件进行重命名,确保文件名不包含任何特殊字符或路径分隔符。
可以使用随机生成的文件名或保留原始文件名的方式进行重命名。
5.对上传的文件进行安全沙箱处理,确保文件在解析和执行过程中受到限制。
可以使用专业的文件解析库或安全沙箱工具来处理上传的文件。
6.对解析过程中可能触发的漏洞进行安全审计和测试,确保服务器上的解析过程不会受到攻击。
upload-labs-master第三题

upload-labs-master第三题
upload-labs-master是一个文件上传漏洞靶场,第三题的目标是绕过靶场的防御机制,实现文件上传。
第三题的解答过程如下:
1. 首先,分析靶场的源代码,了解其上传限制和防御措施。
2. 根据代码,发现上传目录存在PHP文件,暗示可以直接上传php 文件,但需要进一步分析。
3. 深入分析代码,找到上传文件的判断条件:`if (isset(POST['submit'])) if (fileexists(UPLOADPATH))`。
4. 针对这个判断条件,可以尝试上传文件并通过验证。
5. 尝试上传不同的文件类型和后缀,观察上传过程中的限制和防御措施。
6. 发现上传过程中有客户端限制,如文件类型和大小。
可以尝试绕过这些限制,例如修改JS文件、禁用JS、抓包修改文件后缀等。
7. 在成功上传文件后,进一步分析靶场的后端处理逻辑,发现后端对文件类型、文件名后缀和内容类型有相应的限制。
8. 针对这些限制,采用各种方法进行绕过,如使用特殊后缀、修改MIME类型、利用解析差异等。
9. 在绕过所有防御措施后,成功上传恶意文件并实现文件上传漏洞。
注意:在实际操作过程中,要遵循道德规范和法律法规,切勿用于非法目的。
此外,题目中的解答仅供参考,实际操作可能需要根据具体情况调整。
upload-labs-master 第五题

在撰写这篇文章之前,我们首先需要了解上传漏洞是什么,以及为什么它是一个安全风险。
接下来,我们将介绍一个名为upload-labs-master的实验环境,并深入研究其中的第五个题目,这将有助于我们更好地理解上传漏洞的原理和危害。
1. 上传漏洞是指全球信息湾或应用程序允许用户上传文件,但在未经过滤、验证和限制的情况下就直接将文件存储到服务器上。
这可能导致恶意文件的上传,例如Webshell等,从而使攻击者获得对服务器的控制权。
2. upload-labs-master是一个供安全工程师和爱好者学习和实践上传漏洞利用技术的开源实验环境。
它包含了多个关于文件上传漏洞的题目,通过完成这些题目,可以加深对上传漏洞的理解,掌握相应的漏洞利用技术。
3. 在upload-labs-master的第五个题目中,我们将面对一个上传漏洞的实际案例。
通过分析该题目的环境和要求,我们可以深入了解上传漏洞的利用过程和防范措施。
4. 对于upload-labs-master第五题,我们首先需要了解题目要求和可能存在的漏洞点。
随后,可以通过模拟攻击的方式,尝试利用上传漏洞上传一个恶意文件,并验证其是否能够成功执行。
5. 为了达到上述目的,我们可以采取一系列步骤,包括分析上传功能的代码、尝试上传各种类型和大小的文件、验证上传的文件是否存在安全隐患等。
通过这些步骤,我们可以全面地了解该上传漏洞的利用条件和结果。
6. 结合upload-labs-master第五题的实际案例,我们还可以探讨上传漏洞的防范措施。
这包括在服务器端对上传文件进行严格的过滤和验证、限制上传文件类型和大小、设置合适的文件权限等。
这些措施可以有效地减少上传漏洞的风险。
upload-labs-master第五题提供了一个很好的实践机会,可以帮助我们深入了解上传漏洞的利用原理和防范措施。
通过对该题目的分析和攻击模拟,可以提高我们对上传漏洞的认识和技术水平,为今后的安全工作打下坚实的基础。
安全测试中的文件上传与下载漏洞的检测与修复

安全测试中的文件上传与下载漏洞的检测与修复文件上传与下载功能在现代的网络应用中被广泛应用,然而,文件上传与下载功能也成为了安全测试中经常被攻击者利用的弱点之一。
本文将重点讨论文件上传与下载漏洞,并介绍如何进行检测与修复来提升应用的安全性。
一、文件上传漏洞的检测与修复1. 检测文件上传漏洞文件上传漏洞常常出现在应用未对上传文件的类型、大小、名称和内容进行严格校验时。
攻击者可以通过上传恶意文件来执行远程代码、篡改数据或者对服务器进行入侵。
为了检测文件上传漏洞,可以采取以下措施:a. 对文件类型的检测:应用需明确限制上传文件的类型,比如只允许上传图片或者文档类文件。
可通过检查文件的扩展名或者MIME类型进行校验。
b. 对文件大小的限制:限制上传文件的大小,防止攻击者通过上传过大的文件来拖垮服务器。
建议在后端进行文件大小校验。
c. 对文件名的过滤:禁止使用敏感或特殊字符作为文件名,以及对文件名进行正则表达式校验,避免攻击者利用文件名进行注入或路径遍历攻击。
d. 对文件内容的检查:对于上传文件的内容进行检查,确保不包含恶意脚本或者危险代码。
2. 修复文件上传漏洞修复文件上传漏洞的关键在于对上传文件进行严格的校验和过滤。
以下是一些常见的修复方法:a. 对文件类型进行白名单过滤:只允许上传指定类型的文件,忽略其他类型的文件。
b. 对文件名进行过滤和重命名:过滤掉敏感字符和特殊字符,并将文件名重命名为随机生成的字符串,避免攻击者猜测文件路径或者进行注入攻击。
c. 对文件内容进行检查:使用杀毒软件或者安全扫描工具对上传文件进行检查,确保文件不包含恶意代码。
d. 限制上传文件的大小:设置合理的文件大小限制,避免上传过大的文件导致服务器崩溃或者运行缓慢。
二、文件下载漏洞的检测与修复文件下载漏洞可能会导致攻击者获取敏感文件,如配置文件、用户信息等。
为了保护应用的安全,应该注意以下几点来检测和修复文件下载漏洞。
1. 检测文件下载漏洞a. 检查文件下载链接的权限控制:确保只有具有访问权限的用户才能下载文件。
文件上传漏洞详解

⽂件上传漏洞详解0x01 上传漏洞定义⽂件上传漏洞是指⽤户上传了⼀个可执⾏的脚本⽂件,并通过此脚本⽂件获得了执⾏服务器端命令的能⼒。
这种攻击⽅式是最为直接和有效的,“⽂件上传”本⾝没有问题,有问题的是⽂件上传后,服务器怎么处理、解释⽂件。
如果服务器的处理逻辑做的不够安全,则会导致严重的后果.0x02 上传漏洞危害1.上传⽂件是Web脚本语⾔,服务器的Web容器解释并执⾏了⽤户上传的脚本,导致代码执⾏。
2.上传⽂件是病毒或者⽊马时,主要⽤于诱骗⽤户或者管理员下载执⾏或者直接⾃动运⾏;3.上传⽂件是Flash的策略⽂件crossdomain.xml,⿊客⽤以控制Flash在该域下的⾏为(其他通过类似⽅式控制策略⽂件的情况类似);4.上传⽂件是病毒、⽊马⽂件,⿊客⽤以诱骗⽤户或者管理员下载执⾏。
5.上传⽂件是钓鱼图⽚或为包含了脚本的图⽚,在某些版本的浏览器中会被作为脚本执⾏,被⽤于钓鱼和欺诈。
除此之外,还有⼀些不常见的利⽤⽅法,⽐如将上传⽂件作为⼀个⼊⼝,溢出服务器的后台处理程序,如图⽚解析模块;或者上传⼀个合法的⽂本⽂件,其内容包含了PHP脚本,再通过"本地⽂件包含漏洞(Local File Include)"执⾏此脚本;等等。
0x03 上传漏洞满⾜条件⾸先,上传的⽂件能够被Web容器解释执⾏。
所以⽂件上传后所在的⽬录要是Web容器所覆盖到的路径。
其次,⽤户能够从Web上访问这个⽂件。
如果⽂件上传了,但⽤户⽆法通过Web访问,或者⽆法得到Web容器解释这个脚本,那么也不能称之为漏洞。
最后,⽤户上传的⽂件若被安全检查、格式化、图⽚压缩等功能改变了内容,则也可能导致攻击不成功。
0x04 上传漏洞产⽣的原因⼀些web应⽤程序中允许上传图⽚,⽂本或者其他资源到指定的位置,⽂件上传漏洞就是利⽤这些可以上传的地⽅将恶意代码植⼊到服务器中,再通过url去访问以执⾏代码.造成⽂件上传漏洞的原因是:1.服务器配置不当2.开源编辑器上传漏洞3.本地⽂件上传限制被绕过4.过滤不严或被绕过5.⽂件解析漏洞导致⽂件执⾏6.⽂件路径截断0x05 上传漏洞的原理⼤部分的⽹站和应⽤系统都有上传功能,⼀些⽂件上传功能实现代码没有严格限制⽤户上传的⽂件后缀以及⽂件类型,导致允许攻击者向某个可通过Web访问的⽬录上传任意PHP⽂件,并能够将这些⽂件传递给PHP解释器,就可以在远程服务器上执⾏任意PHP脚本。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
王朋涛 深信服北京安全团队
培训提纲
1.上传整体框架 2.WebShell上传探测
3.WebShell上传利用
4.执行WebShell
5.WebShell提权
6.防御与逃逸 7.常用工具 8.总结
上传整体框架
上传整体框架
WebShell上传主要包括探测和利用阶段,具体如下:
探测阶段:该阶段主要是搜集可测试点,以方便下一步的利用。
使用客户端连接一句话木马
客户端代码c1.html代码如下图:
其中Adodb.Stream是ADO的Stream对象,提供存取二进制数据或者文本
流,从而实现对流的读、写和管理等操作。
WebShell上传利用
使用客户端连接一句话木马
该代码作用是连接服务器端一句话木马,然后上传大马。
使用浏览器打开客户端c1.html,如下图所示
径里。
WebShell上传利用
绕过服务端MIME类型检测上传WebShell
有时候仅仅对文件名后缀进行判断并不能有效阻止恶意文件的上传(比
如某服务器只允许上传jpg文件格式,不允许上传后缀为php等文件,但 是把后缀为php改为后缀为jpg上传到服务器,某些情况下也能执行上传
文件),因此对文件格式进行检测十分必要,也就是服务器端MIME类型
作为asp文件进行解析。此外具有此特性的不单单是类似/*.asp/目录, 还包括/*.cer /、/*.asa /、/*.cdx /、/*.cer \(此种类型浏览器直接
WebShell上传利用
使用客户端连接一句话木马
上图红框处为海洋2005木马,点击提交后,访问上传木马,如下图:
WebShell上传利用
绕过服务端目录路径检测上传WebShell
服务器端目录路径检测即对用户提交目录路径参数进行检测的一种方法
,有时候检测不够严谨而导致可以用%00截断进行攻击,该漏洞的本质同 黑名单检测%00截断本质一样,但该漏洞要求服务器端应用程序具有处理
WebShell上传探测
收集可测试点:
利用WVS的spider工具收集可测试点,如下图:利用WVS的spider工具收
集可测试点,如下图:
spider发现了危险的上传目录(红框1处)、开启了WebDAV方法等漏洞
,根据扫描结果方便接下来依据不同结果进行利用。
WebShell上传利用
WebShell上传利用
上传方法:
直接上传WebShell 绕过客户端检测上传WebShell 绕过服务端文件扩展名检测上传WebShell
绕过服务端MIME类型检测上传WebShell
绕过文件内容检测上传WebShell 绕过服务端目录路径检测上传WebShell
利用服务器漏洞上传WebShell
用户提交的目录路径参数函数,不具有通用性,这里仅介绍下原理。
以fckeditor php <= 2.6.4 任意文件上传漏洞为例,存在漏洞代码如 下图:
WebShell上传利用
绕过服务端目录路径检测上传WebShell
输入
/fckeditor264/filemanager/connectors/php/connector.php?Command= FileUpload&Type=Image&CurrentFolder=fuck.php%00.gif HPPT/1.0
绕过白名单检测方法
输入:http://[IP]/UPLOAD_CS_2.aspx,如果直接上传2.asp文件,页
面返回如下图。
WebShell上传利用
绕过白名单检测方法
把上传文件名改为2.asp.%00.jpg,继续上传,页面返回如图。
从上图可以得出结论成功上传2.asp%00.jpg文件,.jpg绕过了应用的白 名单检测,但对于服务器来说,由于后台某些函数作用(诸如 CreateTextFile()),此文件会被%00字符截断,最终会以2.asp存入路
利用sql注入上传WebShell 利用WebDAV上传WebShell
利用.htaccess文件上传WebShell
WebShell上传利用
直接上传WebShell
探测到上传点后,接下来进入上传WebShell步骤,假如服务器端对用户
提交参数或者文件没有进行过滤或者过滤不当,则能够直接上传 WebShell,那么接下来进入执行WebShell步骤即可。
性。 0x00截断:在许多语言的常用字符串处理函数中,0x00被认为是终止符
,比如应用只允许上传jpg图片,那么可以构造文件名为2.asp%00.jpg,
.jpg绕过了应用的上传文件类型判断,但对于服务器来说,此文件因为 %00字符截断的关系,最终会以2.asp存入路径里。
WebShell上传利用
WebShell上传利用
代码注入图片
先准备图片picture.jpg,然后把asp一句话木马(诸如<% execute
(request(“value”)) %>)插入图片最后,如下图所示:
上图红框1出为标识jpg文件的幻数,红框2处为植入的一句话木马,把 该图片上传到服务器端。
WebShell上传利用
上图红框1处为检测用户上传文件的js脚本,该脚本限制只能上传.txt
和.docx两种类型,红框2处是利用onmouseover事件触发check_file函数
。
WebShell上传利用
绕过客户端检测上传WebShell
输入:http://[IP]/UPLOAD_CS_1.aspx,同时上传1.asp文件,页面返
WebShell上传利TTP包里把文件名改成test.asp. 或
test.asp_(下划线为空格),这两种命名方式在windows系统里是不被允 许的,所以需要在代理工具burpsuite进行修改,然后绕过验证后,会被
windows系统自动去掉后面的点和空格,但注意Unix/Linux系统没有此特
绕过黑名单检测方法
文件名大小写绕过:诸如AsP、Aspx之类的后缀绕过黑名单检测。
黑名单列表绕过:用黑名单里没有的后缀文件进行攻击,iis默认执行 .asp、.asa、.cer,有时候黑名单过滤不全,没有过滤掉像后缀为asa
、cer之类的文件,但这些文件可以像asp文件一样执行,此时可以使
用这些后缀绕过黑名单。
WebShell上传利用
绕过客户端检测上传WebShell
客户端检测即利用响应页面js脚本检测用户输入的一种方法,该方法在
客户端进行,其明显特征是在用户上传文件到服务器之前进行检测,假 如不符合要求,会提示相应错误。
WebShell上传利用
绕过客户端检测上传WebShell
服务器端含有js检测脚本的文件UPLOAD_CS_1.aspx,代码如下图
利用阶段:该阶段主要是利用发现的上传漏洞上传并执行WebShell。
WebShell上传渗透测试框架
WebShell上传探测
WebShell上传探测
收集可测试点:
常见的可测试点包括应用程序上传功能(诸如上传头像、附件上传等)、用户 可控的输入点或者参数(页面POST表单部分、url参数、sql注入点等)、HTTP 开启的方法(诸如WebDAV)等,收集可测试点的过程中,应尽量确保覆盖范围 ,不遗漏每一个可测试点。
引用上传的文件
同时创建一个引用包含一句话木马的图片的文件picture.asp,代码如
下: <!--#include file="picture.jpg"-->
把该文件上传到服务器端(这里之所以先上传jpg文件,再上传一个引用
上传jpg的asp文件,主要目的是为了隐藏一句话木马的目的)。
WebShell上传利用
回如下图:
WebShell上传利用
绕过客户端检测上传WebShell
鼠标刚点击“上传文件”按钮便弹出了一个警告对话框,查看返回HTML
页面的源代码:
WebShell上传利用
绕过客户端检测上传WebShell
使用代理工具绕过客户端验证,例如上传1.asp文件,先将文件名改为
1.txt,打开burpsuite代理工具,点击“上传文件”按钮:
绕过服务端MIME类型检测上传WebShell
输入:http://[IP]/mime.aspx,上传文件2.asp文件,页面返回如下图
。
上图返回错误页面,提示“不支持的mime文件”,接下来使用 burpsuite拦截请求。
WebShell上传利用
绕过服务端MIME类型检测上传WebShell
WebShell上传利用
绕过客户端检测上传WebShell
把上图红框处1.txt改为1.asp,然后点击“forward”按钮,查看服务
器端Files文件夹,如下图:
WebShell上传利用
绕过服务端文件扩展名检测上传WebShell
服务器端文件扩展名检测是利用服务器端应用程序检测用户上传文件
接下来以aspx为例通过检测http包的content-type字段的值来判断上传
文件是否合法,实验使用的服务器端文件为mime.aspx,部分代码如下图 。
上图红框处使用POSTFile对象的ContentType属性,限定只允许上传
application/zip类型。
WebShell上传利用
CurrentFolder这个变量的值会传到上图有漏洞代码
ServerMapFolder($resourceType, $folderPath, $sCommand)中的形参 $folderPath里,而$folderPath在这个函数中并没做任何检测,就传入
CombinePaths()函数,同时变量CurrentFolder中%00后面的会被截断,