html文件上传漏洞,web安全之文件上传漏洞

一、文件过滤的方法

文件头校验:JPEG ==>FF D8 FF E0、PNG==>89 50 4E 47 0D 0A 1A 0A

文件类型校验:HTTP头中的content/type,互联网媒体类型,也叫做MIME类型。

HTML文档标记: text/html;

普通ASCII文档标记: text/html;

JPEG图片标记: image/jpeg;

GIF图片标记: image/gif;

js文档标记: application/javascript;

xml文件标记: application/xml;

较全的网址

https://www.runoob.com/http/http-content-type.html

文件后缀校验: .jpeg .txt .png

二、常用的绕过方法

2.1 文件头欺骗,绕过简单的waf

上传一个文件a.jpg 可能仅仅是扩展名改了,但不是真正意义上的图片,如何蒙混过关?

就是在开始加一个gif89a

2.2 利用filepath漏洞

上传一个a.gif文件:

抓包转到repeater里进行去改包:

1.改变文件上传后的路径:/a.asp/

2.改文件名称:/a.asp;.     (结合漏洞类型)

2.3 00截断

上传一个a.php

抓包转到repeater里进行去改包:

1.改filename为:a.jpg,

2.改路径,aa.php (最后加个空格,方便找)

然后去Hex里找到路径,把后面的空格(20)改为00

或者是直接改为a.php%00jpg,选中%00右击,去convertselection-URL-url-decode

2.4 MIME绕过

改content-type,上传一个真正的a.jpg

抓包转到repeater里进行去改包:

把image/jpeg改为text/asp

把原本图片内容改成一句话木马

2.5 表单提交

有时网页有上传文件,却无提交按钮,

在页面上右键查看元素,把这句代码加上

上传a.asa文件,抓包

2.4 编辑器利用

编辑器漏洞整理:https://blog..net/u011781521/article/details/59057759

三、解析漏洞

3.1 iis 6.0解析漏洞

(1)目录解析漏洞 /xx.asp/xx.jpg

在网站根目录下创建一个文件夹格式 .asp,其目录内的任何扩展名的文件(常用图片马)都被iis当做asp文件来解析并执行。

(2)文件解析 xx.asp;.jpg

在iis6.0下,分号后面的不被解析,所以xx.asp;.jpg被解析为asp脚本得以执行。

(3)文件类型解析 asa/cer/cdx

iis6.0 默认的可执行文件除了asp还包含这三种asa、cer、cdx。

3.2 Apache解析漏洞

Apache对文件的解析主要是从右到左开始判断,如果判断为不能解析的类型,则继续向左

进行解析,如xx.php.wer.xxxxx将被解析为PHP类型(写PHP马)。

3.3 IIS 7.0/ Nginx <8.03畸形解析漏洞

(1)在默认Fast-CGI开启状况下上传名字为xx.jpg,内容为:

<?PHP fputs(fopen('shell.php','w'),'<?php eval($_POST[cmd])?>');?>

然后访问xx.jpg/.php,在这个目录下就会生成一句话木马shell.php。

(2)另一种Nginx文件漏洞是从左到右进行解析

既可绕过对后缀名的限制,又可上传木马文件,因此可以上传XXX.jpg.php

3.4 .htaccess文件解析

如果Apache中.htaccess可被执行并可被上传,那么可以尝试在.htaccess中写入:

SetHandler application/x-httpd-php

然后再上传shell.jpg的木马,这样shell.jpg就可被解析为PHP文件了。

3.5 配合操作系统文件命令规则

(1)上传不符合windows文件命名规则的文件名

test.asp.

test.asp(空格)

test.php:1.jpg

test.php:: $DATA

会被windows系统自动去掉不符合规则符号后面的内容。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
文件漏洞是指在网站或应用程序中,用户可以上文件的功能存在安全漏洞,攻击者可以利用这个漏洞恶意文件,从而对系统进行攻击或控制。文件漏洞的测试流程可以按照以下步骤进行: 1. 首先,按照要求上文件,并观察返回的结果,包括路径和提示信息。这可以帮助我们了解文件功能的限制和安全措施。 2. 接下来,尝试上不同类型的恶意文件,如包含恶意代码的PHP文件。通过分析结果和查看HTML源码,我们可以判断是否存在前端的上限制,以及是否可以绕过这些限制。 3. 在绕过上限制方面,可以尝试使用黑白名单绕过、MIME类型绕过、目录0x00截断绕过等方法。这些方法可以结合其他漏洞,如敏感信息泄露漏洞,来获取木马文件的路径。 4. 最后,连接测试木马文件的路径,以验证文件漏洞的利用效果。 文件漏洞的产生原因通常是在用户上文件时,后台没有对上功能进行安全考虑,或者采用了有缺陷的安全措施。这使得攻击者可以通过各种手段绕过安全措施,上恶意文件,从而控制整个Web后台系统。\[1\]\[3\] 请注意,文件漏洞是一种严重的安全威胁,开发人员应该在设计和实现文件功能时,采取适当的安全措施,如文件类型检查、文件大小限制、文件名过滤等,以防止此类漏洞的出现。 #### 引用[.reference_title] - *1* *2* *3* [【web-ctf】ctf-pikachu-fileupload](https://blog.csdn.net/Dajian1040556534/article/details/126451918)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值