文件上传笔记

一、上传的简单绕过:

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 即可

相关推荐
心无旁骛~4 小时前
Masquerade 总结笔记:解锁野外人类视频的机器人政策学习潜力
笔记·机器人
谅望者5 小时前
数据分析笔记14:Python文件操作
大数据·数据库·笔记·python·数据挖掘·数据分析
未若君雅裁6 小时前
LeetCode 51 - N皇后问题 详解笔记
java·数据结构·笔记·算法·leetcode·剪枝
循环过三天8 小时前
7.7、Python-常用内置函数
笔记·python·学习
AA陈超10 小时前
ASC学习笔记0007:用于与GameplayAbilities系统交互的核心ActorComponent
c++·笔记·学习·ue5·虚幻引擎
智者知已应修善业11 小时前
【51单片机:两边向中间流水:即两边先点亮然后熄灭,次边的点亮再熄灭,直到最中间的两个点亮再熄灭,然后重复动作。】2023-3-4
c语言·c++·经验分享·笔记·嵌入式硬件·算法·51单片机
2301_8217271712 小时前
nfs服务
网络·笔记
报错小能手12 小时前
C++笔记 bind函数模板
开发语言·c++·笔记
大筒木老辈子13 小时前
Git笔记---其他常用操作
笔记·git
做cv的小昊13 小时前
科研论文PPT绘图技巧:绘制任意曲线三角形(胖三角形)并制作效果对比图
经验分享·笔记·学习·微软·ai绘画·数据可视化