目录遍历
方法一:手动遍历
方法二 :跑脚本遍历
import requests
url="http://challenge-c3d069a51926a818.sandbox.ctfhub.com:10800/flag_in_here/"
for i in range(5):
for j in range(5):
url_test=url+str(i)+"/"+str(j)
r =requests.get(url_test)
r.encoding='utf-8'
get_file=r.text
if "flag.txt" in get_file:
print(url_test)
打开网址 找到flag
PHPinfo
phpinfo()函数
phpinfo()
是一个 PHP 函数,用于获取并显示有关当前 PHP 解释器和其配置的详细信息。它通常用于调试和了解 PHP 服务器的配置和环境。使用 phpinfo()
函数,你可以查看有关 PHP 版本、已加载的扩展、服务器环境变量、配置设置以及其他与 PHP 相关的信息。
要使用 phpinfo()
函数,只需在你的 PHP 脚本中调用它,如下所示:
<?php
phpinfo();
?>
当你运行包含此代码的脚本时,它会生成一个包含大量有关 PHP 配置的 HTML 页面,并在浏览器中显示出来。这个页面包括有关 PHP 版本、编译选项、模块加载情况、配置设置、环境变量以及其他与 PHP 相关的信息。
phpinfo()
对于调试和排查 PHP 服务器问题非常有用,但要小心不要在生产环境中暴露这些详细信息,因为它们可能包含敏感信息,可能会被恶意使用。通常建议只在需要时使用,并在完成后删除或保护相关文件。
网页显示了php以及该环境下的信息,可以直接获得flag
方法一:ctrl+F,查找flag
方法二:跑脚本
#!/usr/bin/python3
# -*- coding: utf-8 -*-
# --author:valecalida--
import urllib.request
import urllib.request
import re
rr = re.compile(r'\bctfhub{.*}', re.I)
res = urllib.request.urlopen("http://challenge-4833ecf999706e28.sandbox.ctfhub.com:10800/phpinfo.php")
res_content = res.read().decode('utf-8')
print(rr.findall(res_content))
文件备份下载
网站源码
原因:开发人员在线上环境中对源代码进行了备份操作,并且将备份文件放在了 web 目录下,就会引起网站源码泄露。
手动把文件都跑一遍最后找到是www.zip
把之前的flag文件名称放到后面找到flag
也可以用dirsearch扫一下
bak文件
BAK文件通常是指备份文件(Backup File)。这些文件通常包含原始文件的备份或副本,以防止数据丢失或文件损坏。BAK文件的常见用途包括数据库备份、应用程序配置文件备份和文档备份。
以下是一些常见情况下BAK文件的用途:
-
数据库备份:数据库管理系统(如MySQL、Microsoft SQL Server、Oracle等)通常会生成BAK文件,用于备份数据库的内容。这些备份可以用于恢复数据,以防止意外数据丢失。
-
文件备份:在计算机上执行文件或文件夹备份操作时,可能会创建BAK文件,以便将它们还原到原始状态,以防需要时能够还原数据。
-
应用程序配置备份:某些应用程序可能会在进行更改或升级之前创建配置文件的备份,以便在需要时能够还原到之前的配置状态。
-
自动保存文件:一些应用程序会自动创建BAK文件,以保存最近的更改,以防止应用程序崩溃或计算机故障时数据丢失。
通常,BAK文件的扩展名可以是不同的,具体取决于创建它们的应用程序和用途。如果您想了解特定BAK文件的内容或如何处理它们,您需要知道生成该文件的应用程序或上下文,并根据情况采取适当的措施,如还原数据或删除不再需要的备份。
在网址后面加/index.php.bak
找到flag
vim缓存
"VIM" 是一种流行的文本编辑器,广泛用于Unix和Linux操作系统,也可在其他操作系统上使用。VIM(Vi IMproved)是Vi编辑器的增强版,具有许多功能和定制选项。VIM文件通常是VIM编辑器的配置文件,用于保存用户的个性化编辑器设置、键绑定、插件配置等。
以下是一些常见的VIM文件:
-
.vimrc:这是VIM的主要配置文件,位于用户的主目录(如
~/.vimrc
或~/_vimrc
)。用户可以在其中定义编辑器的行为,设置颜色方案、键绑定、插件和其他编辑器选项。通过编辑.vimrc
文件,用户可以个性化VIM以适应自己的需求。 -
.vim/目录:这是用于存储VIM插件和脚本的目录。用户可以在其中安装各种插件以扩展VIM的功能。此目录通常位于用户的主目录(如
~/.vim/
)。VIM会自动加载这些插件并根据配置进行管理。 -
.viminfo:这个文件包含VIM编辑器的历史记录和状态信息,如命令历史、查找历史、光标位置等。这些信息在用户退出VIM时保存,以便在下次打开文件时恢复。
-
.vimspell:这是VIM的拼写检查器(spell checker)的配置文件,用于自定义拼写检查的行为。
-
.vim/after/目录:这个目录包含用户自定义的VIM配置,这些配置会在VIM的默认设置之后加载,允许用户对默认行为进行修改。
-
.vim/autoload/目录:VIM的插件可以包含在这个目录中的脚本文件,这些脚本文件会在需要时自动加载。
-
.vim/plugin/目录:这个目录包含VIM的插件脚本,这些脚本会在启动VIM时自动加载。
请注意,文件和目录的名称可能会有所不同,具体取决于VIM的配置和操作系统。VIM非常灵活,允许用户根据自己的需求进行定制和配置。编辑VIM文件可以通过文本编辑器来进行,但建议使用VIM自身的编辑功能来修改VIM配置文件,以确保语法正确性和一致性。
当开发人员在线上环境中使用 vim 编辑器,在使用过程中会留下 vim 编辑器缓存,当vim异常退出时,缓存会一直留在服务器上,引起网站源码泄露。在编辑时会创建临时缓存文件,关闭vim时缓存文件则会被删除,当vim异常退出后,因为未处理缓存文件,导致可以通过缓存文件恢复原始文件内容.
-
后缀添加的 文件名 可能发生变化:
-
第一次文件名可能为 .index.php.swp
-
第二次文件名可能为 .index.php.swo
-
第三次文件名可能为 .index.php.swn
-
从上到下每一个文明名都试一遍.
打开是乱码 把文件放入linux系统中输入
恢复文件
vim -r "index.php.swp"
找到flag
.DS_Store
.DS_Store 是 Mac OS 保存文件夹的自定义属性的隐藏文件。通过.DS_Store可以知道这个目录里面所有文件的清单.
利用提示信息.(然后直接在后面添加 .DS_Store )
把文件放在linux系统中 打开 cat 文件名
发现类似flag信息 访问
找到flag