如何判断是字符型注入还是整形注入

2023-11-02

1、数字型注入

当输入的参数为整形时,如果存在注入漏洞,可以认为是数字型注入。

测试步骤:

(1) 加单引号,URL:www.text.com/text.php?id=3

对应的sql:select * from table where id=3’ 这时sql语句出错,程序无法正常从数据库中查询出数据,就会抛出异常;

(2) 加and 1=1 ,URL:www.text.com/text.php?id=3 and 1=1

对应的sql:select * from table where id=3’ and 1=1 语句执行正常,与原始页面如任何差异;

(3) 加and 1=2,URL:www.text.com/text.php?id=3 and 1=2

对应的sql:select * from table where id=3 and 1=2 语句可以正常执行,但是无法查询出结果,所以返回数据与原始网页存在差异

如果满足以上三点,则可以判断该URL存在数字型注入。

2、字符型注入

当输入的参数为字符串时,称为字符型。字符型和数字型最大的一个区别在于,数字型不需要单引号来闭合,而字符串一般需要通过单引号来闭合的。

例如数字型语句:select * from table where id =3

则字符型如下:select * from table where name=’admin’

因此,在构造payload时通过闭合单引号可以成功执行语句:

测试步骤:

(1) 加单引号:select * from table where name=’admin’’

由于加单引号后变成三个单引号,则无法执行,程序会报错;

(2) 加 ’and 1=1 此时sql 语句为:select * from table where name=’admin’ and 1=1’ ,也无法进行注入,还需要通过注释符号将其绕过;

Mysql 有三种常用注释符:

-- 注意,这种注释符后边有一个空格

# 通过#进行注释

/* */ 注释掉符号内的内容

因此,构造语句为:select * from table where name =’admin’ and 1=1—’ 可成功执行返回结果正确;

(3) 加and 1=2— 此时sql语句为:select * from table where name=’admin’ and 1=2 –’则会报错

如果满足以上三点,可以判断该url为字符型注入。

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

如何判断是字符型注入还是整形注入 的相关文章

  • SQL Server 中临时表的使用

    这是一个悬而未决的问题 但我真的很想听听人们的意见 我很少使用显式声明的临时表 表变量或常规 tmp 表 因为我相信不这样做会导致更简洁 可读和可调试的 T SQL 我还认为 在需要时 例如当您在查询中使用派生表时 SQL 可以比我更好地利
  • 如何使用JSqlParser向sql添加where条件?

    我想用JSqlParser向sql添加where条件 例如 Before select from test table where a 1 group by c After select from test table where a 1
  • SQL 查询 - 将查询中的日期格式更改为 DD/MM/YYYY

    我想要实现的目标相当简单 将一种日期格式转换为另一种日期格式 由此 Jan 30 2013 12 00 00 000AM对此 DD MM YYYY或者在这种情况下30 01 2013 但是 当它是该月的 1 号到 9 号时 日期格式缺少零并
  • 根据同一 select 语句中先前计算的行(或列)计算新行(或列)

    我正在尝试根据年度销售增长预期来计算年度预期销售量 在一张表中 我有实际销量 create table Sales ProductId int Year int GrowthRate float insert into Sales valu
  • 使用 C# 恢复数据库

    我正在尝试使用 Microsoft SqlServer Management Smo 将数据库从一台服务器恢复到另一台服务器 问题是我不断收到错误消息 指出找不到 MDF 文件 原因是它试图在 SQL 实例名称的数据文件夹中查找它的来源 而
  • 如何在 PL/SQL 中查找字符串中不同字符的数量和名称[重复]

    这个问题在这里已经有答案了 我对 PL SQL 很陌生 我需要获取字符串中不同字符的名称和计数 例如 如果我有一个字符串str helloexample 我需要获得不同字符的输出str i e heloxamp 我怎样才能做到这一点 您可以
  • SQLAlchemy:如何过滤日期字段?

    这是模型 class User Base birthday Column Date index True in database it s like 1987 01 17 我想在两个日期之间进行过滤 例如选择 18 30 年区间内的所有用户
  • 水晶报表参数选择有限制吗?

    我正在尝试根据按用户分组的 Oracle 数据库制作 Crystal Reports 11 报告 我有超过一千个用户 我想创建一个参数字段 提示用户选择他们想要查看其结果的用户 但是我的参数选择字段仅显示 221 个可能的用户 由于 SQL
  • 如何在SQL中编写连接查询[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 问题 给定 Employee 和 AnnualReviews 表 编写一个查询以返回所有从未接受过按 HireDate 排序的评论的员
  • 如何在 postgresql 中使用“时间”字段按小时分组?

    我有一张带有一列的桌子ctime类型的time without time zone cdate ctime 2016 12 24 12 02 17 2016 12 24 12 02 32 2016 12 24 12 03 00 2016 1
  • 使用 MYSQL 创建随机数

    我想知道是否有一种方法可以选择 100 到 500 之间随机生成的数字以及选择查询 Eg SELECT name address random number FROM users 我不必将此数字存储在数据库中 而只需使用它来显示目的 我尝试
  • 跨数据库管理系统检查字符串是否为数字的方法

    好的 我有这个字段 code varchar 255 它包含我们导出例程中使用的一些值 例如 DB84 DB34 3567 3568 我需要仅选择自动生成的 全数字 字段 WHERE is numeric table code is num
  • SQL 执行计划是基于架构还是数据,或者两者兼而有之?

    我希望这个问题不太明显 我已经找到了很多关于解释执行计划的好信息 但有一个问题我还没有找到答案 该计划 更具体地说是相对 CPU 成本 仅基于架构 还是数据库中当前的实际数据 我尝试对我的产品数据库中需要索引的位置进行一些分析 但正在使用我
  • 向 sql select 查询添加新的空列

    我有以下 sql 选择查询 select column1 column2 from mytable 是一种向表中不存在的查询添加空列的方法 例如 select column1 column2 empty int column from my
  • Informix:带有输出参数的程序?

    我搜索了很多 但找不到任何东西 我只是想问是否有任何方法可以创建和调用过程 Informix 没有参数 我知道如何返回一个或多个值 对于过程和函数 但这不是我想要的 如果 Informix 不允许输出参数 那就真的很奇怪了 提前致谢 EDI
  • 编写 PHP SQL 更新语句的最佳方法

    我有这个 PHP SQL 语句 updateCategory UPDATE category SET name name description description parent parent active active WHERE i
  • T-SQL - 字符串连接

    希望有人可以提供帮助 我是一个新手 SQL 黑客 而且确实很糟糕 我在 SQL Server 2005 上有两个表 TABLE 1 和 TABLE2 TABLE1 COL1 COL2 1 10 2 20 3 30 4 10 4 20 5 2
  • LEFT JOIN 返回与 INNER JOIN 相同的结果

    我有一张桌子 磨砂膏 里面有 1600 个独特的物品 第二张桌子有100万以上 我运行 INNER JOIN 并获得 65 个匹配项 SELECT a BW Parent Number a Vendor Name b Parent Supp
  • 帮助将二进制图像数据从 SQL Server 读取到 PHP 中

    我似乎无法找到将二进制数据从 SQL 服务器读取到 PHP 的方法 我正在开发一个项目 需要能够将图像直接存储在 SQL 表中 而不是文件系统上 目前 我一直在使用这样的查询 插入 myTable 文档 选择 从 OPENROWSET BU
  • MySQL如何进行浮点加法的数学计算?

    我测试过SELECT 0 1 0 2 用MySQL MariaDB 查询 它返回了正确的答案 MariaDB none gt SELECT 0 1 0 2 0 1 0 2 0 3 1 row in set 0 000 sec 在大多数编程语

随机推荐

  • 字节原来这么容易进,是面试官放水,还是公司实在是太缺人?

    本人211非科班 之前在字节和腾讯实习过 这次其实没抱着什么特别大的希望投递 没想到字节可以再给我一次机会 还是挺开心的 本来以为有个机会就不错啦 没想到能成功上岸 在这里要特别感谢帮我内推的同学 中间投递比较曲折 是他帮了我很多 非常负责
  • onlyoffice文档服务器加载慢,【onlyoffice中文指南】12-问题及排除

    作者 日期 雨中星辰 2018 12 20 故障排除 编辑器集成中最常见的问题及解决方法 下载失败 Download failed 下载失败 编辑器加载过程中将显示 下载失败 消息 该文档编辑服务不能上传文件进行编辑 检查document
  • Android自定义View完美实现指示器位置随进度变化的IndicateProgressView

    该文章同步发布在公众号 LinminTech 上 请在本文最后扫码关注 获取更多精彩Android开发文章 效果图 需求 在平时开发过程中 UI经常要求实现如上图所示的ProgressBar 但是Android系统自带的ProgressBa
  • 嵌入式系统学习(七)-bootloader修改实例

    从 github 中下载 Nanopi2 的 uboot 源码后 从源代码根目录中找到 u boot lds 文件 可以看到以下内容 以上片断可以分析出 整个 uboot 程序从 arch arm cpu slsiap s5p4418 st
  • Executors框架——5种常用的线程池介绍及区别

    1 CachedThreadPool线程池 可向下转型为ThreadPoolExecutor 1 1 线程池核心线程数是0 说明线程空闲时 会被自动回收 1 2 任务队列只能有一个任务 而且最大线程数是整数最大值 所以有任务就会创建线程处理
  • Deeplabcut教程(一)安装(GPU&CPU版本)(纯新人向)

    提示 文章写完后 目录可以自动生成 如何生成可参考右边的帮助文档 文章目录 前言 一 Deeplabcut是什么 二 使用步骤 1 环境配置 1 1安装anaconda 1 2换源 1 2安装CUDA和CUdnn GPU 2 Deeplab
  • Leet1. 两数之和

    给定一个整数数组 nums 和一个整数目标值 target 请你在该数组中找出 和为目标值 target 的那 两个 整数 并返回它们的数组下标 你可以假设每种输入只会对应一个答案 但是 数组中同一个元素在答案里不能重复出现 你可以按任意顺
  • 渗透相关问题(二)

    1 报错注入原理是什么 由于后台没有对数据库的信息做过滤 会输出到前台显示 那么我们就可以利用制造报错函数 将查询语句带入到数据库中 以报错信息显示出来 一般是不以网页标签和xpath的路径格式来制造报错 2 常用哪些函数来制造报错 ext
  • git的详细使用

    文章目录 前言 一 Git工作流程 二 Git的安装 配置与使用 1 Git安装与配置 2 从本地仓库推送到远程仓库 2 从远程仓库拉取文件到本地 修改 新增并提交到 更新远程仓库 前言 参考网上文章 在这里总结一篇 方便自己查询 参考1
  • MySQL——root用户密码忘记,重置的操作

    1 通过任务管理器或者服务管理 关掉mysqld 服务进程 2 通过命令行 特殊参数开启 mysqld mysqld defaults file D ProgramFiles mysql MySQLServer5 7Data my ini
  • MIPI M-PHY - D-PHY- C-PHY

    MIPI M PHY MIPI M PHY是物理层 支持所有芯片到芯片的应用 以及高性能的摄像头和内存应用 M PHY可以在高速 HS 模式下运行 支持高达11 6Gb s的超高带宽 也可以在低功耗 LP 模式下运行 M PHY中支持的芯片
  • 启动hadoop,只有两个从节点没有DataNode的异常

    解决办法 在从节点的logs中查看日志如下 发现问题原因是主节点的VERSIONID和从节点不一样导致的 解决办法 1 有重要数据情况下 把主节点的VERSIONID复制到从节点中 2 没有重要数据情况下 把主节点的hdfs文件夹都删掉
  • 【打字母游戏_C语言实现】

    1 项目需求 2 项目分析 3 项目设计 3 1设计字母结构体 3 2屏幕大小 3 3 添加二维数组空格函数 LnitGrid GridArray ga 3 4 显示网格 ShowGrid GridArray ga struct Lette
  • 微信扫码登录功能实现

    原因 很简单 公司的账号登录需要用到微信扫码登录与QQ的登录功能 所以 在做好了微信的扫码登录之后 本人就写这篇微信扫码登录功能实现的教程 教程开始 需要用到的网站 https open weixin qq com 微信开放平台 https
  • 【软考】-高项-沟通管理-子过程ITTO记忆技巧

    沟通管理 贵关键 文章目录 沟通管理 贵关键 规划沟通管理 1 记忆口诀 2 记忆故事 3 输入 工具技术 输出选择理由 管理沟通 1 记忆口诀 2 记忆故事 3 输入 工具技术 输出选择理由 监督沟通 1 记忆口诀 2 记忆故事 3 输入
  • 打不开磁盘“E:\Virtual Machines\CentOS 7 64 位\CentOS 7 64 位-000003.vmdk”或它所依赖的某个快照磁盘。

    vmware下启动Centos虚拟机报错虚拟无法打开磁盘 打不开磁盘 E Virtual Machines CentOS 7 64 位 CentOS 7 64 位 000003 vmdk 或它所依赖的某个快照磁盘 或它所依赖的某个快照磁盘
  • 【Android动画渲染及混合模式】

    Android动画渲染及混合模式 public class GradientLayout extends View private Paint mPaint private Shader mShader private Bitmap mBi
  • CSMA/CD工作原理

    CSMA CD就是载波监听多点接入 碰撞检测 CSMA CD工作原理可以概括如下 1 先听后说 边听边说 2 一旦冲突 立即停说 3 等待时机 然后再说 在发送数据前 先监听总线是否空闲 若总线忙 则不发送 若总线空闲 则把准备好的数据发送
  • Java打印变量的参数类型

    具体方法如下 public static String getType Object o if ObjectUtils isEmpty o return 当前参数为空 else return o getClass toString 测试案例
  • 如何判断是字符型注入还是整形注入

    1 数字型注入 当输入的参数为整形时 如果存在注入漏洞 可以认为是数字型注入 测试步骤 1 加单引号 URL www text com text php id 3 对应的sql select from table where id 3 这时