文件解析漏洞笔记

一、文件解析漏洞

*解析漏洞主要说的是一些特殊文件被iis、apache、nginx在某种情况下解释成脚本文件格式的漏洞

  • IIS5.x/6解析利用方法有两种
    1.目录解析 :/xx.asp.jpg
    在网站下建立文件夹的名字为.asp、.asa的文件夹,其目录内的任何扩展名的文件都被 IIs当作asp文件来解析并执行。
    例如创建目录cracer.asp,那么
    /cracer.asp/1.jpg将被当作asp文件来执行。假设黑阔可以控制上传文件夹路径,就可以不管你上传后你的图片改不改名都能拿shell了
    2.文件解析:
    cracer.asp;.jpg:在IIS6.0下,分号后面的不被解析,也就是说
    cracer.asp;.jpg:会被服务器看成是wooyun.asp,还有IIS6.0默认的可执行文件除了asp还包含:/cracer.asa , /cracer.cer , /cracer.cdx
  • apache解析漏洞:
    • apache是从左到右开始判断解析,如果为不可识别解析,就再往左判断。
      例:cracer.php.owf.rar ,apache就会把.owf、.rar不可识别的解析解析成php。
      如何判断是不是合法的后缀就是这个漏洞的利用关键,测试时可以尝试上传一个cracer. php.rara.jpg.png…(把你知道的常见后缀都写上…)去测试是否是合法后缀
      任意不识别的后缀,逐级向上识别。
    • IIS7.0/IIS7.5/IIS5.6.3/IIS10(可能)/Nginx<8.03畸形解析漏洞(多为08服务器)
      • 在默认Fast-CGI开启情况下,黑阔上传一个内容为:<?PHP fputs(fopen('shell.php','w'),'<?php eval($_POST[cmd])?>’);?> 的cracer.jpg文件,然后访问cracer.jpg/.php,在这个目录下就会生成一句话木马shell.php。
  • htacess文件解析
    如果在Apache中.htaccess可被执行.且可被上传.那可以尝试在.htaccess中写入:
    <FilesMatch "shell.jpg "> SetHandler application/x-httpd-php
    然后再上传shell.jpg的木马,这样shell.jpg就可解析为php文件
可以创建目录的编辑器:CKfinder、fck

二、上传文件本地验证绕过

常见的上传检测方式

**1.客户端 javascript检测(**通常为检测文件扩展名)

首先判断JS本地验证
通常可以根据它的验证警告弹框的速度可以判断,如果电脑运行比较快,那么我们可以用burp抓包,在 点击提交的时候burp没有抓到包,就已经弹框那么说明这个就是本地js验证,没有经过网络。
绕过方法:
- 使用burp抓包改名,先上传xx.jpg,抓包,然后再将burpsuite中的filename改为xx.php,提交,就可以把xx.jpg改成xx.php
- 使用浏览器(火狐),审查元素-编辑元素,在下图添加.php保存
在这里插入图片描述
- 删除检测函数在这里插入图片描述

2.服务端 MIME类型检测(检测Content-Type内容)

MIME的作用:使客户端软件,区分不同种类的数据,例如web浏览器就是通过MIME类型来判断文件是GIF图片,还是可打印的PostScript文件。
web服务器使用MIME来说明发送数据的种类,web客户端使用MIME来说明希望接收到的数据种类。
直接使用burp抓包,得到post上传数据后,将Content-Type: text/plain改成 Content-Type:image/gif
就可以成功绕过。
操作

  • 上传asp.asp返回文件类型不正确,请重新上传。
  • 打开Burtsuite抓包,然后修改内容
    在这里插入图片描述
    在这里插入图片描述

3.服务端目录路径检测(检测跟path参数相关的内容)(韩国一些网站没做脚本上传限制,做了目录的上传限制)
目录路径检测,一般就检测路径是否合法,但稍微特殊一点的都没有防御。比如比较新的 fckeditor php <= 2.6.4任意文件上传漏洞
当POST下面的URL的时候
/fckeditor264/filemanager/connectors/php/connector.php?Command=FileUpload&Type=lmage&
CurrentFolder=fuck.php%00.gif HTTP/1.0
CurrentFolder这个变量的值会传到ServerMapFolder(SresourceType, f o l d e r P a t h , folderPath, folderPath,sCommand)中的形参 f o l d e r 里 , 而 folder里,而 folderfolder在这个函数中并没做任何检测,就被CombinePaths()了

修改文件上传路径:上传到upload的等一些文件的这些文件,大多没有执行权限,所以要绕过上传目录。
在这里插入图片描述
突破目录上传:上传——抓包——右键发送到repeater——先Go一下,看一下能不能上传,有没有回显路径——在这里插入图片描述
4.服务端文件扩展名检测(检测跟文件extension相关的内容)

  • 黑名单检测
    黑名单的安全性比白名单的安全性低很多,攻击手法自然也比白名单多一般有个专门的blacklist 文件,里面会包含常见的危险脚本文件例如 fckeditor 2.4.3或之前版本的黑名单
  • 白名单检测
    白名单相对来说比黑名单安全一些,但也不见得就绝对安全了
黑名单绕过

1.文件名大小写绕过
用像 AsP,pHp之类的文件名绕过黑名单检测。
2.名单列表绕过
用黑名单里没有的名单进行攻击,比如黑名单里没有asa或cer之类
3.特殊文件名绕过
比如发送的http包里把文件名改成test.asp.或 test.asp_(下划线为空格),这种命名方式在windows系统里是不被允许的,所以需要在burp之类里进行修改,然后绕过验证后,会被windows系统自动去掉后面的点和空格,但要注意Unix/Linux系统没有这个特性。
4.0x00截断绕过( 不一定都能成功)
在扩展名检测这一块目前只遇到过 asp的程序有这种漏洞,给个简单的伪代码name =getname(http request)//假如这时候获取到的文件名是 test.asp .jpg(asp后面为0x00)
type = gettype(name)//而在gettype()函数里处理方式是从后往前扫描扩展名,所以判断为jpg
操作:抓提交时的包,在1.jpg中添加代码:.asp%00. ,然后选中asp%00,按Ctrl+Shift+U进行截断,然后forward,会去掉.asp生成.jgp
在这里插入图片描述

在这里插入图片描述
5.加载文件名称列表爆破
创建m.txt内容如下:在这里插入图片描述
在这里插入图片描述
抓包——右键“Send to intruder” ——
在这里插入图片描述
然后Payloads——load,找到刚才新建的m.txt——start attack
在这里插入图片描述
查看结果。可以看到哪些列表是可以上传的。

白名单绕过:

1.0x00截断绕过
用像test.asp%00.jpg.的方式进行截断,属于白名单文件,再利用服务端代码的检测逻辑漏洞进行攻击,自前我只通到过asp的程序有这种漏洞
2.解析调用/漏洞绕过这类漏洞直接配合上传一个代码注入过的白名单文件即可,再利用解析调用/漏洞
-.htaccess文件攻击
通过一个.htaccess文件调用php的解析器去解析一个文件名中只要包含"haha"这个字符串的任意文件,所以无论文件名是什么样子,只要包含"“haha"这个字符串,都可以被以php的方式来解析,是不是相当邪恶,一个自定义的.htaccess文件就可以以各种各样的方式去绕过很多上传验证机制
建一个.htaccess文件,里面的内容如下<FilesMatch “haha”>
SetHandler application/x-httpd-php
同目录有个我们上传一个只有文件名并包含字符串"haha”,但是却无任何扩展名的文件里面的内容是php一句话木马

双文件上传(南方、良精、动易…)

操作: 选择图片上传-抓包——右键send to repeater
复制如图的开始到结束
在这里插入图片描述
在这里插入图片描述
将选中复制的内容粘贴,然后删除重复的一行在这里插入图片描述

在这里插入图片描述
修改name,和第一个不一样就可以,还有filename:.cer、asa等在这里插入图片描述
然后 GO

5.服务端文件内容检测(检测内容是否合法或含有恶意代码)
如果文件内容检测设置得比较严格,那么上传攻击将变得非常困难也可以说它是在代码层检测的最后一道关卡如果它被突破了,就算没有代码层的漏洞也给后面利用应用层的解析漏洞带来了机会
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210204010557690.png?x-oss-process=image/wate rmark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM0MzQxNDU4,size_16,color_FFFFFF,t_70)
在这里插入图片描述
在这里插入图片描述
表单提交按钮:slblog.upload.com/sleditor/upload.asp
写入表单

在这里插入图片描述

上传a.asa
在这里插入图片描述

内容来自:cracer

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
有道云笔记是一款文件管理和云存储平台,用户可以将各种文件上传至云端进行保存和管理。针对有道云笔记的渗透测试的文件上传核题,主要是测试目标是否存在文件上传漏洞文件上传漏洞是指攻击者通过上传恶意文件或者利用上传功能绕过限制,成功在目标服务器上执行任意代码或者获取未授权的访问权限。攻击者可通过上传特定类型的文件,利用后台执行逻辑漏洞或者文件解析漏洞,从而实现对目标系统的攻击或控制。 针对有道云笔记文件上传漏洞,常见的测试方法包括: 1. 尝试上传各种类型的文件:测试能否上传系统可执行文件、脚本文件或者危险的文件类型。 2. 绕过后台验证:尝试修改请求报文、绕过文件类型检查、篡改上传文件路径等,测试服务器是否能正确地执行上传操作的检查。 3. 文件解析漏洞测试:测试上传的文件是否能够被服务器直接解析,并且触发对应的解析漏洞。 4. 文件重命名与遍历:测试能否修改上传文件文件名,并尝试通过../等目录遍历操作访问到其他敏感文件。 针对发现的漏洞和问题,需要将测试结果整理成详细的渗透测试报告,包括漏洞描述、危害程度评估和修复建议等。然后与有道云笔记的开发团队和管理员进行沟通,提供测试结果和修复建议,并跟踪漏洞修复进展。 及时发现和修复文件上传漏洞,对于保护用户数据和防止潜在的攻击十分重要。因此,有道云笔记应该充分重视渗透测试的文件上传核题,加强安全意识和漏洞修复的流程,确保用户数据的安全性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值