文件上传笔记

一、上传的简单绕过:

1、若是上传的文件只在前端的代码中进行了过滤:

(1)可以直接在开发者工具中删除相关代码:

(2)也可以通过 burpsuite 绕过:

上传时,先提前修改 php 文件的后缀名为 jpg

把文件后缀名改回 php

发送到 repeater 模块(也可以不发送,不发送的话直接 forward),然后可以看到上传的路径:

2、绕过 content-type 检测上传

有时候代码会对 http 类型头进行检测,如果是图片类型,就允许上传,否则会上传失败,但是这个字段是可以被修改的。

直接上传 php 文件,此时的 content-type 字段的参数为 application/octet-stream,改为图片格式的 image/jpeg

上传成功。

3、黑名单上传绕过:

有时候代码会对特定的一些后缀名进行检测拦截

(1)这时候可以上传一些黑名单外的后缀名,若黑名单中的后缀名是 php、asp、aspx、jsp ,那这个时候我们可以上传 asa、cer、cdx

(2)若网站里允许 .net 执行,可以上传 ashx 代替 aspx

(3)不同的中间件的处理不同,如果在 apache 中开启了 application/x-httpd-php ,然后添加指令:

复制代码
AddType application/x-httpd-php .php .phtml .php3

这时候后缀名为 phtml、php3 的文件均会被解析为 php,这时候直接上传 phtml 和 php3 即可

相关推荐
贺一航【Niki】19 小时前
【学习笔记】杂乱知识
笔记·学习
つ安静与叛逆的小籹人20 小时前
小红书API:通过笔记ID获取笔记详情数据教程
笔记·python
ClutchoQ1 天前
【你指的API是哪个API?软件工程师跨服聊天实录】
笔记·其他
二哈赛车手1 天前
新人笔记---Spring AI的Advisor以及其底层机制讲解(涉及源码),包含一些遇见的Spring AI的Advisor缺陷问题的解决方案
java·人工智能·spring boot·笔记·spring
Tutankaaa1 天前
知识竞赛软件SaaS版 vs 本地部署
人工智能·经验分享·笔记·学习
许长安1 天前
RPC 异步调用基本使用方法:基于官方helloworld-async 示例
c++·经验分享·笔记·rpc
sheeta19981 天前
苍穹外卖Day12笔记
笔记
hnult1 天前
AI 在线考试全流程 :考试云七大核心 AI 功能深度解读
人工智能·笔记·重构·课程设计
普通young man1 天前
vim常用编辑和视图(个人笔记)
笔记·编辑器·vim
sheeta19981 天前
LeetCode 每日一题笔记 日期:2026.05.07 题目:3660. 找到所有可以到达的最大值
笔记·算法·leetcode