网页之外,才是入口。

切换攻击面,在源码、响应头、路径、备份、状态与编辑器里寻找被公开的秘密。

浏览攻击面图谱
https://target.local/

where is flag?

HTML COMMENT
Evidence consoleVIEW-SOURCE
Finding

入门题的共同点:部署留下了比页面更多的东西。

浏览器已经收到

源码注释、前端 JavaScript、响应头与 Cookie 都在客户端边界内。Ctrl+U、禁用 JS 或抓包就能看到。

view-source: · Flag: flag{xxx} · Cookie: flag

路径会说话

robots.txt 指向被禁止抓取的地址,index.phps 可能直接展示 PHP 源码。

/robots.txt → /flagishere.txt · /index.phps

备份和版本库

www.zip、.git、.svn 与 index.php.swp 是部署过程留下的副本,可能包含源码、历史和凭据。

/www.zip · /.git/ · /.svn/ · /index.php.swp

信息搜集会连起来

TXT 记录、下载文档、页面底部凭据、QQ 邮箱与忘记密码流程,可以组合成完整的后台访问路径。暴露的 /editor 甚至能读取服务器文件。

OSINT → password reset → admin · /editor → file browser

Complete article

完整原文

文字、链接、图片、表格与代码均保留 开始阅读

Case1-注释

Flag在网页源代码注释

Case2-绕JS

Javascript前台拦截

Case3-抓包

直接抓包即可

BASH
HTTP/1.1 200 OK
Server: nginx/1.20.1
Date: Thu, 20 Mar 2025 13:11:46 GMT
Content-Type: text/html; charset=UTF-8
Connection: keep-alive
Flag: flag{xxx}
X-Powered-By: PHP/7.3.11
Access-Control-Allow-Methods: GET,POST,PUT,DELETE,OPTIONS
Access-Control-Allow-Credentials: true
Access-Control-Expose-Headers: Content-Type,Cookies,Aaa,Date,Server,Content-Length,Connection
Access-Control-Allow-Headers: DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorization,x-auth-token,Cookies,Aaa,Date,Server,Content-Length,Connection
Access-Control-Max-Age: 1728000
Content-Length: 19

web3:where is flag?

Case4-robots.txt

/robots.txt

BASH
User-agent: *
Disallow: /flagishere.txt

/flagishere.txt: Flag

/robots.txt 是一个文本文件,通常位于网站的根目录下,用于指示网络爬虫(如搜索引擎的爬虫)如何访问和抓取该网站的内容。它的主要作用是告诉爬虫哪些页面或目录可以抓取,哪些应该避免。

基本格式

/robots.txt 文件通常包含以下内容:

BASH
User-agent: [爬虫的名称]
Disallow: [不允许抓取的路径]
Allow: [允许抓取的路径]

Case5-index.phps

BASH
<?php

/*
# -*- coding: utf-8 -*-
# @Author: xxx
# @Date:   xxx
# @Last Modified by:   xxx
# @Last Modified time: xxx
# @email: xxx@xxx.com
# @link: xxx

*/

//flag{xxx}
echo "where is flag ?" # 会直接在浏览器显示

index.php

index.phps

主要区别

Q & A

那么在后台 管理员看到的index.php和index.phps是一样的吗?

查看 index.phpindex.phps 时,看到的内容是否一样取决于管理员是通过什么方式查看这些文件的:

Case6-www.zip

访问 www.zip 即可

www.zip 是一个常见的文件名,通常用于压缩和打包网站的文件和目录。它可能包含网站的HTML文件、CSS样式表、JavaScript脚本、图片、以及其他相关资源。通过将这些文件压缩成一个 .zip 文件,可以方便地传输、备份或共享整个网站的内容。

用途

  1. 网站备份:开发者可能会将整个网站的内容打包成 www.zip,以便进行备份。
  2. 网站迁移:在将网站从一个服务器迁移到另一个服务器时,打包成 .zip 文件可以简化传输过程。
  3. 文件共享:将网站文件打包成 .zip 文件后,可以更容易地通过电子邮件或其他方式分享给他人。
  4. 下载资源:某些网站可能会提供 www.zip 文件供用户下载,以便离线查看或使用网站内容。

Case7-.git

.git 文件夹是 Git 版本控制系统用来存储与版本控制相关的数据的目录,通常包括配置文件、对象文件和索引文件。正常情况下,.git 文件夹中不会有 index.php 文件。

不知道为什么,我访问 index.php 时,就拿到了flag

Case8-.svn

Case7类似,访问.svn .svn 是 Subversion(SVN)版本控制系统的工作目录中的隐藏文件夹,类似于 Git 中的 .git 目录。这个文件夹包含了 SVN 用来管理版本控制的所有元数据和文件。

特点

Case9-.swp

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

访问index.php.swp

在请求数据包cookie看到flag

Case11-TXT 记录

目前不会做

也可能是坠机了

1743432198536

查询域名TXT记录 一般指为某个主机名或域名设置的说明

Case12-信息搜集&robots.txt

查看robots.txt文件,找到后台登录地址,用户名admin。密码:在页面的最下方

Case13-信息搜集

在页面下面发现 document 下载发现里面存在后台地址和用户名密码

Case14-editor

访问/editor

1743435021968

可以读取整个服务器文件

Case14-信息搜集

来自题解: 访问/admin页面 发现有一个忘记密码操作,需要输入地址 在主页面下面看到QQ邮箱,通过QQ号查询邮箱,是西安的 修改密码成功,用户名 admin 登录成功获得flag

Security Technique Catalog

CTF Web 入门
Web Exploitation

Web 入门做题记录 - CTF Web 方向入门级漏洞利用技术集合。从信息泄露到注入攻击,覆盖实战中最常见的攻击面。

14 Techniques
5 Categories
Beginner Difficulty
01 / Information Disclosure
Case 01
HTML Comments

Flag 直接隐藏在网页源代码注释中。

View Source → <!-- flag -->
trivial
Case 02
JS Bypass

JavaScript 前台拦截,阻止正常查看。

Ctrl+U 查看源码 / 禁用 JS
client-side
Case 10
Cookie Leak

Flag 存放在 HTTP 响应的 Cookie 字段中。

Inspect → Network → Response Headers
headers
02 / HTTP Protocol Exploitation
Case 03
Packet Capture

Flag 隐藏在 HTTP 响应头中。直接抓包分析响应即可获取。服务器在自定义头字段中暴露了敏感信息。

Response Headers
HTTP/1.1 200 OK Server: nginx/1.20.1 Content-Type: text/html; charset=UTF-8 Flag: flag{xxx} X-Powered-By: PHP/7.3.11
Case 11
DNS TXT Record

通过查询域名的 TXT 记录获取信息。TXT 记录常用于域名验证和说明。

dig domain.com TXT
dns
03 / Source Code & File Exposure
Case 05
PHP Source Disclosure (.phps)
Source Leak

访问 index.phps 获取 PHP 源代码。.phps 扩展名使服务器返回语法高亮的源代码而非执行结果。

index.phps
<?php /* # @Author: xxx # @Date: xxx # @email: xxx@xxx.com */ //flag{xxx} echo "where is flag ?"
index.php
Executed by server, outputs HTML
index.phps
Returned as plaintext source code
Case 06
www.zip Backup

直接访问 www.zip 下载整站备份。常见于开发者遗留的打包文件。

用途: 网站备份、服务器迁移、文件共享。

/www.zip
backup
Case 09
VIM .swp File

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

Vim 异常退出后生成 .swp 恢复文件。

/index.php.swp
recovery
04 / Version Control Exposure
Case 07
.git Directory

Git 版本控制目录暴露。包含完整的仓库历史、配置文件和对象数据。

/.git/ → dump → git log
critical
Case 08
.svn Directory

Subversion 版本控制目录暴露。与 Git 不同, SVN 在每个子目录都创建 .svn 目录,包含完整的版本历史和文件元数据。

/.svn/entries
svn
05 / Access Control Misconfiguration
Case 04
robots.txt Disclosure

robots.txt 旨在告诉爬虫哪些路径不可抓取,但攻击者反而利用它来发现隐藏路径。

本题: Disallow 指向 /flagishere.txt,直接访问即得 flag。

robots.txt
User-agent: * Disallow: /flagishere.txt
Format Reference
Standard Directives
syntax
User-agent: [crawler name] Disallow: [blocked path] Allow: [allowed path]

User-agent - Target crawler (* = all)

Disallow - Blocked path

Allow - Explicitly permitted

06 / Reconnaissance & Social Engineering
Case 12
robots.txt + Weak Creds

robots.txt 泄露后台地址。用户名 admin, 密码藏在页面最底部。

robots.txt → /admin → page footer
combo
Case 13
Document Leak

页面提供 document 下载,其中包含后台地址和完整凭据。

Download doc → extract creds
osint
Case 14
Editor Exposure

访问 /editor 发现在线编辑器,可直接读取服务器任意文件。

/editor → file browser → read flag
rce-adjacent
Case 15
Password Recovery via OSINT
Social Engineering

访问 /admin 发现"忘记密码"功能,需要输入地址。主页底部暴露 QQ 邮箱,通过 QQ 号反查得到地址为西安,成功重置密码。用户名 admin 登录获取 flag。

Step 1
Find QQ email in page footer
Step 2
QQ number → location lookup
Step 3
Reset password with address
Step 4
Login as admin, get flag