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

news2024/11/24 23:11:40

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
• temp

Web.tar
Web.
Web.
Web.

website.
website.
website.
website.

backup
backup
backup
backup

backup
backup
backup
backup

www
www
www
www

wwwroot
wwwroot
wwwroot
wwwroot

temp
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.coloradmin.cn/o/1465264.html

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

相关文章

【数据结构】顺序表实现的层层分析!!

关注小庄 顿顿解馋◍˃ ᗜ ˂◍ 引言&#xff1a;本篇博客我们来认识数据结构其中之一的顺序表&#xff0c;我们将认识到什么是顺序表以及顺序表的实现&#xff0c;请放心食用~ 文章目录 一.什么是顺序表&#x1f3e0; 线性表&#x1f3e0; 顺序表 二.顺序表的实现&#x1f3e0…

ShardingSphere 5.x 系列【14】广播表、单表

有道无术,术尚可求,有术无道,止于术。 本系列Spring Boot 版本 3.1.0 本系列ShardingSphere 版本 5.4.0 源码地址:https://gitee.com/pearl-organization/study-sharding-sphere-demo 文章目录 1.广播表1.1 概述1.2 案例演示1.2.1 环境准备1.2.2 配置1.2.3 测试2. 单表2.…

2024年.NET框架发展趋势预测

.NET框架仍然是全球开发人员的编程基石&#xff0c;为构建广泛的应用程序提供了一个通用的、强大的环境。微软对创新的坚定承诺见证了.NET的发展&#xff0c;以满足技术领域不断变化的需求。今年&#xff0c;在更广泛的行业运动、技术进步和开发者社区反馈的推动下&#xff0c;…

记一次:Python的学习笔记五(Django集成swagger)

上一篇集成在了gatway上了&#xff0c;但给别人使用swagger的时候还是没有文档&#xff0c;如何集成swagger呢&#xff1f; python版本&#xff1a;Python 3.11.5 Django版本&#xff1a;4.2.7 0、Swagger 文档介绍 Swagger 是一种用于 RESTful API 的开源框架&#xff0c;…

2种方法,教你使用Python实现接口自动化中的参数关联

通常在接口自动化中&#xff0c;经常会参数关联的问题&#xff0c;那么什么是参数关联&#xff1f; 参数关联就是上一个接口的返回值会被下一个接口当做参数运用&#xff0c;其中Python中可以实现参数关联的方法有很多种&#xff0c;今天小编给大家介绍下&#xff0c;如何通过…

SQL Server ID 自增不连续、删除数据后再次插入ID不连续

背景 当我们使用SQL Server 进行数据库操作时&#xff0c;经常会把 Table 的 ID 设置成主键自增 PRIMARY KEY IDENTITY&#xff0c;但是这样做存在一个问题就是 当我们删除一行数据后&#xff0c;再次添加后会看到ID的顺序不连续&#xff0c;如下所示。 查询一下&#xff1a;…

冲突管理最佳实践

任何团队都无法避免冲突&#xff0c;如何有效管理冲突&#xff0c;将冲突转化为团队成长和凝聚的动力&#xff0c;是任何一个团队管理者的必修课。原文: Best Practices for Managing Conflict in Engineering Management Obie Fernandez Unsplash 冲突在任何组织中都不可避免&…

排序第三篇 直接插入排序

插入排序的基本思想是&#xff1a; 每次将一个待排序的记录按其关键字的大小插入到前面已排好序的文件中的适当位置&#xff0c; 直到全部记录插入完为止。 一 简介 插入排序可分为2类 本文介绍 直接插入排序 它的基本操作是&#xff1a; 假设待排充序的记录存储在数组 R[1……

【鸿蒙 HarmonyOS 4.0】状态管理

一、介绍 资料来自官网&#xff1a;文档中心 在声明式UI编程框架中&#xff0c;UI是程序状态的运行结果&#xff0c;用户构建了一个UI模型&#xff0c;其中应用的运行时的状态是参数。当参数改变时&#xff0c;UI作为返回结果&#xff0c;也将进行对应的改变。这些运行时的状…

【Linux】普通用户sudo失败怎么办

普通用户&#xff0c;sudo失败报错怎么办 问题分析如何解决成功 问题分析 新建的普通用户sudo失败 sudo提权&#xff0c;是以root的身份执行命令。 当我们用sudo提升权限的时候&#xff0c;这里有个问题&#xff0c;Linux会提示我们输入当前普通用户的密码——这就有点不好。…

骨传导耳机哪个品牌比较好?精选五大倍受好评的机型推荐!

近几年大家对保护听力健康的意识也越来越强烈了&#xff0c;骨传导耳机作为保护听力健康的不二之选&#xff0c;使用的人也越来越多&#xff0c;但是&#xff0c;在面对市场上鱼龙混杂的产品时&#xff0c;还是有很多人不知道该怎么去挑选一款性能优秀的骨传导耳机&#xff0c;…

[TCP] TCP/IP 基础知识词典(2)

我想统计一下&#xff0c;TCP/IP 尤其是TCP协议&#xff0c;能搜到的常见的问题&#xff0c;整理起来&#xff0c;关键词添加在目录中&#xff0c;便于以后查阅。 目前预计整理共3篇&#xff1a; [TCP] TCP/IP 基础知识问答 &#xff1a;基础知识 [TCP] TCP/IP 基础知识问答&…

硬盘坏了数据恢复怎么做?记好这2个方法!

“前段时间我的电脑硬盘出了点问题&#xff0c;不知道为什么就坏了。硬盘坏了数据恢复应该怎么做呢&#xff1f;请大家分享几个好用的方法吧&#xff01;” 在数字化时代&#xff0c;硬盘作为数据存储的核心组件&#xff0c;其重要性不言而喻。然而&#xff0c;硬盘损坏是一个常…

【知识分享】自动化测试首选接口自动化?

在分层测试的“金字塔”模型中&#xff0c;接口测试属于第二层服务集成测试范畴。 相比UI自动化测试而言&#xff0c;接口自动化测试收益更大&#xff0c;且容易实现&#xff0c;维护成本低&#xff0c;有着更高的投入产出比。因此&#xff0c;项目开展自动化测试的首选一般为接…

记阿里云mysql丢表丢数据的实践记录

第一时间挂工单&#xff0c;联系工程师指引&#xff0c;现在回过来想&#xff0c;第一时间要确认发生时间。 1.通过性能视图&#xff08;马后炮的总结&#xff0c;实际凭记忆恢复了三四次才找到数据&#xff09; 2.先恢复数据 通过Navicat工具&#xff0c;结构同步&#xff0…

Vscode vim 插件使用Ctrl+C和V进行复制粘贴到剪切板

Vscode vim 插件使用CtrlC和V进行复制粘贴到剪切板 使用这一个插件的时候复制粘贴和其他软件互动的时候体验不好, 并且不可以用Ctrl c, Ctrl v很不爽 "vim.commandLineModeKeyBindings": [{"before" : ["Ctrl", "c"],"after&q…

C#,动态规划(DP)丢鸡蛋问题(Egg Dropping Puzzle)的三种算法与源代码

1 扔鸡蛋问题 动态规划&#xff08;Dynamic Programming&#xff0c;DP&#xff09;是运筹学的一个分支&#xff0c;是求解决策过程最优化的过程。20世纪50年代初&#xff0c;美国数学家贝尔曼&#xff08;R.Bellman&#xff09;等人在研究多阶段决策过程的优化问题时&#xf…

3.deeplabv3+的深层网络结构的实现

在第一篇文章中我们提到“在encoder部分&#xff0c;主要包括了backbone&#xff08;DCNN&#xff09;、ASPP两大部分”&#xff0c;在这里的backbone就是mobilenetv2网络结构和xception网络结构&#xff0c;而ASPP结构就是深层网络结构&#xff0c;其网络结构如下&#xff1a;…

Anaconda和TensorFlow环境搭建!!

Anaconda下载 进入官网下载 https://www.anaconda.com/download 也可以通过清华的映像站下载&#xff1a; https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/ 我这里下载的是3.4.20版本。下载好就可以安装默认安装就行。 打开Anaconda Prompt修改成国内镜像 conda c…

Verilog刷题笔记36

题目&#xff1a; Create a 4-bit wide, 256-to-1 multiplexer. The 256 4-bit inputs are all packed into a single 1024-bit input vector. sel0 should select bits in[3:0], sel1 selects bits in[7:4], sel2 selects bits in[11:8], etc. 我的解法&#xff1a; module …