代码改变世界

CTF WEB入门 信息收集篇 - 实践

2025-11-22 09:53  tlnshuju  阅读(10)  评论(0)    收藏  举报

好的,学习了ctfshow的misc入门和crypto入门,下面进一步学习web入门。

有基础,迅速过一遍,查缺补漏一下。

目录

web1

web2

web3

web4

web5

web6

web7

web8

web9

web10

web11

web12

web13

web14

web15

web16

web17

web19

web20

总结


web1

题目提示:开发注释未及时删除

根据提示,右键查看网页源代码,发现注释flag

web2

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

根据提示,无法右键查看源代码,F12查看能够获得flag

直接右键查看源代码,返回的是原始的HTML文件,是静态的

F12查看是动态加载的,会加载并执行JavaScript代码

web3

题目提示:没思路的时候抓个包看看

根据提示,使用BurpSuite抓包,获得flag

web4

题目提示:总有人把后台地址写入robots

根据提示,打开/robots.txt页面

robots.txt 是一个放在网站根目录下的纯文本文件。
它的主要作用是告诉合规的网络爬虫(尤其是搜索引擎爬虫)网站的哪些部分允许抓取,哪些不允许。所以能够知道一些地址,甚至是后台地址

得到一个地址,打开得到flag

web5

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

根据提示,打开index.phps网页,得到index.phps

phps源码泄露,开发者错误将phps文件部署到服务器上,攻击者访问此文件,服务器没有执行该文件,而是直接将文件的纯文本内容返回给了浏览器。于是,攻击者就看到了包括数据库密码、API密钥、业务逻辑等在内的所有源代码。

打开文件查看内容得到flag

web6

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

根据提示,当前目录源码一般为/www.zip网站,打开下载

网站管理员或开发人员为了方便,经常会在网站根目录下对所有代码文件进行打包备份,并习惯性地将备份文件命名为 www.zipweb.zipsite.ziproot.zip

这个包含所有源代码、配置文件的压缩包就静静地躺在服务器的网站根目录下,任何人都可以通过浏览器直接访问并下载

打开文件发现提示flag在fl000g.txt,下载到的fl000g.txt没有信息

那我们直接在网站访问这个页面,得到flag

web7

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

根据提示,这里进行目录扫描,使用常用的目录扫描工具dirsearch

扫描出一条目录,访问得到flag

web8

同样的,题目提示跟web7一样,使用目录扫描

访问扫描到的目录,得到flag

.git和.svn是由于配置错误而被泄露到生产服务器上的源代码管理目录。

在开发过程中,开发者使用 Git 或 SVN 这样的工具来管理代码的每一次更改。这些工具会在项目根目录下创建一个隐藏文件夹(.git.svn)来存储所有的代码历史、修改记录、配置文件等。

web9

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

根据提示,这里考察的应该是vim文件在强制退出之后一般会自动生成备份文件'文件名.swp'(默认配置下)。这个备份文件包含了原始文件的完整内容、文件名和路径、Vim 版本信息、交换时间戳等关键信息。

那么访问/index.php.swp得到文件flag

不知道你会不会想问,怎么知道这个是index.php文件呢,可以利用wappalyzer这个插件查看生产环境,发现是php,那就是php文件。

web10

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

根据提示,这里查看cookie。(提一嘴,cookie是网站为了记住你存储的一小段数据)

这里URL解码{},即是flag

(我发现这里刷新的cookie都会不一样)

web11

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

这里考察的是域名解析查询。

域名解析可以用到nslookup命令

nslookup -query=any [域名]    #查询此域名所有解析历史

运行命令,发现已经找不到此域名了,作者备注:

由于动态更新,txt记录会变

最终flag flag{just_seesee}

web12

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

先dirsearch扫描一遍,有没有隐藏目录

发现隐藏目录/admin,打开发现需要账号密码

根据题目提示,在页面寻找可疑信息,发现最底下数字像是密码

那么猜测账号密码为admin/372619038,登录得到flag

web13

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

根据题目提示,寻找页面有无可下载的技术文档

打开文档,发现有后台地址

输入账号密码登录,获得flag

web14

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

根据题目提示,打开/editor页面。这里没有题目提示,也可以从源码中获取信息

上传文件竟然发现这里的目录是服务器的目录,而不是本地的目录??

查看var/www/html下的文件,发现一个nothinghere文件夹,打开发现一个fl000g.txt文件

页面访问这个文件,得到flag

web15

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

目录扫描出后台地址/admin,需要账号密码

根据提示,邮箱是关键信息,找到邮箱1156631961@qq.com

猜测可能账号密码是admin/1156631961或admin/1156631961@qq.com,显示密码错误(这里修改账户名会显示用户名错误),所以这里账户名是admin,密码暂且不知道

这里还有一个忘记密码功能

打开发现需要输入它所在位置地址

那我们可以联想到用QQ邮箱的QQ查找看看有没有线索

找到他的信息,所在地是西安。输入答案得到密码

输入账号密码登录获得flag

web16

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

目录扫描没有得到什么结果

根据提示,这里应该考察php的探针。

php探针是用来探测空间、服务器运行状况和PHP信息用的,探针可以实时查看服务器硬盘资源、内存占用、网卡流量、系统负载、服务器时间等信息。.php比较常见的探针有【phpinfo.php、tz.php、test.php等】。
这里发现tz.php可以访问

查找页面有用的信息,发现这里可以打开phpinfo页面

发现flag

web17

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

目录扫描出结果。备份的sql文件通常路径为

http://target.com/backup.sql
http://target.com/bak.sql
http://target.com/database.sql
http://target.com/db.sql
http://target.com/dump.sql
http://target.com/sql.sql
http://target.com/data.sql
http://target.com/www.sql
http://target.com/site.sql

访问backup.sql,得到flag

web19

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

题目提示前端?查看源代码,发现账号密码

直接输入账号密码是不对的,因为这里做了加密

所以我们要抓包修改,抓包的密码是已经经过前端JavaScript加密后的密码

得到flag

web20

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

根据提示,那么访问/db/db.mdb得到db.mbd文件。

搜索flag找到flag

如果没有提示,这里目录扫描能够得到/db,再次扫描就能得到db.mdb了。所以目录扫描是基础

总结

信息收集篇包括:

1. 首先对于前端能显示的,比如查看源码、F12查看源码等

2. 对于敏感的信息,比如邮件、电话号码等需要留意,可能有作用

3. 一些常见的路径,比如爬虫目录robots.txt、phps源码index.phps、源码压缩包www.zip、vim强制退出目录./swp、php探针等,这些要知道

4. 目录扫描以及抓包修改查看信息要熟悉

5. 域名解析。