返回顶部
首页 > 资讯 > 后端开发 > PHP编程 >[极客大挑战 2019]Secret File 1解题思路
  • 501
分享到

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

php服务器开发语言Poweredby金山文档 2023-09-06 12:09:05 501人浏览 薄情痞子
摘要

1.开启靶机 开启靶机后进入网址,没有什么好的信息 2.按F12查看源代码 发现了一个网址./ArcHive_room.PHP按CTRL键点击即可进入,可以看到

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

--结束END--

本文标题: [极客大挑战 2019]Secret File 1解题思路

本文链接: https://lsjlt.com/news/396969.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作