文件上传笔记

一、上传的简单绕过:

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

相关推荐
Go Work24 分钟前
docker 占满根分区时先分清谁在吃盘
经验分享·笔记
3095566661 小时前
股票接口返回 404 与空数组的排查笔记:证书状态与级别参数
java·笔记·python·ios·iphone·股票数据api·股票数据接口
蒸蒸yyyyzwd1 小时前
从邓明学习的后端笔记
笔记·学习
岑梓铭2 小时前
《考研408数据结构》第八章(排序)复习笔记
数据结构·笔记
Rabitebla14 小时前
【Linux】进程控制(十二) 自定义 Shell(二):内建命令与进程工作目录管理
linux·c++·笔记·学习·bash
坤坤子吖19 小时前
Linux网络编程:TCP 粘包与半包问题,如何正确处理 TCP 流式数据?
linux·服务器·网络·笔记·网络协议·学习
YLCHUP1 天前
【思维&图论建模】题解:债权(debt)_图论_建模_思路转化_思维题目_C++算法竞赛
c++·笔记·算法·数学建模·贪心算法·深度优先·图论
旖旎夜光1 天前
【C++ 基础入门】C++11 新特性(中):右值引用、移动语义与完美转发
开发语言·c++·笔记·学习
星恒随风1 天前
MySQL 从零入门(五):MySQL 内置函数详解——日期、字符串、数学函数与实战案例
linux·数据库·笔记·sql·mysql
2603_969694852 天前
【JavaWeb学习记录】MyBatis核心知识点与实战笔记:从入门到动态SQL
笔记·sql·学习·mysql·mybatis·javaweb·学习方法