【Ctfshow】Web入门1-20题

信息搜集与爆破

Posted by ouluhumen on April 30, 2023

信息搜集部分

Web1

题目:开发注释未及时删除 好像图片没有加载出来呢

我们打开靶场连接直接F12就可以在元素中看到我们的flag

好像图片没有加载出来呢

flag:ctfshow{c605e5ad-f026-4976-90b3-e190642971b6}

Web2

题目:js前台拦截 === 无效操作

好像图片没有加载出来呢 打开靶场 在这里我们按F12发现无法打开控制面板

好像图片没有加载出来呢

通过 JavaScript 拦截 F12 打开控制台的主要原理是利用了浏览器的事件机制。在浏览器中,F12 键被视为一个按键事件,可以通过 JavaScript 来监听和处理该事件。通过在监听事件中添加一些代码,就可以阻止控制台的打开。

具体来说,可以通过以下步骤来实现 F12 拦截:

1.监听键盘按键事件。可以使用 document.addEventListener() 方法来监听 keydown 事件,该事件在按下键盘键时触发。

2.检查按下的键是否是 F12。在 keydown 事件的处理函数中,可以检查 event.keyCode 属性来确定按下的键是否是 F12 键,F12 键的键码为 123。

3.阻止默认行为。如果按下的键是 F12,可以使用 event.preventDefault() 方法来阻止默认行为,即打开控制台。

下面是一个示例代码:

<script>
document.addEventListener('keydown', function(event) {
    
    if (event.keyCode === 123) {
      
        event.preventDefault();
    
    }
  
});
</script>

这个时候我们大致有四种方法可以尝试,在这里都能成功

1.同时按ctrl+u可以直接查看页面的源代码

2.将url改为view-source : url 的形式,就可以直接查看源代码

3.直接浏览器右上角打开浏览器的开发者工具,然后点击网络,刷新页面,在请求的response中就可以看到我们的flag

4.开发者工具中点开元素,也能看到 好像图片没有加载出来呢

flag:ctfshow{3aa7f41d-6014-4791-93f3-ed03bf449191}

Web3

题目:没思路的时候抓个包看看,可能会有意外收获

好像图片没有加载出来呢

既然他说抓包,我们打开靶场以后直接打开控制台-网络,然后刷新网页就可以看到我们请求的response,如是就可以看到flag

好像图片没有加载出来呢

flag:ctfshow{38e0f0e2-ef63-4df6-8905-9c19e318514e}

Web4

题目:总有人把后台地址写入robots,帮黑阔大佬们引路。

好像图片没有加载出来呢

首先我们要理解这个robots里面有什么,为什么往往有人会犯这样的错误

robots.txt文件是一个位于网站根目录下的文本文件,用于指示搜索引擎爬虫如何访问该网站的页面。该文件包含一系列规则,告诉搜索引擎哪些页面可以被抓取,哪些页面不能被抓取,以及抓取频率等信息。

前端的robots.txt文件中可以包含以下内容:

1.User-agent:指定哪些搜索引擎爬虫需要遵守下面的规则。

2.Disallow:指定哪些页面不允许搜索引擎爬虫访问。

3.Allow:指定哪些页面允许搜索引擎爬虫访问。

4.Crawl-delay:指定搜索引擎爬虫访问网站时的延迟时间。

有兴趣的可以看一下 www.baidu.com 的该文件内是什么

robots.txt的主要作用是控制搜索引擎爬虫的访问行为,防止搜索引擎爬虫访问一些敏感页面,避免被搜索引擎误认为是垃圾信息或者恶意行为,提高网站的安全性和可信度。同时,robots.txt也可以指导搜索引擎爬虫更准确地抓取网站的内容,提高网站的SEO优化效果。

那我们就看看这个文件里面有什么 好像图片没有加载出来呢

可以看到,他这里不让我们访问根目录下的flagishere.txt文件,但这并不意味着我们不能访问,而是他不让(无实际约束力)我们去访问

那我们当然要访问看看看,访问进去一看flag就在里面 好像图片没有加载出来呢

flag:ctfshow{8ad51ed6-3a3a-45a1-9f29-b5f965988ecc}

Web5

题目:phps源码泄露有时候能帮上忙

好像图片没有加载出来呢

这里我们要访问根目录下的index.phps文件, 其内容通常包含以下内容:

HTML代码:用于呈现网站的页面结构和布局。

CSS样式表:用于定义网站的外观和样式,包括字体、颜色、布局等。

JavaScript代码:用于实现网站的交互功能,例如导航菜单、图片轮播、表单验证等。

PHP代码:用于动态生成网站的内容,例如从数据库中获取数据、处理表单提交、生成动态页面等。

在一个基本的index.php文件中,常常包含HTML的基本骨架,如<!DOCTYPE html>、<html>、<head>、等标签,以及<body>标签中的具体内容,如网站的导航栏、内容区域、页脚等。

而这些源码的泄露就会使得其漏洞变得更加明显变得易于被攻击,我们访问该文件,浏览器就会自动帮我们下载 好像图片没有加载出来呢

接下来我们使用notepad将其打开

好像图片没有加载出来呢

发现了flag

flag:ctfshow{3f3ac0a2-acc6-4908-8663-39eb7a1cf708}

Web6

题目:解压源码到当前目录,测试正常,收工

好像图片没有加载出来呢

我们可以猜测为解压后压缩包未删除,而我们之前所打开的文件其实都是www目录下的,所以我们可以猜测该压缩包就是其他服务器的www目录的压缩包。

好像图片没有加载出来呢

尝试输入 www.zip ,发现成功下载

好像图片没有加载出来呢

发现其存在文件名为fl000g.txt ,打开发现说明这里面存的就是flag

好像图片没有加载出来呢

于是我们在该靶场打开他的fl000g.txt文件,发现了flag

好像图片没有加载出来呢

不过为什么这里的fl000g.txt直接打开,里面的flag不对呢?因为这是之前服务器的fl000g.txt中的内容,该靶场在进行自己的构建时会将其更改,这才是这个靶场的flag,压缩包中的是之前服务器的flag

flag:ctfshow{9f8bf6c5-f686-4521-b76e-0b8f5cd6f35d}

Web7

题目:版本控制很重要,但不要部署到生产环境更重要。

好像图片没有加载出来呢

看到版本控制那就想到.git,由于在linux中.xxx为隐藏文件,开发者可能并没有注意到

什么是.git? .git是一个版本控制系统Git所使用的目录,包含了Git用于跟踪和管理项目版本的所有信息。.git目录通常存在于Git仓库的根目录下,是一个隐藏目录,因此在文件系统中默认不可见。

.git目录中包含了以下主要内容:

HEAD文件:指向当前所在的分支或提交。

config文件:存储了Git仓库的配置信息,例如用户名、邮箱、远程仓库等。

hooks目录:包含了Git钩子脚本,用于在特定的Git操作时触发自定义脚本。

objects目录:存储了Git仓库中所有的对象,包括提交、分支、标签等。

refs目录:包含了所有的引用,例如分支、标签等。

index文件:存储了当前工作目录中所有文件的状态信息,包括文件名、文件状态、文件指针等。

logs目录:存储了Git仓库中所有引用的更新日志,用于记录所有提交和分支的变更历史。

好像图片没有加载出来呢

flag:ctfshow{6997a913-1a10-4dbc-9898-f785fbbfb15d}

web8

题目:版本控制很重要,但不要部署到生产环境更重要。

好像图片没有加载出来呢

这个题和上面差不多,看的是.svn

.svn是Subversion版本控制系统(SVN)的元数据目录,用于存储SVN管理的项目的版本信息。在SVN中,每个文件和目录都有一个对应的.svn目录,其中包含了该文件或目录的版本历史、元数据信息和其他管理信息。

.svn目录通常包含以下文件和目录:

entries:此文件记录了当前目录和其子目录中每个文件和目录的元数据信息,包括文件名、类型、版本号等。

format:此文件记录了.svn目录的格式版本号。

wc.db:此文件是一个SQLite数据库,存储了SVN管理的项目的版本历史和其他元数据信息。

pristine目录:此目录存储了SVN管理的项目的每个文件的原始版本,用于支持SVN的版本比较和合并操作。

tmp目录:此目录存储了SVN的临时文件和缓存文件。

SVN是一种集中式版本控制系统,与Git等分布式版本控制系统不同,SVN使用一个中央仓库来存储整个项目的版本历史,每个开发者从中央仓库中获取代码,并将自己的修改提交回中央仓库。因此,SVN需要.svn目录来存储项目的版本信息和元数据,以便支持版本控制和协作开发。

好像图片没有加载出来呢

flag:ctfshow{d569267e-6064-47a5-848d-a947592a6bef}

Web9

题目:发现网页有个错别字?赶紧在生产环境vim改下,不好,死机了

好像图片没有加载出来呢

本漏洞为vim泄露,当我们使用vim修改文件,而vim在此时非正常关闭,就会生成一个以.swp结尾的临时文件,为当时的修改状态,我们只需要打开它就可以看到里面的内容

打开目录下的/index.php.swp,下载了文件

好像图片没有加载出来呢

然后用notepad打开,得到了flag

好像图片没有加载出来呢

flag:ctfshow{79dc9443-0a1b-4acd-95ec-ec9ee63bd719}

Web10

题目:cookie 只是一块饼干,不能存放任何隐私数据

好像图片没有加载出来呢

这个简单,看个请求响应里的cookie就可以了

好像图片没有加载出来呢

flag:ctfshow{a4a6a63a-3310-451f-ab16-56e1fc5d3d14}

Web11

题目:域名其实也可以隐藏信息,比如flag.ctfshow.com 就隐藏了一条信息

在这个网站查一下就好 好像图片没有加载出来呢

flag:flag{just_seesee}

Web12

题目:有时候网站上的公开信息,就是管理员常用密码

进入靶场往下看看到个电话号码 好像图片没有加载出来呢

那就在url后输入/admin进入登录界面尝试以此作为密码登录

好像图片没有加载出来呢

成功获得flag

好像图片没有加载出来呢

flag:ctfshow{0b459f50-7b98-41b7-8152-c57ca99a5669}

Web13

题目:技术文档里面不要出现敏感信息,部署到生产环境后及时修改默认密码

既然是文档那我们就进去找文档,点来点去发现也没什么可点的地方,看到下面这一列中只有document的首字母为小写且存在链接,点击

好像图片没有加载出来呢

发现找到了技术文档,打开后看到了账号密码,以此同web12进行登录即可得到flag,注意登录路径也在下面写到了,里面的your-domain是你的路径的意思,填你的靶场路径即可

好像图片没有加载出来呢

flag:ctfshow{7b2da28a-fefd-43a1-b7a2-743235a74b31}

Web14

题目:有时候源码里面就能不经意间泄露重要(editor)的信息,默认配置害死人

进去以后直接看源代码,找到了题目提示的editor,

好像图片没有加载出来呢

我们访问这个editor的路径看一下,是一个编辑器,我们选这个附件,会看到里面有个文件空间,当目录不存在时他会遍历所有的内容,我们在里面翻找找到了如图可疑地址(因为他文件夹的名字叫nothinghere)

好像图片没有加载出来呢

打开这一文件,发现我们就得到了这个flag了

好像图片没有加载出来呢

flag:ctfshow{a0319649-bb5f-4c0e-8ec9-db14d2da563b}

Web15

题目:公开的信息比如邮箱,可能造成信息泄露,产生严重后果

好像图片没有加载出来呢

我们进入登录界面发现可以通过忘记密码来找回密码,密保问题是他的所在城市,这时候我们又看到题目提示为邮箱

好像图片没有加载出来呢

返回网页往下拉到底发现存在一个qq邮箱,尝试搜索该qq号发现了他的地址为西安,尝试提交发现结果正确,然后正常登录即可拿到flag

flag:ctfshow{8b14d4cb-e616-4c4a-a89c-587dff2ba764}

Web16

题目:对于测试用的探针,使用完毕后要及时删除,可能会造成信息泄露

好像图片没有加载出来呢

我们打开tz.php就可以看到他用的探针

探针的主要用途是帮助开发人员了解服务器的配置和运行环境,以便他们能够更好地调试和优化应用程序。探针可以提供有关 PHP 版本、扩展模块、配置选项、请求信息、环境变量等信息。

然后点击phpinfo就可以打开

phpinfo 函数会生成一个包含了 PHP 配置信息的 HTML 页面,其中包含了 PHP 版本、编译选项、加载的扩展模块、环境变量、请求信息等等。通过查看 phpinfo 页面,你可以了解 PHP 的配置和运行环境的详细信息,帮助你诊断和解决 PHP 应用程序的问题。

在里面我们可以找到我们的flag

好像图片没有加载出来呢

flag:ctfshow{e9152fe5-82a2-46b4-887b-139f924eebcb}

Web17

题目:备份的sql文件会泄露敏感信息

好像图片没有加载出来呢

打开backup.sql,这里是存备份文件的地方,用notepad打开就可以看到我们的flag

好像图片没有加载出来呢

flag:ctfshow{f9a8b285-1269-4a05-874d-2d98e3ff720e}

Web18

题目:不要着急,休息,休息一会儿,玩101分给你flag

打到101分即可

好像图片没有加载出来呢

看看源代码

好像图片没有加载出来呢

看到一个js文件,进去看看,发现当得分超过100时会弹出这样的Unicode编码

好像图片没有加载出来呢

直接控制台alert即可得出flag在110.php,打开即可获得flag

flag:ctfshow{cbfc442a-23dd-40a0-9f17-124a1d5ce880}

Web19

题目:密钥什么的,就不要放在前端了

好像图片没有加载出来呢

我们看看源代码可以看到这里有aes加密,我们利用他给的信息进行aes解码即可

好像图片没有加载出来呢

flag:ctfshow{f0b45fb4-e3b4-4601-aa11-f0e327afdf23}

Web20

题目:mdb文件是早期asp+access构架的数据库文件,文件泄露相当于数据库被脱裤了。

由于是access数据库

url路径添加/db/db.mdb下载文件通过txt打开或者通过EasyAccess.exe打开搜索flag即可

flag:flag{ctfshow_old_database}