代码编织梦想

提示:结合《upload-labs通关记录》阅读效果更佳!


简介

文件上传,就是客户端将文件上传到服务端,然后服务端将其保存,比如我们给账户上传个头像就属于文件上传,其标志就是有一个上传入口。

文件上传功能如果做得不完善的话是很危险的,攻击者可以利用其中的漏洞上传攻击文件对网站进行攻击。

常见漏洞

1、对上传的文件不做检查.。.....这种吧就不多说了,我想不会有哪个开发者这么大意。

2、客户端验证。也就是验证部分跟上传表单在同一界面,这种只需要"魔改"客户端页面即可,如禁JS、改JS或表单的代码。

3、服务端验证。

(1)MIME类型验证。代理抓包,改Content-Type即可。

(2)扩展名黑名单验证。这种验证机制的漏洞其实源于服务器、操作系统或php本身,同时还得看黑名单做得是否全面以及服务端php版本是否配合等多方面因素。

Windows系统:

1、对大小写不敏感,所以可通过改扩展名如.phP绕过。

2、自动去除扩展名末尾的空格、点、::$DATA,所以依旧可通过改扩展名绕过,有时还需要打组合拳,如改成".php. ."。

Apache解析漏洞:

1、更改配置文件可以使其将奇葩后缀如.phtml、.php3作为.php解析。

附:亲测有效,在AddType加入.jpg并上传简易版图片马,也会将其当.php解析。

2、上传.htaccess文件覆盖配置文件。

针对php本身:

1、00截断。

2、上传.user.ini文件覆盖php.ini。

3、move_upload_file函数会忽略扩展名末尾的"/.",所以可以魔改扩展名绕过。

(3)文件内容验证。如使用getimagesize函数,可通过标准图片马绕过(不过得结合文件包含才能解析)。

如果不进行内容验证,单纯验证扩展名,可通过上传简易版图片马绕过,不过依旧要结合文件包含才能解析。

3、开发时留下的漏洞。如存在条件竞争、使用了二次渲染、将危险扩展名(如.php)替换为空(可通过双写绕过)、upload-labs之Pass-21

可行的防御方法

1、对上传文件做严格的检查,最好是打组合拳,同时写完善黑名单。

虽然下面这种存在漏洞,但可以借鉴一下这种组合拳打法:

$file_name = deldot($file_name);//删除文件名末尾的点
$file_ext = strrchr($file_name, '.');
$file_ext = strtolower($file_ext); //转换为小写
$file_ext = str_ireplace('::$DATA', '', $file_ext);//去除字符串::$DATA
$file_ext = trim($file_ext); //首尾去空

2、不要暴露上传路径,尽量将上传文件夹藏好。

3、对上传文件进行重命名。

4、开发时做好潜在漏洞的排查,运维人员定时检查系统日志。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/m0_63318127/article/details/124073092

文件上传漏洞_上线的小白的博客-爱代码爱编程

文件上传漏洞闯关 每次打开的时候总是会忘记怎么打开,先记下来,以防过很久之后就彻底忘了该怎么动了。 先交代一下前期准备的工作吧。联网是肯定的,无网寸步难行嘛,之后将xampp里的环境全部关闭,主要是前两个,一定要关闭,要不

文件上传漏洞小总结-爱代码爱编程

目录 一、什么是文件上传漏洞二、攻击类型2.1前端限制:2.2检查扩展名:2.3检查http header中的content-type2.4分析文件头的内容来检查文件类型2.5限制Web Server对于特定类型文件

文件上传漏洞的小总结-爱代码爱编程

目录 一.原理二. 高危触发点三.前端处理四. 后端处理五. 上传分类1. js验证绕过方法2. 文件扩展名检测(1). htaccsee上传漏洞(2). Apache1.x,2.x解析漏洞(3). iis解析漏洞(4).编辑器解析漏洞(5). iis 7.0/7.5解析漏洞3. MIME-type检测定义常见的mimetype类型:怎么检测绕过方

文件上传漏洞检测及绕过姿势小结-爱代码爱编程

定义 Web应用程序一般都具有上传功能,如果服务端代码未对客户端上传的文件进行严格的验证和过滤,恶意攻击者可以上传脚本文件并被服务器解析,文件上传漏洞就产生了。 检测及绕过姿势 一般来说,关于文件上传漏洞的检测分为两个大方面: 注明: 以下的绕过方法,是针对具体的某种检测方式而言,现实中遇到的环境,大多是多种检测方式的组合,绕过方式也视具体而

文件解析漏洞小结-爱代码爱编程

前言 0x00 文件解析漏洞主要由于网站管理员操作不当或者 Web 服务器自身的漏洞,导致一些特殊文件被 IIS、apache、nginx 或其他 Web服务器在某种情况下当成脚本文件解析执行了。从而导致解析漏洞的出现 IIS解析漏洞 1:目录解析(6.0),当一个目录后缀asp或asa时,此目录所有文件都会被当作asp脚本文件执行       

nginx 上传文件漏洞_Nginx 出现高危漏洞,可任意上传文件。附解决办法-爱代码爱编程

Nginx 给我的形象一直是稳定快速,但是现在出现了一个这么大的漏洞、不得不补一下了 。。 其实此次漏洞的话应该不会危及太多人,因为没多少人会那么无聊的去刚好在这个时候去搞你网站。 这里我说一下应该如何解决这个问题,仅需一个脚本即可: wget soft.vpser.net/lnmp/upgrade_nginx.sh;sh upgrade_n

绕过漏洞危害_文件上传漏洞的原理、危害及防御-爱代码爱编程

一. 什么是文件上传漏洞 Web应用程序通常会有文件上传的功能, 例如在 BBS发布图片 , 在个人网站发布ZIP 压缩 包, 在办公平台发布DOC文件等 , 只要 Web应用程序允许上传文件, 就有可能存在文件上传漏 洞. 什么样的网站会有文件上传漏洞? 大部分文件上传漏洞的产生是因为Web应用程序没有对上传文件的格式进行严格过滤 , 还有一部

文件上传漏洞的修复-爱代码爱编程

文章目录 文件上传目录设置为不可执行权限判断文件类型(白名单)使用随机数、时间戳改写文件名和文件路径单独设置文件服务器域名小结 在上一篇的文件上传漏洞的文章中,我们提到过"文件上传"的功能本身是没有问题的,知识在一些特定的条件下会被网络攻击者利用,从而才会成为漏洞。那么"文件上传"的功能要如何设计才能变得更安全一些呢? 文件上传目录设置为不可

mysql文件上传漏洞_[转载]文件上传漏洞-爱代码爱编程

文件上传漏洞 实验环境: Windows 7 X64 Phpstudy 2018 PHP 5.4.45 Apache 2.4.23 靶机项目地址:https://github.com/c0ny1/upload-labs Pass01 — JS限制 开启burp抓包,尝试上传eval.php,点击上传后页面直接提示该文件不允许上传,而bu

php本地文件包含漏洞,php文件包含漏洞利用小结-爱代码爱编程

漏洞概述: 文件包含漏洞是指客户端(一般为浏览器)用户通过输入控制动态包含在服务器的文件,从而导致恶意代码的执行及敏感信息的泄露,主要包括本地文件包含LFI和远程文件包含RFI两种形式。 产生原因: 在通过 PHP 的函数引入文件时,由于传入的文件名没有经过合理的校验,从而操作了预想之外的文件,就可能导致意外的文件泄露甚至恶意的代码注入 利用条

linux文件上传白名单绕过,【漏洞详解】基于文件上传点挖掘存储型XSS漏洞-爱代码爱编程

原标题:【漏洞详解】基于文件上传点挖掘存储型XSS漏洞 说到文件上传漏洞,常见的姿势是是尝试利用上传木马 Getshell。但是,在挖漏时很少碰到可以顺利上传木马的点,一般都是卡在某一步(服务器白名单过滤、已上传木马文件找不到路径、无法解析……),然后不了了之……而实际上,对于文件上传的功能点,我们还可以进一步尝试进行存储型 XSS 跨站脚本攻击,往

从服务器角度防御文件上传漏洞,文件上传漏洞全面渗透分析小结-爱代码爱编程

0x00 文件上传场景 (本文档只做技术交流,切勿进行违法犯罪操作,请做一个好人,不给别人添麻烦) 文件上传的场景真的随处可见,不加防范小心,容易造成漏洞,造成信息泄露,甚至更为严重的灾难。 比如某博客网站评论编辑模块,右上角就有支持上传图片的功能,提交带有恶意字符串的图片后,就直接可以显示在评论中了,如图: 再次声明:大家在自己的搭建的环

pikachu的文件上传漏洞-爱代码爱编程

一、客户端检测 说明:在前端通过js脚本对上传文件的后缀名进行验证,通过设置黑、白名单限制用户上传的文件类型。这种验证方式很不安全,很容易被绕过。可以通过拦截修改数据包轻松绕过,甚至直接在浏览器关闭js都可以绕过。 (1)这里设置了白名单,所以直接将一句话木马改成jpg后缀上传 (2)bp抓包,将后缀修改回php后,放包上传 (3)上传成功,得到文

文件上传漏洞总结-爱代码爱编程

目录 1、文件上传漏洞原理 2、常见的文件上传类型 3、文件上传注入点 4、web中常见的上传验证 黑名单常见自定义过滤规则 白名单常见的过滤规则 5、逻辑数组绕过 5.1、图片一句话木马的制作与利用 5.2、文件头检查 5.3、getimagesize()图像信息判断 5.4、竞争条件攻击 5.5、突破exif_imagetype

网络安全——ddos攻击-爱代码爱编程

DDOS攻击 1.引言2.什么是DDOS?3.DDOS的攻击原理4.DDOS的防御手段5.什么是hping3?6.实践验证7.参考文献 1.引言     讲个笑话:手中没有剑,和有剑不