文件上传笔记

一、上传的简单绕过:

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

相关推荐
北岛寒沫14 小时前
北京大学国家发展研究院 经济学辅修 经济学原理课程笔记(第十五章 劳动力市场)
经验分享·笔记·学习
丝斯201114 小时前
AI学习笔记整理(37)——自然语言处理的基本任务
人工智能·笔记·学习
代码游侠16 小时前
复习——网络基础知识
网络·笔记·网络协议·算法·http
我命由我1234516 小时前
Photoshop - Photoshop 工具栏(46)渐变工具
经验分享·笔记·学习·ui·职场和发展·学习方法·photoshop
diegoXie17 小时前
【R】tidyr::pivot_longer / pivot_wider 学习笔记
笔记·学习·r语言
AI视觉网奇17 小时前
ue metahuman 数字人换装笔记MetaTailor
笔记
ljt272496066117 小时前
Compose笔记(六十五)--插槽模式
android·笔记·android jetpack
d111111111d17 小时前
STM32平衡车测试,定时中断读取速度
笔记·stm32·单片机·嵌入式硬件·学习·模块测试
lkbhua莱克瓦2417 小时前
基础-事务
开发语言·数据库·笔记·mysql·事务
潲爺18 小时前
《Java 8-21 高频特性实战(上):5 个场景解决 50% 开发问题(附可运行代码)》
java·开发语言·笔记·学习