目录遍历
打开题目
点击开始寻找flag
发现在flag_in_here页面中有四个文件夹
点击打开第一个文件夹
发现里面还有四个文件夹
再次点击打开第一个文件夹
里面什么都没有
尝试对所有文件夹依次都点击打开
在2/4中发现flag.txt
点击打开即可得到flag
不太懂这题的难点,搜索了一下目录遍历的知识点。
目录遍历攻击,旨在访问存储在Web根文件夹之外的文件和目录。
通过操纵带有“点-斜线(…)”序列及其变化的文件或使用绝对文件路径来引用文件的变量,可以访问存储在文件系统上的任意文件和目录,包括应用程序源代码、配置和关键系统文件。
这种攻击也称为“点-点斜线”、“目录遍历”、“目录爬升”和“回溯”。
需要注意的是,系统操作访问控制(如在微软Windows操作系统上锁定或使用文件)限制了对文件的访问权限。
nmap
Nmap使用教程图文教程(超详细)-CSDN博客
nmap超详细使用教程-CSDN博客
PHPINFO
打开环境
点击查看phpinfo
ctrl+f进行查找,直接搜索flag或者ctfhub
即可找到flag
phpinfo是php内置的函数,用于以网页的形式输出 php的具体配置信息。
查看PHP的配置信息:
首先在服务器的根目录建立phpinfo.php文件。
然后打开此文件输入以下内容
<?php
phpinfo();
?>
保存此文件之后在浏览器中打开此页面
该函数主要用于网站建设过程中测试搭建的PHP环境是否正确,但phpinfo文件泄露一直被大家所忽视,很多网站在测试完毕后并没有及时删除,因此当访问这些测试页面时,会输出服务器的关键信息,这些信息的泄露将导致服务器被渗透的风险。
phpinfo()函数返回的信息中包含了服务器的配置信息,
包括:
- PHP编译选项以及文件扩展名的相关信息;
- php的版本信息
- php的配置信息;
- 数据库信息;等敏感信息。
这些敏感信息会帮助攻击者展开进一步的攻击。
浅谈ctf中phpinfo需要关注的点 - 先知社区 (aliyun.com)
phpinfo是什么意思-PHP问题-PHP中文网
浅谈“phpinfo()信息泄漏”_phpinfo.php信息泄露 漏洞级别-CSDN博客
备份文件下载
题目描述:
当开发人员在线上环境中对源代码进行了备份操作,并且将备份文件放在了 web 目录下,就会引起网站源码泄露。
网站源码
打开环境
bp解题
打开bp代理,刷新页面
将抓包后的内容发送到Intruder
选择集束炸弹
在GET/后加入两个有效载荷
在第一个有效载荷的有效载荷选项里添加第一图中常用的备份文件名
在第二个有效载荷的有效载荷选项里添加常用后缀名
并在有效载荷处理里添加一个前缀名,前缀用“."
建议不要复制粘贴,可能会将格式等复制在内,存在空格等字符,导致无法爆破成功,数据较少,可以手打输入。或者复制粘贴时,注意格式内容。
开始攻击,查看回显
只有www.zip回显正常
访问网址/www.zip
弹出文件下载界面,下载,解压并且打开
发现打开后,没有flag,被耍了?
别急,换种方式访问
网址/文件名
得到flag
CTFHUB 网站源码_备份网站源码 ctf-CSDN博客
python脚本
也可以用python脚本进行访问,大佬写的脚本。
注意修改网址
import requests
url1 = 'http://challenge-66ada57670e15c26.sandbox.ctfhub.com:10800' # url为被扫描地址,后不加‘/’
# 常见的网站源码备份文件名
list1 = ['web', 'website', 'backup', 'back', 'www', 'wwwroot', 'temp']
# 常见的网站源码备份文件后缀
list2 = ['tar', 'tar.gz', 'zip', 'rar']
for i in list1:
for j in list2:
back = str(i) + '.' + str(j)
url = str(url1) + '/' + back
print(back + ' ', end='')
print(requests.get(url).status_code)
运行后查看,www.zip回显为200
如上,进行访问,得到flag
bak文件
打开环境
flag在index.php中,尝试访问/index.php
并无其他回显
直接访问/index.php.bak
将index.php下载
在当前页面网址的index.php后面添加.bak后缀,就会下载一个bak文件
使用记事本打开后,发现flag
后缀名是.bak的文件是备份文件,是文件格式的扩展名。把.bak改成对应的文件拓展名即可使用对应的软件打开
通常,可以通过直接重命名bak并将其替换为文件格式来还原.bak文件,并且该文件通常处于打开状态。
vim缓存
题目描述
当开发人员在线上环境中使用 vim 编辑器,在使用过程中会留下 vim 编辑器缓存,当vim异常退出时,缓存会一直留在服务器上,引起网站源码泄露。
打开环境
1.当vim在编辑文档的过程中如果异常退出,则会产生缓存文件。第一次产生的缓存文件后缀为.swp,第二次则产生的缓存文件后缀为.swo,第三次产生的缓存文件后缀为.swn。
2.使用命令vim -r 可以查看当前目录下的所有swp文件。
3.使用命令vim -r filename可以恢复文件,这样上次意外退出并且没有保存的修改,就可以覆盖文件。
4.调用这类的隐藏文件的时候,需要在最前面加.(如删除index.php.swp,则需要rm -fr* .index.php.swp).
5.vim使用的缓存存储是一种固定的二进制文件,我们可以通过curl命令,或者vim命令进行查看。
以 index.php 为例:第一次产生的交换文件名为 .index.php.swp
再次意外退出后,将会产生名为 .index.php.swo 的交换文件
第三次产生的交换文件则为 .index.php.swn
所以要在URL后面加上 /.index.php.swp (因为vim创建的缓存文件是隐藏文件)
题目说flag在index.php中,直接拼接发现并没有反应
因为vim缓存是隐藏文件,所以我们需要再前面加上.,那就是.index.php.swp
回车后发现下载了文件
url修改
使用010打开后发现flag
Linux
将下载后的文件复制粘贴放进Linux,下载的文件为 index.php.swp
在文件中打开终端
1.使用cat
cat index.php/.swp
2.使用vim
(1)vim -r index.php.swp
回车
得到flag
(2)重命名文件
在文件上打开终端
输入R恢复
回车
.DS_Store
题目描述
.DS_Store 是 Mac OS 保存文件夹的自定义属性的隐藏文件。通过.DS_Store可以知道这个目录里面所有文件的清单。
根据题目提示
尝试在url中输入/.DS_Store
访问隐藏文件时前面要加“."
下载了一个文件
在url中访问这个.txt文件(记得把文件名里的空格全清除)
或者使用Linux系统,在文件上打开终端,使用cat命令查看
直接url上访问文件路径
得到flag
dsstore是自定义属性的隐藏文件。
.DS_Store(英文全称 Desktop Services Store)是一种由苹果公司的Mac OS X操作系统所创造的隐藏文件,目的在于存贮目录的自定义属性,例如文件们的图标位置或者是背景色的选择。相当于 Windows 下的 desktop.ini
DS_Store文件泄漏总结_ds_store found-CSDN博客