CTFshow之信息收集第1关到10关。详细讲解

得而不惜就该死!

--章总

开始新的篇章!

零、目录

一、实验准备

1、ctf网站:ctf.show

2、工具:chrome浏览器、hackbar插件

3、burpsuite抓包工具

二、实验技巧

(一)F12摸奖 源码泄露

(二)没思路就抓包 重发器发包看返回包

(三)robots.txt文件泄露

(四)index.phps文件泄露

(五)网站源码泄露

(六).git版本控制文件泄露

(七).svn/版本控制

(八)Vim 缓存文件泄露

(九)cookie泄露

三、实验操作

(一)第1关

(二)第2关

1、猜测js代码禁止调用F12

2、使用ctrl+u查看网站源码

3、使用插件扩展(chrome)

(三)第3关

(四)第4关

(五)第5关

(六)第6关

(七)第7关

(八)第8关

(九)第9关

(十)第10关


一、实验准备

1、ctf网站:ctf.show

2、工具:chrome浏览器、hackbar插件

3、burpsuite抓包工具

二、实验技巧

(一)F12摸奖 源码泄露

(二)没思路就抓包 重发器发包看返回包

(三)robots.txt文件泄露

(四)index.phps文件泄露

(五)网站源码泄露

(六).git版本控制文件泄露

(七).svn/版本控制

(八)Vim 缓存文件泄露

(九)cookie泄露

三、实验操作

(一)第1关

做题第一步,首先看要求,发现已经近乎明牌的告诉我们flag的位置就在注释中了,所以我们直接F12查看即可

验证后确实如我们所料,右键->edit html,直接复制提交flag

(二)第2关

依旧老思路,查看题目给我们的暗示:js前台拦截 === 无效操作,

可能大家对这句话理解不深,我们来解释一下:

首先我们知道,开发通常分为前端和后端,其中js属于前端语言,负责编写界面显示内容和检验前端交互数据

===符号就是处理交互数据的一种比对方式,只有在比对的数据的类型和值全部一致时,返回True(真),否则False;而==则是只要值一致即返回True,不用在意类型

解释完后,可能依旧云里雾里,我们延续第1题F12看源码摸奖

发现无法查看源码,F12阵亡!

信息收集吗,讲的就是如何“收集”,所以我们去找下F12调不出的解决措施即可

1、猜测js代码禁止调用F12

禁用前端js使用

(1)点击浏览器右上角三个点后点击设置

(2)隐私与安全->网站设置

(3)、设置不允许网站使用javascript

(3)、刷新题目网址->F12,同时得到flag提交  

同时查看源代码后,验证我们的猜想正确,确实使用js禁用了鼠标右键、键盘输入F12、文本复制

  • window.oncontextmenu函数部分
    • window.oncontextmenu = function(){return false};:这个函数用于处理鼠标右键单击事件。在网页中,当用户右键单击时,通常会弹出一个上下文菜单(包含复制、粘贴、查看源代码等选项)。通过将window.oncontextmenu设置为一个总是返回false的函数,就禁止了右键菜单的弹出。这样做可以防止用户通过右键菜单中的 “查看源代码” 选项来查看网页的 HTML 和 CSS 代码,或者阻止用户使用右键菜单中的其他功能(如复制图片、链接等),从而在一定程度上保护网页内容。
  • window.onselectstart函数部分
    • window.onselectstart = function(){return false};:此函数用于处理文本选择的开始事件。在网页中,当用户试图通过鼠标拖动或者其他方式选择文本内容时,这个事件就会触发。通过返回false,就阻止了用户在网页上选择文本。这可能是为了防止用户复制网页中的特定文本内容,例如一些受版权保护的文字、敏感信息或者防止用户对网页的布局(因选择文本而出现的高亮显示等)造成干扰。
  • window.onkeydown函数部分
    • window.onkeydown = function(){if (event.keyCode==123){event.keyCode=0;event.returnValue=false;}};:这个函数用于处理键盘按键按下事件。event.keyCode表示按下的按键对应的代码。在这里,它检查是否按下的是键码为123的按键。在大多数浏览器中,F12键的键码是123。如果检测到按下的是F12键,就将event.keyCode设置为0(相当于取消这个按键的操作),并将event.returnValue设置为false,这样就阻止了F12键的功能。因为在浏览器中,按下F12键通常会打开开发者工具,通过这种方式可以防止用户通过F12打开开发者工具来查看网页源代码、调试 JavaScript 等操作。

2、使用ctrl+u查看网站源码

由于在1中验证了自己猜想是网站使用js禁止了访问,所以使用其他快捷键查看即可

3、使用插件<view-source>扩展(chrome)

如果是foxfire则使用Web Developer插件

下载地址:<view-source>下载

使用:点击扩展->输入需要查看的url->submit

4、使用命令行curl发包

命令(cmd):curl url

只需要替换url为自己的即可,flag拿到

5、使用js逆向调试 

由于此办法过于鸡肋,此处不做扩展讲解

位置:开发者工具->sources

(三)第3关

优先看暗示,没思路则抓包?在跟着暗示走之前我们先F12摸奖,发现一无所获,只能burp抓包

查看数据包内容,没找见flag,放入重发器(repeater)查看返回包(reponse),flag得到!

GET / HTTP/1.1
Host: 4d80bd78-a245-4d0c-8cd3-ba1ffac89a0a.challenge.ctf.show
Cache-Control: max-age=0
Sec-Ch-Ua: "Chromium";v="130", "Google Chrome";v="130", "Not?A_Brand";v="99"
Sec-Ch-Ua-Mobile: ?0
Sec-Ch-Ua-Platform: "Windows"
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7
Sec-Fetch-Site: same-origin
Sec-Fetch-Mode: navigate
Sec-Fetch-User: ?1
Sec-Fetch-Dest: document
Referer: https://4d80bd78-a245-4d0c-8cd3-ba1ffac89a0a.challenge.ctf.show/
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9
Priority: u=0, i
Connection: close

此处欢迎抓包进入摸奖技术列表!

(四)第4关

查看暗示,robots.txt?

此文件为服务器和爬虫工程师们之间的君子约定,里面存放了服务器不允许爬取的文件内容路径,但是有的时候会错误放入重要信息形成此地无银三百两的现象!

虽然有新的暗示,但是我们依旧可以F12摸奖和抓包摸奖,没成功也没事。

访问robots.txt文件,发现一个不允许访问的路径,我偏去!访问后成功获取flag!

此处欢迎访问robots.txt进入摸奖技术列表!

(五)第5关

查看暗示,phps源码泄露?

PhpS 文件泄露是指在 Web 应用程序中,由于配置错误、漏洞或不当的操作,使得包含敏感信息的.phps 文件内容被暴露给未授权的用户。.phps 文件通常是经过某种处理(如备份、编辑器临时文件等)的 PHP 文件。例如,开发人员在使用编辑器编写 PHP 代码时,编辑器可能会生成临时备份文件(如.phps),这些文件如果被错误地部署到 Web 服务器上并且没有适当的访问限制,就可能导致泄露。

不忘本,摸奖三兄弟上了没成功,锻炼技术吗!多用咱有个印象。不过知道了使用的中间件和开发语言版本。

尝试访问index.phps路径,发现下载了该文件,我们使用文本编辑器打开,发现flag。

至于为什么访问一定要访问index.phps文件,大部分属于经验之谈,理解原理即可,下次遇见php开发网站当作自己的一个测试点即可

此处欢迎访问index.phps进入摸奖技术列表!

(六)第6关

解压源码?源码泄露!摸奖四件套,发现没有用。

试着解压缩www.zip文件,发现存在fl000g.txt,提交发现错误!,在url后加上路径fl000g.txt尝试,成功获取flag

但是此时我们会有这样一个疑问,你怎么知道要访问www.zip文件呢?这是因为考察的是源码泄露,我们是通过其他渠道发现的,所以在题目直接访问会很突兀,但是实际中,你可能是在github、cms等中发现的源码。

所以现在你记住可以使用这个来摸奖!

(七)第7关

版本控制?

定义:在 Web 开发过程中,.git 文件夹包含了整个项目的版本控制信息。当这个文件夹被错误地暴露在 Web 服务器可访问的目录下时,就会发生.git 版本控制泄露。这使得攻击者能够访问项目的源代码历史、开发人员的提交记录、分支信息以及可能包含的敏感信息,如数据库连接密码、API 密钥等。

通俗来讲:解释我们可以通过.git文件间接得到网站源码

利用此漏洞脚本:https://github.com/lijiejie/GitHack

首先访问.git/index目录,此时直接就出现flag了,不过我们不用在意,继续分析,实战中会出现403错误,这是因为资源在服务器存在,但是我们没有访问权限。获得此消息后,我们使用脚本来获取源码

命令:python gitHack.py url

url中带/.git/index或者/.git/

真是幽默,竟然不是.git文件,怪不得直接把flag爆出来了。不过大家知道这个处理思路就好

(八)第8关

发现依旧是版本控制泄露问题,我们直接上脚本跑。

首先访问验证/.git/index或者/.git/文件(文件夹),发现没有回显,我们不信邪,再用脚本跑一边,发现确实不是。

命令:python gitHack.py url

后续发现此为.svn版本控制泄露,我们直接术业有专攻,访问/.svn/即可。

与.git 泄露类似,如果.svn 目录被意外地暴露在 Web 服务器可访问的区域,攻击者可以获取项目的源代码。因为.svn 目录包含了工作副本中的所有文件版本信息,通过这些信息可以还原出完整的项目代码,包括一些可能尚未发布的功能代码或者旧版本的代码。

(九)第9关

看描述似乎是需要下载某文件进行vim编辑,但是为什么会死机?

尝试上述解题思路,发现不行。开始换思路,查找vim编辑死机会产生何种泄露?

Vim 缓存文件的产生与类型

交换文件(.swp):当使用 Vim 编辑文件时,它会自动创建一个交换文件(文件名格式通常是原文件名加上.swp 后缀)。这个交换文件用于在意外情况(如 Vim 崩溃、系统崩溃等)下恢复文件内容。例如,如果你正在编辑一个名为index.php的文件,Vim 可能会生成一个名为index.php.swp的交换文件。

备份文件(.bak 等):Vim 也可能会根据配置生成备份文件。这些备份文件包含了文件之前的版本内容,备份文件的命名格式可以通过 Vim 的配置进行设置,常见的有文件名加上.bak 后缀。它们的作用是提供文件内容的备份,以便在需要时可以恢复到之前的状态。

撤销文件(.undo):用于记录文件的编辑历史,方便用户撤销之前的操作。它存储了文件在不同编辑阶段的内容,使得用户可以回退到之前的编辑状态。

知晓vim编辑退出和交换文件.swp有关,所以我们试着访问/index.php.swp。自动下载了index.php.swp文件,我们打开看看,发现flag

(十)第10关

发现此题大概率和cookie泄露相关,查找相关资料认识cookie。

定义:Cookie 是网站存储在用户浏览器中的一小段文本信息。它主要用于在用户访问网站的不同页面之间记住用户的状态或偏好。例如,当用户登录一个网站后,网站会通过 Cookie 来识别用户身份,使得用户在浏览其他页面时不需要重复登录。Cookie 通常包含键值对,如username=John,其中username是键,John是值。

既然知道了是cookie泄露,那么我们就无需尝试其他泄露去摸奖。而cookie一般存在于返回包处,所以我们联动burpsuite抓包工具查找。确实发现flag,但是好像被编码了,携带百分号%,猜测是url编码,进行解码,得到flag。

至此完成

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/58154.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

企业CRM管理系统PHP源码/PHP客户关系CRM客户管理系统源码

系统功能实现 1、 公海管理:公海类型、客户公海。 2、 线索管理:我的线索、线索列表、线索状态、线索来源。 3、 客户管理:我的客户、客户列表、成交客户、行业类别、预查、地区列表、客户状态、客户级别。 4、 业绩订单:订单列表、我的订单。 5、 系统设置:系统设置…

40.第二阶段x86游戏实战2-初识lua

免责声明&#xff1a;内容仅供学习参考&#xff0c;请合法利用知识&#xff0c;禁止进行违法犯罪活动&#xff01; 本次游戏没法给 内容参考于&#xff1a;微尘网络安全 本人写的内容纯属胡编乱造&#xff0c;全都是合成造假&#xff0c;仅仅只是为了娱乐&#xff0c;请不要…

DAY17|二叉树Part03|LeetCode: 530.二叉搜索树的最小绝对差、501. 二叉搜索树中的众数、236.二叉树的最近公共祖先

目录 LeetCode: 530.二叉搜索树的最小绝对差 基本思路 有序数组法 C代码 双指针法 C代码 LeetCode: 501. 二叉搜索树中的众数 哈希法 C代码 双指针法 C代码 LeetCode: 236.二叉树的最近公共祖先 基本思路 C代码 LeetCode: 530.二叉搜索树的最小绝对差 力扣代码链…

「Mac畅玩鸿蒙与硬件27」UI互动应用篇4 - 猫与灯的互动应用

本篇将带领你实现一个趣味十足的互动应用&#xff0c;用户点击按钮时猫会在一排灯之间移动&#xff0c;猫所在的位置灯会亮起&#xff08;on&#xff09;&#xff0c;其余灯会熄灭&#xff08;off&#xff09;。应用会根据用户的操作动态更新灯光状态和文本提示当前亮灯的位置&…

【网络】套接字编程——UDP通信

> 作者&#xff1a;დ旧言~ > 座右铭&#xff1a;松树千年终是朽&#xff0c;槿花一日自为荣。 > 目标&#xff1a;UDP网络服务器简单模拟实现。 > 毒鸡汤&#xff1a;有些事情&#xff0c;总是不明白&#xff0c;所以我不会坚持。早安! > 专栏选自&#xff1a;…

黑马官网2024最新前端就业课V8.5笔记---HTML篇

Html 定义 HTML 超文本标记语言——HyperText Markup Language。 标签语法 标签成对出现&#xff0c;中间包裹内容<>里面放英文字母&#xff08;标签名&#xff09;结束标签比开始标签多 /拓展 &#xff1a; 双标签&#xff1a;成对出现的标签 单标签&#xff1a;只有开…

openfoam中生成的3d案例提取得到slice后的2d案例

问题&#xff1a; 由于前期准备做3d的案例&#xff0c;并且模拟也比较费时间&#xff0c;现在生成了几十份3d的数据&#xff0c;但是现在只想要2d的数据来演示&#xff0c;该如何提取或者转换呢&#xff1f; 解决方法&#xff1a; 1.说明图片中的每个2d视图的points都是恒定不…

使用 Sortable.js 库 实现 Vue3 elementPlus 的 el-table 拖拽排序

文章目录 实现效果Sortable.js介绍下载依赖添加类名导入sortablejs初始化拖拽实例拖拽完成后的处理总结 在开发过程中&#xff0c;我们经常需要处理表格数据&#xff0c;并为用户提供便捷的排序方式。特别是在需要管理长列表、分类数据或动态内容时&#xff0c;拖拽排序功能显得…

STM32 + CubeMX + 硬件SPI + W5500 +UDP

这篇文章记录一下STM32W5500UDP的调试过程&#xff0c;实现UDP数据的接收与发送。 目录 一、W5500模块介绍二、Stm32CubeMx配置三、Keil代码编写1、添加W5500驱动代码到工程&#xff08;添加方法不赘述&#xff0c;驱动代码可以在官网找&#xff09;2、在工程中增加代码&#…

2023年SCRM系统排名分析及市场趋势解读

内容概要 当前&#xff0c;SCRM&#xff08;社交客户关系管理&#xff09;系统在企业运营中的重要性日益凸显&#xff0c;尤其是在快速发展的数字经济环境中。2023年的SCRM市场展现出多元化与专业化的趋势&#xff0c;不同企业在客户关系管理方面的需求各有不同&#xff0c;这…

StableDiffusion-3.5 文生图模型本地部署尝鲜

文章目录 官方仓库ComfyUI 配置模型文件生成图片&#xff0c;观察日志生成样例 买了新的 4070TiS 显卡之后&#xff0c;终于有了个人的 16GB 显存&#xff0c;再也不用在关键时刻和实验室的其他人抢那两张 3080Ti 12G 了&#xff0c;所以想试试看干净的 Linux 环境下&#xff0…

规范:项目、目录、文件、样式、事件、变量、方法、url参数、注释、git提交 命名规范及考证

一、规范命名的重要性 易懂、通用、规范、标准、专业性、是经验积累的体现 1.1、常见命名方法 序号命名方法解释1全小写2全大写3驼峰&#xff1a;小驼峰命名法4驼峰&#xff1a;大驼峰命名法5烤串命名法 / 脊柱命名法6下划线分隔法 二、项目名 采用小写字母和中划线&#…

Navicat 连接远程腾讯云服务器的MySQL数据库

首先需要开放开放腾讯云安全端口&#xff0c;可以参考这个链接腾讯云服务器入站规则端口开放使用指南(CentOS系统)。 但是注意需要开放的是IPv6&#xff0c;这个可以通过netstat命令查看确认。 然后查看当前用户信息 select user, host from mysql.user一般看到的都是 localh…

第三十四篇:URL和URI的区别,HTTP系列一

前面我们讲到通过TCP协议通信双方建立可靠连接&#xff0c;那么此时双方进行通信&#xff0c;需要用人能理解的形式进行信息组织&#xff0c;也就是为各种特定需求服务&#xff0c;满足日常生活中的各种场景。 比如&#xff1a;网页浏览、电子邮件、远程登录、文件传输、网络管…

什么情况下,不推荐建立索引?

一般有以下几种情况不推荐建立索引&#xff1a; 1&#xff09;对于数据量很小的表 当表的数据量很小&#xff08;如几百条记录&#xff09;时&#xff0c;建立索引并不会显著提高查询性能&#xff0c;反而可能增加管理的复杂性&#xff1b; 2&#xff09;频繁更新的表 对于…

GitHub上传自己的项目

目录 一、安装Git插件 1&#xff09;下载 2&#xff09;安装 二、创建Gothub的创库 三、通过Git上传本地文件到Github 四、其他 1、部分指令 2、如果已经运行过git init并设置了[user]&#xff0c;下次可以直接用 一、安装Git插件 1&#xff09;下载 下载地址&#x…

「Mac畅玩鸿蒙与硬件26」UI互动应用篇3 - 倒计时和提醒功能实现

本篇将带领你实现一个倒计时和提醒功能的应用&#xff0c;用户可以设置倒计时时间并开始计时。当倒计时结束时&#xff0c;应用会显示提醒。该项目涉及时间控制、状态管理和用户交互&#xff0c;是学习鸿蒙应用开发的绝佳实践项目。 关键词 UI互动应用倒计时器状态管理用户交互…

Linux动态库和静态库

1&#xff0c;手动制作静态库 1&#xff0c;如何形成静态库文件 做库时&#xff0c;头文件(.h)必须暴露&#xff0c;源文件(.c)必须隐藏。 操作&#xff1a;将需要形成库的文件编译成.o文件&#xff1a; 然后用指令&#xff1a;ar -rc libmy_stdio.a my_stdio.o my_string.o…

java基础之 String\StringBuffer\ StringBuilder

文章目录 String字符串的创建为什么说String是不可变的&#xff1f;创建后的字符串存储在哪里&#xff1f;字符串的拼接String类的常用方法 StringBuilder & StringBuffer使用方法验证StringBuffer和StringBuilder的线程安全问题 总结三者区别什么情况下用运算符进行字符串…

告别繁琐统计,一键掌握微信数据

微信数据管理的挑战在数字时代&#xff0c;微信已成为我们日常沟通和商业活动的重要工具。然而&#xff0c;随着微信号数量的增加&#xff0c;手动统计每个账号的数据变得越来越繁琐。从好友数量到会话记录&#xff0c;再到转账和红包&#xff0c;每一项都需要耗费大量的时间和…