CTFHub Web 信息泄漏(一)

Nernus 2024-10-02 11:03:01 阅读 55

目录遍历

打开题目

点击开始寻找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博客



声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。