【ctfshow—web】——信息搜集篇1(web1~20详解)

ctfshow—web题解

  • web1
  • web2
  • web3
  • web4
  • web5
  • web6
  • web7
  • web8
  • web9
  • web10
  • web11
  • web12
  • web13
  • web14
  • web15
  • web16
  • web17
  • web18
  • web19
  • web20

web1

题目提示

开发注释未及时删除

那就找开发注释咯,可以用F12来查看,也可以Ctrl+U直接查看源代码呢

在这里插入图片描述
就拿到flag了
在这里插入图片描述

在这里插入图片描述

web2

题目提示

js前台拦截 === 无效操作

沿用web1的思路,发现右键点不了了,F12也没反映了,这样可不行,我要拿到我最爱的flag!qwq
但是Ctrl+U还是可以正常用的

在 JavaScript 中,=== 是严格相等运算符,用于比较两个值的类型和数值。如果前台拦截中提示 “===
无效操作”,可能是因为在拦截的代码中,使用了不正确的语法或者操作方式导致了这个错误。

在进源码拿到flag的同时,发现
在这里插入图片描述

> window.oncontextmenu = function(){return false}; 	
> window.onselectstart = function(){return false}; 	
> window.onkeydown = function(){if (event.keyCode==123){event.keyCode=0;event.returnValue=false;}};

分析易得这段代码是用来禁止在网页上右键点击(禁用上下文菜单)、禁止选择文本和禁止按下 F12 键打开开发者工具的操作。具体功能解释如下:

window.oncontextmenu:这行代码将右键点击事件的默认行为禁止,即禁用了浏览器的上下文菜单。

window.onselectstart:这行代码阻止了文本被选中,使得用户无法通过鼠标选择页面上的文本内容。

window.onkeydown:这行代码捕获键盘按下事件,当按下的键为 F12 时,将其事件码设置为 0 并且取消默认行为,从而阻止了按下F12 键打开浏览器的开发者工具。

web3

题目提示

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

他让我们抓包那就抓吧,打开抓包工具burpsuite,再熟练的打开代理

肯定有人说这也没啥啊,
在这里插入图片描述
确实没啥,那就点点看呗,点到hex里面的时候,发现藏在这里的flag,拿下
在这里插入图片描述
当然在前端的网络里面也可以看到这个flag
在这里插入图片描述

web4

题目提示

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

那就得知道在网络上的robots是什么

robots.txt是一种文本文件,用于向网络爬虫(如搜索引擎的爬虫)提供网站访问的指导。它位于网站的根目录下,通过规定哪些页面可以被爬虫访问,以及哪些页面应该被忽略,来控制搜索引擎对网站内容的抓取和索引。

通过编辑robots.txt文件,网站管理员可以告诉搜索引擎爬虫哪些页面应该被排除在外,以保护隐私或防止搜索引擎浪费资源爬取不必要的页面。同时,也可以使用robots.txt来指示搜索引擎爬虫对特定页面的抓取频率限制,以避免对服务器造成过大负担。

然而,需要注意的是,robots.txt只是一种约定和建议,而并非强制规定。善意的搜索引擎会尊重robots.txt文件的指示,但恶意的爬虫可能会无视这些规则。

就拿百度的看看https://www.baidu.com/robots.txt
这里面的内容是这样的,大多数就是一些目录,如下图
在这里插入图片描述
知道这个就好做了,直接在后面加上robots.txt
在这里插入图片描述
发现个关于flag的文件,继续拼接,成功拿下flag。
在这里插入图片描述

web5

题目提示

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

疑惑?什么是phps

phps即为 PHP Source。PHP Source 由 The PHP Group 发布,是最通用的关联应用程序。

phps文件就是php的源代码文件,通常用于提供给用户(访问者)查看php代码,因为用户无法直接通过Web浏览器看到php文件的内容,所以需要用phps文件代替。其实,只要不用php等已经在服务器中注册过的MIME类型为文件即可,但为了国际通用,所以才用了phps文件类型

已知站点是php搭建的
在这里插入图片描述
而且默认建站规则都有index.php
联想到可能是index.phps
那就实践试试,在原网页的请求上加上/index.phps,这道题之后会给下载这个文件
文件下载好后用正在使用的浏览器打开,打开后看到是空白网页
这时候查看这个网页源码即可从注释中得到flag
直接用burpsuite抓包也可以直接回显出来,成功拿下flag
在这里插入图片描述

web6

题目提示

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

条件反射www.zip,别问为什么,问就是经验,常见的网站源码备份文件

常见的网站源码备份文件后缀

• tar
• tar.gz
• zip
• rar
常见的网站源码备份文件名
• web
• website
• backup
• backup
• www
• wwwroot
• tempWeb.tar
Web.
Web.
Web.website.
website.
website.
website.backup
backup
backup
backupbackup
backup
backup
backupwww
www
www
wwwwwwroot
wwwroot
wwwroot
wwwroottemp
temp
temp
temp

拿下flag
在这里插入图片描述
提示在fl000g.txt下,那么在URL后加上这个txt,成功拿下flag!

web7

题目提示

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

根据提示说的什么不要部署在生产环境什么的不太懂,反正就肯定是信息泄露嘛,继续保持开发者工具、抓包、dirsearch三连,dirsearch发现可以访问/.git/
在这里插入图片描述

尝试访问一下,成功得到flag

web8

题目提示同web7一样 这道题和上面一道题类似,都是版本控制器问题 常用的就是Git和SVN上面那题用的是/.git/

这一题只需要将git改为svn即可

在这里插入图片描述

web9

题目提示

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

根据提示,在Linux生产环境上使用vim或者vi做修改时,会生成一个swp为后缀的文件

第一次意外退出生成的是.swp
第二次意外退出生成的是.swo
第三次为.swn
因此可以尝试打开第一次退出时产生的这个文件,输入/index.php.swp
会下载出文件
打开即可得到flag
在这里插入图片描述

在这里插入图片描述

web10

题目提示

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

饼干?嘿嘿嘿好吃😋喜欢吃饼干,不对,cookie在这里好像不是饼干的意思,那是什么呢?

Cookie是一种存储在用户计算机上的小型文本文件。它由网站通过用户的浏览器创建并存储在用户的硬盘上。当用户访问同一个网站时,浏览器会将该网站的Cookie发送回服务器,以便识别用户、跟踪其活动和提供个性化的服务。

Cookie通常用于以下目的:

会话管理:通过保存用户的会话信息,使用户在同一网站上进行多个请求时保持登录状态。 用户偏好:记录用户的偏好设置,如语言选择、字体大小等。
购物车功能:在电子商务网站上,Cookie可以帮助存储用户的购物车内的商品信息。
广告定向:广告公司可以使用Cookie来跟踪用户的浏览行为,并根据其兴趣向其展示相关广告。
网站分析:网站管理员可以使用Cookie来收集用户访问网站的统计数据,从而改进网站的性能和用户体验。
需要注意的是,Cookie只能存储少量的数据,并且是明文存储在用户设备上的,因此应谨慎处理敏感信息,同时用户可以通过浏览器设置来控制Cookie的接受与拒绝。

好好好,cookie是这样的是吧,那我们怎么得到cookie呢,很简单,抓包or直接在F12里的 network找
在这里插入图片描述
很明显的看到cookie里的flag就得到了,不过还得url编码下,%7B和&7B是左右花括号
在这里插入图片描述
成功拿下flag!或者按下面的网络里得到flag
在这里插入图片描述

web11

题目提示

域名其实也可以隐藏信息,比如flag.ctfshow.com 就隐藏了一条信息 由于动态更新,txt记录会变 最终flag
flag{just_seesee}

Unlock Hint for 0 points 通过dns检查查询flag https://zijian.aliyun.com/ TXT
记录,一般指为某个主机名或域名设置的说明。

查找flag.ctfshow.com域名下的txt记录

刚拿到题目有点懵,还给了提示,仍然一头雾水,看了半天大概明白是了跟踪路由然后返回域名设置的,
那么跟踪路由命令nslookup,要查询域名的指定解析类型的解析记录

格式:nslookup -type=type domain [dns-server]

其中 type 为解释类型
在这里插入图片描述

那么接下来就好办了,直接命令一把梭

nslookup -qt=txt flag.ctfshow.com

但是本地不知道哪里出问题了运行不出来
在这里插入图片描述

只能依托gpt师傅帮帮忙了
在这里插入图片描述
good!!!成功拿下!!!

web12

题目提示

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

根据题目提示,我们访问robots.txt,获取到后台地址

robots.txt下发现/admin/目录
在这里插入图片描述
然后我们访问一下后台

账号名直接盲猜admin,密码是网站底部的这串数字,372619038
在这里插入图片描述
在这里插入图片描述
登录后成功拿下flag。

web13

题目提示

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

既然跟默认密码有关,可能是密码泄露,在开发文档中极有可能泄露
在网站找到一个超链接

在这里插入图片描述

访问后,发现开发者在文档中写了自己的后台地址和账号密码

在这里插入图片描述
这里your-domain换成自己的做题环境,访问后台地址

https://your-domain/system1103/login.php
在这里插入图片描述
在这里插入图片描述
拿下flag。

web14

题目提示

小0day:某编辑器最新版默认配置下,如果目录不存在,则会遍历服务器根目录
有时候源码里面就能不经意间泄露重要(editor)的信息,默认配置害死人

查看网页源代码、抓包、dirsearch,dirsearch发现存在可以访问的/editor/,和题目提示很像,进去看看
打开网站,根据提示访问http://your-domain/editor/
发现了个编辑器
在这里插入图片描述点击图片空间或者文件空间时,发现居然能直接访问服务器根目录
在这里插入图片描述
在这里插入图片描述
一路从根目录到网站目录找,在var/www/html/editor/旁边发现了一个叫nothinghere的文件夹,那肯定里面有东西了,发现fl000g.txt 直接抓包访问获得flag
/editor/attached/image/var/www/html/nothinghere/fl000g.txt
在这里插入图片描述

web15

题目提示

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

根据题目提示邮箱,在网页底部发现一个邮箱

在这里插入图片描述
再url后面加上admin访问一下后台
在这里插入图片描述

有一个忘记密码选项,点击一下

在这里插入图片描述
有密保问题,联想到qq邮箱,搜索一下qq

在这里插入图片描述
得到地址为西安,于是提交西安得到重置后的密码
在这里插入图片描述

得到密码为admin7789,账号还是admin,登录后获得flag

web16

题目提示

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

php探针是用来探测空间、服务器运行状况和PHP信息用的,
探针可以实时查看服务器硬盘资源、内存占用、网卡流量、系统负载、服务器时间等信息。是一个查看服务器信息的工具。
比如查看服务器支持什么,不支持什么,空间速度等等状况!
根据提示用到php探针知识点
输入默认探针tz.php
打开后点击phpinfo就可以查看到flag

在这里插入图片描述

再点击phpinfo查看信息,搜索ctfshow得到flag
在这里插入图片描述

web17

题目提示

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

用dirsearch扫出url/backup.sql
打开靶机,直接用dirsearch扫描目录,扫出了/backup.sql
在这里插入图片描述

访问url/backup.sql,自动下载了backup.sql
打开backup.sql,即可获取flag
在这里插入图片描述

web18

题目提示

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

谢邀,玩了好几把,速度快的飞起,根本玩不了,作为一名ctfer怎么能玩游戏通关呢,必须得hack他
在这里插入图片描述
一般来说,这种游戏都是js里控制的,我们翻看js代码
在这里插入图片描述
解码147行的代码
在这里插入图片描述\u4f60\u8d62\u4e86\uff0c\u53bb\u5e7a\u5e7a\u96f6\u70b9\u76ae\u7231\u5403\u76ae\u770b\u770b

在这里插入图片描述
根据提示,访问110.php,构造url/110.php

得到flag
在这里插入图片描述

web19

题目提示

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

打开一个登录框,既然提示前端,那就看看源代码有没有什么线索
在这里插入图片描述
发现了一些奇怪的东西,分析复习分析在这里插入图片描述
一共两段js代码

function checkForm(){var key = "0000000372619038";var iv = "ilove36dverymuch";var pazzword = $("#pazzword").val();pazzword = encrypt(pazzword,key,iv);$("#pazzword").val(pazzword);$("#loginForm").submit();}
function encrypt(data,key,iv) { //key,iv:16位的字符串var key1  = CryptoJS.enc.Latin1.parse(key);var iv1   = CryptoJS.enc.Latin1.parse(iv);return CryptoJS.AES.encrypt(data, key1,{iv : iv1,mode : CryptoJS.mode.CBC,padding : CryptoJS.pad.ZeroPadding}).toString();
}

这段代码是一个用于在客户端对密码进行加密后再提交表单的函数。
它使用了 CryptoJS 库中的 AES 加密算法来对密码进行加密。具体来说,它做了以下几件事情:
获取输入框中 id 为 “pazzword” 的密码值。
通过指定的 key 和 iv 对密码进行 AES 加密。
将加密后的密码设置回输入框 “pazzword” 中。
提交表单。

需要注意的是,这段代码中使用的是 ECB 模式和 ZeroPadding 填充方式。在实际应用中,建议考虑使用更安全的加密模式(如 CBC 模式)和填充方式(如 PKCS7 填充)来加强安全性。

<!--error_reporting(0);$flag="fakeflag"$u = $_POST['username'];$p = $_POST['pazzword'];if(isset($u) && isset($p)){if($u==='admin' && $p ==='a599ac85a73384ee3219fa684296eaa62667238d608efa81837030bd1ce1bf04'){echo $flag;}
}-->

这段代码是一个简单的 PHP 代码片段,用于处理用户提交的用户名和密码,并根据条件进行简单的验证,如果验证通过则返回一个标志。
具体来说,它做了以下几件事情:
关闭了错误报告输出,使得 PHP 不会输出错误信息到页面上。
定义了一个变量 $flag 并赋了一个值 “fakeflag”,这个变量可能在其他地方被使用。
从 POST 请求中获取了用户名和密码。
如果用户名和密码都被设置了,且用户名为 “admin”,且密码为特定的哈希值,则返回变量 $flag 的值。

结合以上几点来看:

密文输出编码: 十六进制hex 
偏移量iv: ilove36dverymuch 
密钥:0000000372619038
密文为: a599ac85a73384ee3219fa684296eaa62667238d608efa81837030bd1ce1bf04
模式为CBC
填充为ZeroPadding
编码为Hex

利用在线解密工具直接得到密码为:i_want_a_36d_girl
在这里插入图片描述
输入admini_want_a_36d_girl
登陆成功得到flag
利用hackbar或者burpsuite抓包发送post请求,post传参也可以得到username=admin&pazzword=a599ac85a73384ee3219fa684296eaa62667238d608efa81837030bd1ce1bf04
在这里插入图片描述

web20

题目提示

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

早期 asp+access 架构的数据库文件为db.mdb ,所以访问 /db/db.mdb 下载一个文件。
打开得到flag:flag{ctfshow_old_database}
在这里插入图片描述

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

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

相关文章

第3.5章:StarRocks数据导入——Broker Load

注&#xff1a;本篇文章阐述的是StarRocks-3.2版本的Broker Load导入机制 一、概述 Broker Load导入方式支持从HDFS类的外部存储系统&#xff08;例如&#xff1a;HDFS、阿里OSS、腾讯COS、华为云OBS等&#xff09;&#xff0c;支持Parquet、ORC、CSV、及 JSON 四种文件格式&a…

vue里echarts的使用:画饼图和面积折线图

vue里echarts的使用,我们要先安装echarts,然后在main.js里引入: //命令安装echarts npm i echarts//main.js里引入挂载到原型上 import echarts from echarts Vue.prototype.$echarts = echarts最终我们实现的效果如下: 头部标题这里我们封装了一个全局公共组件common-he…

qt 软件发布(Windows)

1. 开发环境 QtCreator MSVC编译器 2. 源码编译 生成release或者debug版本的exe可执行文件(x64或x86) 3. windeployqt 打包 ①左下角开始菜单栏找到QT的命令交互对话框&#xff0c;如下图MSVC 2017 64-bit(根据第二步编译的类型选择64位或者32位)。 ②cd 切换到第二步可…

TCP/IP协议详解

文章目录 TCP/IP协议概述基于TCP/IP协议的应用工具协议协议的必要性 TCP/IP协议TCP/IP协议族协议的分层 传输方式的分类报文、帧、数据包等的区别TCP 和 UDP的区别 TCP/IP协议概述 TCP/IP&#xff08;Transmission Control Protocol/Internet Protocol&#xff09;是一组通信协…

《图解HTTP》笔记2:http的构成

1&#xff0c;查看浏览器上面一个具体的http请求 浏览器地址栏输入网址&#xff1a;https://news.baidu.com/ 使用浏览器的开发者工具&#xff0c;查看网络中发送和接受的数据。 可以看到输入一个网址&#xff0c;浏览器和服务器进行了很多的交互。&#xff08;绿色部分&#…

python + selenium/appnium

Selenium 的自动化原理: selenium 自动化流程: 自动化程序调用Selenium 客户端库函数&#xff08;比如点击按钮元素&#xff09;客户端库会发送Selenium 命令 给浏览器的驱动程序浏览器驱动程序接收到命令后 ,驱动浏览器去执行命令浏览器执行命令浏览器驱动程序获取命令执行的…

ubuntu环境下openssl库的简单使用

安装 sudo apt-get install libssl-devaes算法demo 编译&#xff1a;gcc aes.c -lssl -lcrypto -o aes 运行&#xff1a;./aes #include<stdio.h> #include<stdlib.h> #include<string.h> #include<openssl/aes.h>#define AES_KEY_SIZE 128 // AES密…

UNI-APP_app跳转企业微信客服对话

uniapp打包app&#xff0c;app里点击客服&#xff0c;跳转企业微信客服对话。为什么是企业微信&#xff1f;因为只有微信小程序才可以通过 button 的 open-type‘share’ 打开微信客服对话框&#xff08;微信客服要在公众号平台配置&#xff09; 1、appId获取 &#xff08;1&a…

OJAC近屿智能张立赛博士揭秘GPT Store:技术创新、商业模式与未来趋势

> - [Look&#xff01;&#x1f440;我们的大模型商业化落地产品](https://www.airecruitas.com/aigc) >- &#x1f4d6;更多AI资讯请&#x1f449;&#x1f3fe;[关注](https://mp.weixin.qq.com/s/85qwuIydaaydMQz2g0rgMA) >- [Free三天集训营助教在线为您火热答疑…

C#_各式各样的参数(引用参数、输出参数、数组参数、具名参数、可选参数)

引用参数 值参数和引用参数的区别在于传参时是否会创建参数副本&#xff1a;值参数不会创建副本&#xff0c;而引用参数会创建副本。 换言之&#xff0c;值类型参数的参数与实体之间无直接关联&#xff0c;修改参数不会对实体产生影响&#xff1b;引用类型参数的参数与实体可视…

6.微格式

微格式 经典真题 知道什么是微格式吗&#xff1f;谈谈理解。在前端构建中应该考虑微格式吗&#xff1f; 微格式介绍 所谓微格式&#xff0c;是建立在已有的、被广泛采用的标准基础之上的一组简单的、开放的数据格式。 具体表现是把语义嵌入到 HTML 中&#xff0c;以便有助…

通过SSH 可以访问Ubuntu Desktop吗?

你可以在 Ubuntu Desktop 上开启 SSH 服务&#xff0c;以便其他机器可以通过 SSH 连接到你的服务器。以下是在 Ubuntu Desktop 上开启 SSH 服务的步骤&#xff1a; 打开终端 (Terminal) 应用程序。 输入以下命令安装 OpenSSH 服务器&#xff1a; sudo apt-get update sudo ap…

多任务爬虫(多线程和多进程)

在一台计算机中&#xff0c;我们可以同时打开多个软件&#xff0c;例如同时浏览网页、听音乐、打字等&#xff0c;这是再正常不过的事情。但仔细想想&#xff0c;为什么计算机可以同时运行这么多软件呢? 这就涉及计算机中的两个名词&#xff1a;多进程和多线程。 同样&#xf…

通信入门系列——锁相环、平方环、Costas环

微信公众号上线&#xff0c;搜索公众号小灰灰的FPGA,关注可获取相关源码&#xff0c;定期更新有关FPGA的项目以及开源项目源码&#xff0c;包括但不限于各类检测芯片驱动、低速接口驱动、高速接口驱动、数据信号处理、图像处理以及AXI总线等 本节目录 一、锁相环 1、压控振荡…

重磅!MongoDB推出Atlas Stream Processing公共预览版

日前&#xff0c;MongoDB宣布推出Atlas Stream Processing公共预览版。 在Atlas平台上有兴趣尝试这项功能的开发者都享有完全的访问权限&#xff0c;可前往“阅读原文”链接点击了解更多详细信息或立即开始使用。 开发者喜欢文档型数据库的灵活性、易用性以及Query API查询方…

使用k-近邻算法改进约会网站的配对效果(kNN)

目录 谷歌笔记本&#xff08;可选&#xff09; 准备数据&#xff1a;从文本文件中解析数据 编写算法&#xff1a;编写kNN算法 分析数据&#xff1a;使用Matplotlib创建散点图 准备数据&#xff1a;归一化数值 测试算法&#xff1a;作为完整程序验证分类器 使用算法&…

js过滤取出对象中改变的属性和值

朋友公司的面试题 &#xff0c;取出对象中被改变的属性和值 const obj1 { a: 1, b: 2, c: 4 }; const obj2 { a: 1, b: 2, c: 5 }; 方法1 function testFun(obj1, obj2) {const diff {};const keys1 Object.keys(obj1);const keys2 Object.keys(obj2);const allKyes keys…

【深度学习】Gemini 1.0 Pro 如何让chatGPT扮演stable diffusion的提示词工程师

google也出了一个chatGPT&#xff0c;免费申请使用&#xff1a; https://aistudio.google.com/app/prompts/new_chat https://github.com/google/generative-ai-docs/blob/main/site/en/tutorials/rest_quickstart.ipynb 模型信息&#xff1a; $ curl https://generativelan…

SpringCloud(14)之SpringCloud Consul

我们知道 Eureka 2.X 遇到困难停止开发了&#xff0c;所以我们需要寻找其他的替代技术替代Eureka&#xff0c;这一小 节我们就讲解一个新的组件Consul。 一、Consul介绍 Consul 是 HashiCorp 公司推出的开源工具&#xff0c;用于实现分布式系统的服务发现与配置。与其它分布式…

kali xrdp

Kali Linux 使用远程桌面连接——xrdp&xfce_kali xfce桌面-CSDN博客 Ubuntu/Debian/Kali xrdp远程桌面黑屏/空屏/无画面解决办法 - 知乎 (zhihu.com) sudo apt-get install xrdp -y sudo apt-get install xfce4 -ysudo systemctl enable xrdp --now systemctl status xrd…