返回顶部
首页 > 资讯 > 数据库 >基于约束的SQL注入
  • 883
分享到

基于约束的SQL注入

摘要

# 漏洞原理 在谈论这种攻击手法之前,首先我们需要了解几个关键知识点。 1、在sql中执行字符串处理时,字符串末尾的空格符将会被删除。换句话说,‘nocoriander’和‘nocoriander    ’几乎是等效的 例如下列代码,和使用


	基于约束的SQL注入
[数据库教程]

# 漏洞原理

在谈论这种攻击手法之前,首先我们需要了解几个关键知识点。

1、在sql中执行字符串处理时,字符串末尾的空格符将会被删除。换句话说,‘nocoriander’和‘nocoriander    ’几乎是等效的

例如下列代码,和使用用户名‘admin’结果是一样的

1 select * from users where username=nocoriander       ‘;

2、在所有的INSERT查询中,SQL都会根据varchar(n)来限制字符串的最大长度。也就是说,如果字符串的长度大于"n"个字符的话,那么仅使用字符串的前"n"个字符。比如特定列的长度约束为"5"个字符,那么在插入字符串"nocoriander"时,实际上只能插入字符串的前5个字符,即"nocor"。

# 攻击手法

首先创建数据库 test

技术图片

给test库添加users表,表中有两个字段username,passWord

技术图片

添加数据;username=admin;password=123456

技术图片

查看users表中的数据

技术图片

使用另一种方式查看表中的数据,

发现查看的结果是一样的

技术图片

接下来再次添加数据

username=‘admin            ‘;     注意:admin后面跟了空格

password=‘newpwd‘

技术图片

再次查看表中的数据

技术图片

给定条件,查看users表中,username为admin的数据

技术图片

# 漏洞危害

现在,如果使用用户名“admin”和密码“newpwd”登录的话,则所有搜索该用户名的SELECT查询都将返回第一个数据记录,也就是原始的数据记录。

这样的话,攻击者就能够以原始用户身份登录。

# 防御手段

1、将要求或者预期具有唯一性的那些列加上UNIQUE约束。

2、最好使用‘id‘作为数据库表的主键。并且数据应该通过程序中的id进行跟踪

3、可以用手动调整输入参数的限制长度

基于约束的SQL注入

原文地址:https://www.cnblogs.com/Bcxc/p/13475953.html

您可能感兴趣的文档:

--结束END--

本文标题: 基于约束的SQL注入

本文链接: https://lsjlt.com/news/7817.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 基于约束的SQL注入
    # 漏洞原理 在谈论这种攻击手法之前,首先我们需要了解几个关键知识点。 1、在SQL中执行字符串处理时,字符串末尾的空格符将会被删除。换句话说,‘nocoriander’和‘nocoriander    ’几乎是等效的 例如下列代码,和使用...
    99+
    2016-01-15
    基于约束的SQL注入 数据库入门 数据库基础教程 数据库 mysql
  • SQL的约束解析
    SQL的约束解析 必须在奋斗中求生存,求发展。 约束 constraints 非空约束 not null #创建表的时候有如下字段 NAME VARCHAR(30) NOT NULL #这里添加了非空约束,name的值不能为n...
    99+
    2015-01-30
    SQL的约束解析
  • MySQL基础|在Navicat中输入SQL语句步骤【含SQL语句约束规范】
    通常使用cmd进行SQL的编写,但是Navicat这个图形化工具在进行数据存储时更加清晰,因此现在在开发时是个更佳的选择。但输入SQL语句的地方新手却不容易找到 Navicat中输入SQL语句 ...
    99+
    2023-09-06
    MySQL Navicat SQL
  • SQL Server中的约束(constraints)详解
    目录一、约束的分类二、约束命名三、主键约束1、在创建表的时候创建主键约束。2、在已存在的表上创建主键约束3、复合主键的创建四、外键约束4.1、创建表的时候创建外键4.2、在已存在的表...
    99+
    2024-04-02
  • SQL Server中的约束(constraints)详解
    SQL Server中的约束是一种用于限制表中数据的规则。它们可以应用于列级别或表级别,并确保数据库中的数据遵循特定的规则和完整性要...
    99+
    2023-08-16
    SQL Server
  • FlexBuilder2.0中怎么创建一个基于约束的布局
    FlexBuilder2.0中怎么创建一个基于约束的布局,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。FlexBuilder2.0中创建基于约束的布局这个速学教...
    99+
    2023-06-17
  • 关于sql脚本导入Oracle时重复生成check约束的问题解决
    前言 最近在工作中一位细心的同事发现产品的全量sql脚本中有一些重复的check约束检查,就像下图这样的 重复脚本 怪异之处还在于,每次执行一遍该脚本,然后导出脚本,在导出脚本中重复的次数就会增加一遍。通...
    99+
    2024-04-02
  • SQL注入基础
    引言 靓仔们是否经常听到sql注入呢,那么sql注入到底是什么? 引用微软官方的语言来说: SQL 注入是一种攻击方式,在这种攻击方式中,在字符串中插入恶意代码,然后将该字符串传递到 SQL Server 的实例以进行分析和执行。 构成...
    99+
    2023-09-18
    数据库 服务器 mysql
  • SQL UNIQUE约束的作用是什么
    SQL UNIQUE约束用于确保表中的某个列(或一组列)的值是唯一的。具体来说,UNIQUE约束可以用于以下几种情况:1. 单列唯一...
    99+
    2023-09-05
    SQL
  • SQL Server中的约束有什么用
    SQL Server中的约束用于限制对数据库表中数据的插入、更新和删除操作,以确保数据的完整性和一致性。约束可以定义在列级别或表级别...
    99+
    2023-08-17
    SQL Server
  • 补12.关于mysql的外键约束
    一、什么是mysql中的外键(froeign key)假如说有两张表,其中一张表的某个字段指向了另一张表的主键,这就可以称之为外键(froeign key)。在子表中增加一条记录时,需要确定是否有与父表相对...
    99+
    2024-04-02
  • SQL中的CHECK约束的详细讲解
    在SQL中,CHECK约束用于限制表中某列的取值范围。它可以用于在插入或更新数据时验证特定条件的有效性。 CHECK约束由以下几个部...
    99+
    2024-04-09
    SQL
  • sql唯一约束的作用是什么
    小编给大家分享一下sql唯一约束的作用是什么,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!SQL中唯一约束的作用是保证每个记录中...
    99+
    2024-04-02
  • SQL FOREIGN KEY约束的作用是什么
    SQL FOREIGN KEY约束用于确保关系数据库中的数据完整性。它定义了表之间的关系,并防止在相关表之间产生不一致的数据。FOR...
    99+
    2023-10-12
    SQL
  • SQL中check约束的作用是什么
    Check约束是一种用于限制表中列的取值范围的约束。它可以被用来限制列中的值必须满足某种条件,例如限制列中的值必须大于0,或者必须在...
    99+
    2024-04-09
    SQL
  • sql主键约束的用途是什么
    SQL主键约束用于确保表中的每一行数据都具有唯一标识符,即主键值。主键约束可以保证表中的每一行数据都有一个唯一的标诶,不会出现重复的...
    99+
    2024-04-08
    SQL
  • sql中常见的5种约束是什么
    这篇文章将为大家详细讲解有关sql中常见的5种约束是什么,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。sql完整性约束有:非空约束,唯一约束,主键约束,外键约束,条件约束...
    99+
    2024-04-02
  • sql server的建库、建表、建约束技巧
    这篇文章主要介绍“sql server的建库、建表、建约束技巧”,在日常操作中,相信很多人在sql server的建库、建表、建约束技巧问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大...
    99+
    2024-04-02
  • SQL中主键约束的作用是什么
    主键约束是一种用于定义数据表中唯一标识每条记录的约束,其作用如下:1. 唯一标识记录:主键约束确保每条记录都有一个唯一的标识,通过主...
    99+
    2023-09-26
    SQL
  • SQL Server中的约束知识点有哪些
    本篇内容主要讲解“SQL Server中的约束知识点有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“SQL Server中的约束知识点有哪些”吧!一、约束的分类在SQL ...
    99+
    2023-06-30
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作