| 
 | |
| 
 | 
| 开发:
C++知识库 
Java知识库 
JavaScript 
Python 
PHP知识库 
人工智能 
区块链 
大数据 
移动开发 
嵌入式 
开发工具 
数据结构与算法 
开发测试 
游戏开发 
网络协议 
系统运维 教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 | 
| -> PHP知识库 -> 文件上传漏洞个人笔记 -> 正文阅读 | 
|  | 
| [PHP知识库]文件上传漏洞个人笔记 | 
| 什么是文件上传漏洞及原理?顾名思义,文件上传漏洞就是有可以上传文件的地方就 可能 会存在上传漏洞,可以说有文件上传的地方就可以测试是否存在文件上传漏洞,攻击者找到上传文件或者上传图片一个地方,在上传的文件或者图片中写入一句话木马或者可进行攻击的代码,并且程序员未做上传文件的格式及内容过滤,导致这句代码可在后端服务器执行(.php、.asp等文件格式)。 不是有文件上传的地方就有上传漏洞,但有文件上传的地方都可以测试是否存在漏洞。~~~有点儿绕。。。 如何查找及判断?上传头像、图片、文件的地方,大部分网站的会员中心,及后台管理系统上传有无上传的地方,再则通过URL爆破目录进行查找。 同样,我也是搭建了一个靶场,这个靶场主要就是针对上传漏洞的,网上可以说大部分也是讲的这个靶场,我也来讲一讲。 可以看见这个图有一个上传的功能,我试一试上传一个php后缀的文件。 这是文件内容 
 
 ? ?弹出一个JS窗口,说的是只能上传.jpg等三种格式的图片,有弹窗说明是JS,我们禁用JS尝试能否上传成功。 禁用JS 
 ?上传php文件成功 
 ?访问该图片 
 说明木马成功执行。 既然禁用了JS,说明这个网站是做了前端的过滤。那么我们就可以进行抓包改包绕过前端。 上传jpg文件 
 ? 抓包,将jpg改为php后缀放包 
 ? 后缀为php文件,成功。 要知道的是,不同的后端的脚本语言的后缀都是不相同的,所以进行测试的时候要搞清楚后端脚本语言的后缀有哪些。 再一种就是可以通过各种cms的版本以及CVE的文件上传漏洞编号在网上搜索历史漏洞,或者已经有人发布的漏洞来进行漏洞查找或复现。 如何利用上传成功了就直接上菜刀、蚁剑等自我觉得刑的工具。 文件上传漏洞有哪些危害?我们上传的文件内容是自己编辑的,那么这文件中写着一句话木马,或者大马(后门文件)等等可以直接拿到webshell权限的文件。直接控制服务器。 验证和绕过验证这里举个简单的例子。这个是 upload-labs 漏洞靶场的第一关代码 上面包含了3个文件,也就是说这个文件中可能会调用以上三个文件中的代码。 
 submit在前端页面中就是上传按钮,意思就是点击了上传按钮过后就会进行isset验证。 
 ?往下走,如果存在再执行 file_exists(UPLOAD_PATH)验证 
 ?UPLOAD_PATH可以理解为上传的路径(上传到哪里去)我们在config.php文件中查看。 
 ?上传的文件夹路径是../upload $_FILES['表单中参数的名字']['文件名'],这个$_FILES全局变量作用在下。 $_FILES['upload_file']['name']; ????? ?? //客户端上传文件的原名称,不包含路径 将上传的文件写入变量$temp_file 将上传的文件及原文件名上传到UPLOAD_PATH的 / 下面?? UPLOAD_PATH= .. / upload? 所以就是upload / 下面。 ? ?将获取的$temp_file文件移动到$img_path下面,然后允许上传。 
 绕过绕过分为黑名单和白名单绕过 黑名单,是不允许某些文件类型上传。例:不允许 image/jpg || gif || png 格式上传,其余文件格式全部可以上传。 白名单,是只允许某些文件类型上传。例:只允许 image/jpg || gif || png? 格式上传,其余过滤。 黑名单特殊解析后缀 | 
|  | 
| PHP知识库 最新文章 | 
| Laravel 下实现 Google 2fa 验证 | 
| UUCTF WP | 
| DASCTF10月 web | 
| XAMPP任意命令执行提升权限漏洞(CVE-2020- | 
| [GYCTF2020]Easyphp | 
| iwebsec靶场 代码执行关卡通关笔记 | 
| 多个线程同步执行,多个线程依次执行,多个 | 
| php 没事记录下常用方法 (TP5.1) | 
| php之jwt | 
| 2021-09-18 | 
|  | 
| 上一篇文章 下一篇文章 查看所有文章 | 
| 
 | 
| 开发:
C++知识库 
Java知识库 
JavaScript 
Python 
PHP知识库 
人工智能 
区块链 
大数据 
移动开发 
嵌入式 
开发工具 
数据结构与算法 
开发测试 
游戏开发 
网络协议 
系统运维 教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 | 
| 360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年10日历 | -2025/10/31 13:27:24- | 
| 
 | 
| 网站联系: qq:121756557 email:121756557@qq.com IT数码 |