这课要解决什么
确定最小工具集。工具是手,不是课表。一上来装一百个框架,后面每一步都会先问「这个按钮叫什么」,而不是「我要看见什么」。
先建立心智模型
测试流量有两条路:
- 你主动发的:终端里的
nmap、curl、目录扫描。你写命令,你看输出。 - 浏览器走的:页面、Cookie、跳转、接口。要看见并改这些,需要拦截代理。
代理不是「更强的浏览器」,它是插在浏览器和靶机之间的检查点。终端工具默认不走 Burp,除非你显式设 HTTP_PROXY 或把工具指到代理端口。两条路混在一起时,笔记里要写清「这包是谁发的」。
最小可运行例子
攻击机浏览器走代理,打开靶机的 Web 口,Burp 里能看到请求。
- 打开 Burp Community(或同类拦截代理),监听
127.0.0.1:8080。 - 浏览器代理设成 HTTP/HTTPS
127.0.0.1:8080。Firefox 单独设代理最省事,别和宿主机系统代理绑死。 - 从 Burp 导出 CA 证书,导入浏览器,HTTPS 才不会一片报错。
- 访问靶机,例如
http://192.168.56.101/。Proxy 历史里出现对应 Host,就算接通。 - 临时关掉拦截(Intercept off),先保证能正常浏览,再按需打开拦截。
终端侧最小集:
nmap -sC -sV -oA notes/scan-host 192.168.56.101
curl -i http://192.168.56.101/
-oA 把 gnmap/nmap/xml 三种输出一起留下,后面写笔记用。curl -i 先看头,再谈页面。
常用操作
代理与浏览器
日常节奏:
- 浏览和点功能时,拦截可以关,靠 HTTP history。
- 要改一个参数、重放一次登录时,再开拦截或丢到 Repeater。
- 范围只加实验网网段和靶机域名。别把 Burp 开成「所有流量都进代理」,你会把查文档的请求和打靶的请求搅在一起。
浏览器用一个干净的测试配置:少插件、关隐私拦截对 localhost 的干扰。需要两个身份时,用两个配置文件,不要靠「退出登录」混着用。
终端里真正常用的那一小撮
| 目的 | 先用 |
|---|---|
| 端口和服务 | nmap |
| 手工 HTTP | curl |
| 看自己的网 | ip、ss、ping |
| 目录和文件名猜测 | ffuf 或 gobuster(会一个即可) |
| 脚本 | python3 |
| 代码和笔记同步 | git |
命令手册在第十二章。这一课只要求:你会存 nmap 输出、会看 curl 的响应头、知道目录扫描是「猜名字」不是「挖漏洞」。
字典从哪来
练习阶段用公开字表就够,例如 SecLists 里的目录名、常见用户名、密码样本。Kali 上也常有 rockyou 一类压缩包,用之前确认路径和解压。
自己收字典是后话:侦察里看到的员工邮箱前缀、站点目录、参数名,单独建文件,不要和千万行公共字典混成一次爆破。公共字典噪声大,自己的短表更接近这一次范围。
什么时候不该用扫描器硬扫
- 还没确认 IP 属于范围内。
- 目标是生产或共享环境,你没有「可以较真扫描」的授权说明。
- 你还看不懂单端口的横幅,却先上了全端口加脚本加漏洞扫描。
- Web 还没手工点过主流程,就先用爬虫和注入套件铺一遍。
扫描器适合在你已经有清单之后做覆盖:主机列表、端口列表、已知目录。它不适合替你决定第一枪打哪。
常见坑
HTTPS 一堆证书警告。 证书没进浏览器,或浏览器没走代理。先修通,再谈抓包。
终端扫描和 Burp 对不上。 正常。nmap 默认不进 8080。要对齐,要么看终端输出,要么给那条命令加代理。
目录扫描把站点打满 404。 降速、缩小字典、先对一个已知存在的路径确认工具真的在打这台机。
工具版本和教程截图不一致。 以你机器上的帮助文本为准(nmap --help、Burp 当前菜单名)。课里写的是行为,不是某个小版本的按钮位置。
学完应能判断
最小箱里有四样能用:隔离网已经通、浏览器流量能进代理、终端能留下 nmap/curl 输出、你知道这次该不该开扫描器。
缺代理,后面 Web 课会在「页面上发生了什么」上反复猜。缺记录,第十章报告会没证据。