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

[题目信息]:

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

相关推荐
hotlinhao4 小时前
php版的FormCreate使用注意事项
php·crmeb
鱼鱼说测试10 小时前
Jenkins+Python自动化持续集成详细教程
开发语言·servlet·php
网硕互联的小客服14 小时前
Apache 如何支持SHTML(SSI)的配置方法
运维·服务器·网络·windows·php
苏琢玉15 小时前
如何让同事自己查数据?写一个零依赖 PHP SQL 查询工具就够了
mysql·php
全栈软件开发20 小时前
PHP域名授权系统网站源码_授权管理工单系统_精美UI_附教程
开发语言·ui·php·php域名授权·授权系统网站源码
mit6.82421 小时前
ubuntu远程桌面很卡怎么解决?
linux·ubuntu·php
奥格列的魔法拖鞋~2 天前
Docker-LNMP架构 创建多项目- 单个ngixn代理多个PHP容器服务
nginx·docker·eureka·架构·php·lnmp
皓空揽月2 天前
php+apache+nginx 更换域名
nginx·php·apache
我不是立达刘宁宇2 天前
php危险函数,二.assert()[现版本已弃用]
开发语言·php
liulanba2 天前
NAT 和 PNAT
开发语言·php