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

[题目信息]:

题目名称 题目难度
文件上传-黑名单关键字绕过 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文件解析;

相关推荐
胡八一1 天前
解决PHP未检测到您服务器环境的sqlite3数据库扩展报错
服务器·数据库·php
名字不相符1 天前
攻防世界WEB难度一(个人记录)
学习·php·web·萌新
Q_Q5110082851 天前
python+django/flask的结合人脸识别和实名认证的校园论坛系统
spring boot·python·django·flask·node.js·php
Q_Q5110082851 天前
python+django/flask的选课系统与课程评价整合系统
spring boot·python·django·flask·node.js·php
权泽谦1 天前
PHP 版羊了个羊完整开发实战:逻辑解析 + 三消算法 + 全套接口(附源码)
开发语言·php
数据牧羊人的成长笔记2 天前
Hadoop 分布式计算MapReduce和资源管理Yarn 2
开发语言·php
JaguarJack2 天前
PHP True Async RFC 被拒——原生异步离 PHP 还有多远?
php·服务端
JSON_L2 天前
Fastadmin 使用RabbitMQ队列
rabbitmq·php·fastadmin
Gerardisite2 天前
如何在微信个人号开发中有效管理API接口?
java·开发语言·python·微信·php
last demo2 天前
MariaDB 数据库管理
linux·运维·服务器·数据库·php·mariadb