[CTF]upload-lab靶场day1

本文详细介绍了在CTF(Capture The Flag)挑战中遇到的多种上传漏洞利用方法,包括前端js绕过、MIME类型验证、黑名单绕过、.htaccess配置利用、user.ini文件利用和大小写绕过的实战技巧。通过这些技巧,作者成功上传了原本受限的文件格式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Pass-01 前端js绕过

拿到题目看hint提示判定在前端,用burp代理,将1.php后缀名更改为.png格式即可通过前端检测,而后在burp中对修改包内容,将1.png改为1.php即可绕过前端js检测

Pass-02 MIME验证

上传php后显示不成功,但是上传图片显示正常,即使用burp抓包后发送到repeater,将Content-Type内容类型更改为:image/jpeg(上传图片拦截包后作为参考),然后forward,即可成功上传

Pass-03 黑名单绕过

这里是根据后缀名特征进行拦截的,此类情况即可直接修改后缀名(例如php可以改为php3,php4,php5一类的文件,在后面还有一道可以直接修改大小写即可通过检测)

Pass-04 黑名单绕过-.htaccess

此处是根据.htaccess的分级目录设置的方法,利用了后缀名黑名单中缺少htaccess的限制

.htaccess文件(或者"分布式配置文件"),全称是Hypertext Access(超文本入口)。提供了针对目录改变配置的方法, 即,在一个特定的文档目录中放置一个包含一个或多个指令的文件, 以作用于此目录及其所有子目录。作为用户,所能使用的命令受到限制。管理员可以通过Apache的AllowOverride指令来设置。

上传一个.htaccess文件,内容为

<FilesMatch “up”> #“up”是可以上传的文件名
SetHandler application/x-httpd-php

此时将1.php更名为up.php,即可成功上传

Pass-05 黑名单验证-user.ini

验证发现可以上传图片,但是上传1.php失败,上述方法均不可用,因此可以上传一个user.ini(user.ini实际上是一个可以由用户自定义的php.ini),内容如下

auto_prepend_file=1.gif

即为让所有的php文件都自动包含1.gif文件,此时将phpinfo.php重命名为1.gif并上传,然后访问./upload/readme.php,即成功

Pass-06 黑名单验证-大小写绕过

将.php后缀更改为.Php后缀即可通过检测

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值