文件上传-黑名单关键字绕过

[题目信息]:

题目名称 题目难度
文件上传-黑名单关键字绕过 1

[题目考点]:

复制代码
黑名单文件后缀名检测

[Flag格式]:

复制代码
SangFor{bvgizCoInMSfB5PKETz5W-e4Tn56XXra}

[环境部署]:

docker-compose.yml文件或者docker tar原始文件。

复制代码
端口:11005

[题目writeup]:

1、实验主页

2、对于上传点的测试思路

正在上传...重新上传取消

3、上传标准图片文件

可以看到图片正常上传

正在上传...重新上传取消

F12或者邮件审查元素,打开控制台,使用该按钮点击图片,可以发现图片上传位置;

上传1.php文件并抓包

正在上传...重新上传取消

对于黑名单的绕过是最容易理解的一种绕过方式,只要可以突破上传点没有限制到的后缀名即可上传成功。

举例几种常见的后缀名:

复制代码
".php",".php5",".php4",".php3",".php2","php1",".html",".htm",".phtml",".pHp",".pHp5",".pHp4",

在测试上传点时,只要上传点忽略了其中一点,我们就能够上传可以解析的php文件;

至于如何知晓哪些后缀没有被限制,可以使用 burpsuite 批量上传来测试后缀名。

首先随意抓取一个 request 请求包发送给 intrude:

接着添加以下 payload 并开始攻击:

复制代码
php
php7
php5
php4
php3
php2
php1
html
htm
phtml
pHp
Php
phP
pHp5
pHp4
pHp3
pHp2
pHp1
php.
php. .
php 

正在上传...重新上传取消

正在上传...重新上传取消

复制文件后缀,开始爆破;

正在上传...重新上传取消

可在Response模块查看回显结果

访问php3后缀文件,成功解析为php。

那么为什么php3后缀的文件会被作为php文件成功解析呢?

在apache2服务器的配置文件apache.conf中

有AddType模块

该配置模块规定了哪些后缀可以被视为php文件解析;

相关推荐
不写八个3 小时前
PHP教程004:php链接mysql数据库
数据库·mysql·php
cch89188 小时前
PHP vs Go:Web开发选谁更胜一筹?
前端·golang·php
淼淼爱喝水9 小时前
OpenEuler 系统下 Ansible 环境部署与连通性测试完整步骤
linux·开发语言·php·openeuler
一只会跑会跳会发疯的猴子11 小时前
php操作elasticsearch,亲测可用
开发语言·elasticsearch·php
我叫黑大帅13 小时前
PHP 中处理图像的利器 GD库
后端·面试·php
我叫黑大帅13 小时前
如何使用PHP创建图像验证码
后端·面试·php
FlyChat13 小时前
自研搜索引擎实战:全栈PHP扛下核心,ES+Redis+Kafka+多语言爬虫构建高性能“智搜搜索”深度拆解
elasticsearch·搜索引擎·php
代码栈上的思考14 小时前
消息队列自定义应用层协议设计:参数取舍与响应封装的核心逻辑
开发语言·php
cch891814 小时前
PHP与C语言:从网页到内核的编程对决
c语言·开发语言·php
FlyChat14 小时前
从零到亿:拆解“智搜搜索”工业化引擎——PHP如何驯服ElasticSearch、Kafka与多语言爬虫巨兽
elasticsearch·kafka·php