文件包含小练

文件包含

[极客大挑战 2019]Secret

首先打开查看源代码

在这里插入图片描述

发现有个./Archive_room.php,可以打开。

点击select,出现这个界面,说明之前有东西停顿的时间太短了,我们用burp抓包试试

在这里插入图片描述

发现secr3t.php,访问它

在这里插入图片描述

开始代码审计

在这里插入图片描述

简单说明下strstr函数:搜索另一个字符串内字符串的首次出现。

如:echo strstr("Hello world!","world");将会输出'world'

flag在flag.php里,所以我们要想办法访问它,但是发现传入的file经过了一些过滤,但是没有过滤filter,所以我们可以用php://fileter来获取文件
构造payload

http://自己的地址/secr3t.php?file=php://filter/read=convert.base64-encode/resource=flag.php

得到base64加密后的flag,将他解码,得到flag

在这里插入图片描述

[BSidesCF 2020]Had a bad day

首先点开界面发现什么也没有,查看源码,也什么也没有,所以我们点击选项,发现了端倪,发现了index.php

在这里插入图片描述

查看index.php的源码,提示错误,显示无法打开流

在这里插入图片描述

经过尝试,发现去掉php后缀即可

http://你的地址/index.php?category=php://filter/read=convert.base64-encode/resource=index

在这里插入图片描述

base64解码,审计源码,发现关键在这段代码内

在这里插入图片描述

简单讲一下strpos函数:查找字符串内首次出现"php"的位置:
如:echo strpos("I love php, I love php too!","php")将会得到7

说明传入的category需要有woofers,meowers,index才能包含传入以传入名为文件名的文件

我们需要在构造的时候有上面的参数,所以在伪协议中嵌套一层需要的参数

category=php://filter/read=convert.base64-encode/**meowers**/resource=flag

得到flag在这里插入图片描述

将其base64解码即可

在这里插入图片描述

[RoarCTF 2019]Easy Java

打开题目后尝试输入,回显的都是这个

在这里插入图片描述

下面有个help

点击之后回显的是

在这里插入图片描述

同时url变为了

http://df2f2001-d145-49cb-97d9-1765773d2122.node4.buuoj.cn:81/Download?filename=help.docx

下面就涉及到了一个漏洞WEB-INF/web.xml泄露可以参考这篇文章(19条消息) ctf/web源码泄露及利用办法【总结中】_Sp4rkW的博客-CSDN博客_ctf源码泄露

在这里插入图片描述

所以我们先找一下WEB-INF/web.xml,先试试get传值

http://df2f2001-d145-49cb-97d9-1765773d2122.node4.buuoj.cn:81/Download?filename=WEB-INF/web.xml

在这里插入图片描述

没什么用,那么应该就是post传值了

在这里插入图片描述

下载了一个 文件,打开

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
         version="4.0">

    <welcome-file-list>
        <welcome-file>Index</welcome-file>
    </welcome-file-list>

    <servlet>
        <servlet-name>IndexController</servlet-name>
        <servlet-class>com.wm.ctf.IndexController</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>IndexController</servlet-name>
        <url-pattern>/Index</url-pattern>
    </servlet-mapping>

    <servlet>
        <servlet-name>LoginController</servlet-name>
        <servlet-class>com.wm.ctf.LoginController</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>LoginController</servlet-name>
        <url-pattern>/Login</url-pattern>
    </servlet-mapping>

    <servlet>
        <servlet-name>DownloadController</servlet-name>
        <servlet-class>com.wm.ctf.DownloadController</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>DownloadController</servlet-name>
        <url-pattern>/Download</url-pattern>
    </servlet-mapping>

    <servlet>
        <servlet-name>FlagController</servlet-name>
        <servlet-class>com.wm.ctf.FlagController</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>FlagController</servlet-name>
        <url-pattern>/Flag</url-pattern>
    </servlet-mapping>

</web-app>

发现了一个com.wm.ctf.FlagController且应该是在

WEB-INF/classes/

试试访问它

filename=WEB-INF/classes/com/wm/ctf/FlagController.class

下载了一个文件,打开

在这里插入图片描述

发现了一段base64编码,解密,得到flag

在这里插入图片描述

[NPUCTF2020]ezinclude(临时文件包含

打开题目就看到

在这里插入图片描述

用burp抓包试试

在这里插入图片描述

应该是哈希长度拓展攻击了,参考哈希长度拓展攻击(Hash Length Extension Attacks) - 先知社区 (aliyun.com)

源码里有一句注释

先尝试一下get传参

在这里插入图片描述

他会自动重定向到404

后面尝试发现应该用burp抓包分析

在这里插入图片描述

发现了一个flflflflag.php

打开它看看

在这里插入图片描述

发现

include($_GET["file"])

说明此题应该是文件包含,且为get传参,参数为file

利用伪协议看看源码

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

在这里插入图片描述

base64解码后得到源码

<?php
$file=$_GET['file'];
if(preg_match('/data|input|zip/is',$file)){
	die('nonono');
}
@include($file);
echo 'include($_GET["file"])';
?>

过滤了data和input,不能命令执行了,php://input + [POST DATA]执行php代码

然后就没思路了,然后参考其他师傅的文章,发现可以利用php://filter/string.strip_tags导致php崩溃,同时上传文件保存在/tmp目录来上传木马. 文章参考:关于php文件操作的几个小trick - tr1ple - 博客园 (cnblogs.com)

在这里插入图片描述

posted @ 2022-07-06 14:12  phant0m1  阅读(21)  评论(0编辑  收藏  举报