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

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 查询用于计算每个客户的订单数量和总金额

    我有两张桌子Order与列 OrderID OrderDate CID EmployeeID And OrderItem与列 OrderID ItemID Quantity SalePrice 我需要返回客户 ID CID 每个客户的订单数
  • 可以使用表通配符创建 sql 查询吗?

    这可能是一个简单的问题 但我无法在网上找到解决方案 任何帮助将不胜感激 我正在尝试在 PHP 中创建一个 SQL 查询 并希望以某种方式将通配符应用于 TABLE 过滤器 可能是这样的 select from table 但是 到目前为止我
  • T-SQL:用最新的非空值替换 NULL 的最佳方法?

    假设我有这张表 id value 1 5 2 4 3 1 4 NULL 5 NULL 6 14 7 NULL 8 0 9 3 10 NULL 我想编写一个查询来替换任何NULL值与表中最后一个不为空的值在那一栏里 我想要这个结果 id va
  • 根据日期顺序排名

    我的数据如下 Heading Date A 2009 02 01 B 2009 02 03 c 2009 02 05 d 2009 02 06 e 2009 02 08 我需要如下排名 Heading Date Rank A 2009 02
  • sql查询获取从一月到当月的所有数据,即使没有记录

    我不擅长 sql 所以任何帮助世界都很棒 我有一个 SQL 查询 可以获取从一月到当月注册的记录 我的代码示例 SELECT DatePart YEAR p createStamp as TheYear DatePart MONTH p c
  • Reporting Services 在哪里存储其日志文件

    最相关的谷歌结果似乎表明 为了访问日志 我们必须将您自己的日志表部署到数据库并制作报告服务写入它 http technet microsoft com en us library ms157403 aspx 简而言之 Reporting S
  • 如何在MYSQL中将整个字符串小写并保持第一个大写[重复]

    这个问题在这里已经有答案了 我的表栏目 我预期的输出会在列中发生变化 Smith Allen Doyle Dennis Baker Waker 这是我尝试过的 但不起作用 UPDATE TABLE employee SET last nam
  • 如何从 SQL Server 2008 查询结果中删除“NULL”

    我有一个包含 59 列和超过 17K 行的表 很多行都有NULL在某些列中 我想删除NULL以便查询返回空白 而不是NULL 我可以运行一些更新功能来替换所有NULL with 使用 SQL Server 2008R2 Management
  • 删除数据库中的行后如何重新排序ID

    我正在使用 C 来制作具有 sql 数据库的程序 在数据库中我有一个名为Workers 它有一个自动增量和主键ID column 当我删除一条记录时 ID 之间会出现间隙 删除记录后如何重新排序 ID UPDATE 我要做的就是找到记录后将
  • 数字表与递归 CTE 生成一系列数字

    为什么使用数字表比使用递归 CTE 动态生成它们要快得多 在我的机器上 给定一张桌子numbers单列n 主键 包含从1到100000的数字 查询如下 select n from numbers 大约需要 400 毫秒才能完成 使用递归 C
  • MYSQL从每个类别中随机选择一条记录

    我有一个数据库Items表看起来像这样 id name category int 有几十万条记录 每个item可以是 7 种不同的之一categories 对应于categories table id category 我想要一个从每个类别
  • SQL WHERE 取决于星期几

    我需要检查不同日期的记录 具体取决于当前是一周中的哪一天 在周五 我需要它查看整个下周 直到下周日 在其他任何一天 它都应该检查当前周 直到下周日 我目前有以下内容 但由于语法错误而无法工作 是否可以做一个CASE WHEN里面一个WHER
  • 当您在 SQL Server 中创建新登录名时,它默认选择 db_owner

    我在 SQL Server 2008 R2 中创建新的 SQL 用户时遇到一些问题 当我使用 SQL Server Management Studio 时 它会检查db owner默认情况下的角色成员资格 我只想创建一个具有只读访问权限的新
  • JDBC 和多线程

    我正在尝试使用多线程方法运行一些查询 但是我认为我做错了什么 因为我的程序需要大约五分钟来运行一个简单的选择语句 例如 SELECT FROM TABLE WHERE ID 123 我的实现如下 我使用一个连接对象 在我的运行方法中 pub
  • Oracle SQL 分析查询 - 类似递归电子表格的运行总计

    我有以下数据 由A值 排序依据MM 月 The B列计算为GREATEST current value of A previous value of B 0 以类似电子表格的方式 我怎样才能计算B使用 SQL 查询 我尝试使用分析函数 但未
  • 在查询中创建临时变量

    我希望能够在查询中创建一个临时变量 而不是存储过程或函数 它不需要声明和设置 这样我在调用它时就不需要传递查询参数 正在努力朝这个方向努力 Select field1 tempvariable 2 2 newlycreatedfield t
  • 同一表中同一列的 SQL 完全外连接

    这可能更多的是一个设计问题 但我希望这在没有太多巫术的情况下是可能的 假设我有一个这样的表 SELECT FROM stuff id grp 1 a 2 a 3 a 1 b 2 b 4 b 我想要得到这样的东西 ID 按列分组 a id b
  • 如何使用单个查询对从另一个表检索的表列表进行 UNION?

    我有一个表 其中包含 PostgreSQL 中的表列表 id table 1 table1 2 table2 3 table3 我想从所有这些表的联合中进行选择 例如 伪代码 select from union select table f
  • MySQL - 连接 a 或 b

    假设我有一个TABLE a其中一个COLUMN data是一个join其他 2 张桌子 TABLE b and TABLE c 因为我想得到一个COLUMN info in b or c 事情是a data将匹配only with b da
  • 使用 ActiveRecord 和 Yii2 记录实际的 SQL 查询?

    我正在这样做 students Student find gt all return this gt render process array students gt students 然后在视图中 foreach students as

随机推荐

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

    本人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 这时