html文件上传漏洞,文件上传漏洞(绕过姿势)

本文详细探讨了文件上传漏洞,包括客户端和服务端的校验方式,如JavaScript、content-type、文件头和后缀名校验。同时,文章列举了多种绕过校验的技巧,如客户端抓包改包、服务端文件类型和文件头篡改、配合文件包含和服务器解析漏洞等。最后,提出了文件上传的防护建议,如使用服务端白名单校验、文件内容校验、重命名上传文件及隐藏文件路径。
摘要由CSDN通过智能技术生成

文件上传漏洞可以说是日常渗透测试用得最多的一个漏洞,因为用它获得服务器权限最快最直接。但是想真正把这个漏洞利用好却不那么容易,其中有很多技巧,也有很多需要掌握的知识。俗话说,知己知彼方能百战不殆,因此想要研究怎么防护漏洞,就要了解怎么去利用。此篇文章主要分三部分:总结一些常见的上传文件校验方式,以及绕过校验的各种姿势,最后对此漏洞提几点防护建议。(根据个人经验总结,欢迎补充纠错~~)

文件上传校验姿势客户端javascript校验(一般只校验后缀名)

服务端校验

文件头content-type字段校验(image/gif)

文件内容头校验(GIF89a)

后缀名黑名单校验

后缀名白名单校验

自定义正则校验

WAF设备校验(根据不同的WAF产品而定)

1.客户端校验

一般都是在网页上写一段javascript脚本,校验上传文件的后缀名,有白名单形式也有黑名单形式。判断方式:在浏览加载文件,但还未点击上传按钮时便弹出对话框,内容如:只允许上传.jpg/.jpeg/.png后缀名的文件,而此时并没有发送数据包。

2.服务端校验2.1 content-type字段校验

这里以PHP代码为例,模拟web服务器端的校验代码[PHP] 纯文本查看 复制代码<?php [/size]

[size=3] if($_FILES['userfile']['type'] != "image/gif") #这里对上传的文件类型进行判断,如果不是image/gif类型便返回错误。[/size]

[size=3] { [/size]

[size=3] echo "Sorry, we only allow uploading GIF images";[/size]

[size=3] exit;[/size]

[size=3] }[/size]

[size=3] $uploaddir = 'uploads/';[/size]

[size=3] $uploadfile = $uploaddir . basename($_FILES['userfile']['name']);[/size]

[size=3]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值