我的编程空间,编程开发者的网络收藏夹
学习永远不晚

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

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

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

1.开启靶机

开启靶机后进入网址,没有什么好的信息

2.按F12查看源代码

发现了一个网址./Archive_room.php按CTRL键点击即可进入,可以看到

点击这个SECRET并没有发生什么,后面倒是说“查阅结束”,那么就说明,速度很快,肉眼看不到,那我们就要借用工具burpsuite。首先下开启代理服务器

3.使用burpsuite

进入到这个界面,软件中应该显示出获取的信息,点击forward直到信息中出现action.php(根据源代码提示)

接着将这串数据发送到repeater,在repeater里我们点击Go就进入到下面的界面

后面的话我们就可以输入网址http://78b3b06a-804f-46c6-8d85-8635948e27ad.node4.buuoj.cn/secr3t.php可以查看源代码(记着要将burpsuite和局域网关闭,否则是打不开的)

4.代码解释

这是一个PHP脚本,以HTML标签开头。该脚本包含了一个PHP函数 highlight_file(__FILE__),该函数可以高亮正在执行的PHP代码。

然后,该脚本设置了 error_reporting(0),以关闭错误报告。

该脚本通过 $_GET 超全局变量接收一个文件名作为参数。然后它检查文件名是否包含以下任何字符串: "../"、"tp"、"input" 或 "data"。如果包含,则脚本会打印 "Oh no!" 并退出。这是一种安全措施,用于防止目录遍历攻击并保护服务器免受恶意文件包含的攻击。

如果文件名通过了安全检查,该脚本将使用 include 语句包含该文件。被包含的文件的内容将作为PHP代码执行。

标志存储在名为 "flag.php" 的文件中,该文件可能由此脚本包含。

5.PHP伪协议

看到flag.php应该联想到php伪协议,在后面加上

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

这是因为 php://filter/read=convert.base64-encode 是一种 PHP 伪协议,用于将文件转换为 base64 格式。通过在 $_GET 超全局变量中传递 file=php://filter/read=convert.base64-encode/resource=flag.php,我们可以读取 flag.php 文件的内容并将其转换为 base64 格式。然后,我们可以将该内容解码并查看其中是否包含有用的信息。

就会给出一堆符号的组合,显然这是base64的密文,接着在base64解密下即可求得flag

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

6.解密得到flag

base64在线解密网址:http://www.jsons.cn/base64/

flag为flag{396013bb-f4d4-458c-bfab-c8f898fb8f74}

7、总结

在做这道题的时候,主要是会使用burpsuite工具,并且还要了解PHP伪协议的一些知识及概念,最后还用到了一些密码里的base64,这些都需要了解一下。

来源地址:https://blog.csdn.net/m0_74047686/article/details/129329951

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

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

下载Word文档到电脑,方便收藏和打印~

下载Word文档

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录