当前位置: 首页 > news >正文

SQL Injection | SQL 注入分类 —— 数据类型

关注这个漏洞的其他相关笔记:SQL 注入漏洞 - 学习手册-CSDN博客

0x01:数字型注入点

标志结构: http://xxx.com/users.php?id=1

基于上述形式的注入点,一般被叫作数字型注入点。因为其注入点 id 类型为数字,在大多数网页中,诸如查看用户个人信息,查看文章等,大都会使用这种形式的结构传递 id 等信息,再交给后端,查询出数据库中对应的信息,返回给前端。这一类的 SQL 语句原型大概为:

 select * from 表名 where id=1;

若存在注入,我们可以构造出类似于如下的 SQL 语句进行测试:

 select * from 表名 where id=1 and 1=1;    -> 若页面无变化,则可能存在注入点select * from 表名 where id=1 and 1=2;    -> 若页面从有变无,则可能存在注入点

除了上面这种测试方法,我们还可以对数字型注入点拼接上 -+ 等运行符号,看其后端是否会进行运算,如果后端成功识别并进行运算了,返回了运算结果的页面,也可以判断其存在注入点:

0x02:字符型注入点

标志结构: http://xxx.com/users.php?name=admin

基于此种形式的注入,因为其注入点 name 类型为字符类型,所以被称为字符型注入点,这一类的 SQL 语句的原型大概为:

 select * from 表名 where name='admin';

若存在注入,我们可以构造出类似于如下的 SQL 语句进行测试:

 select * from 表名 where name='admin' and 1=1 ;--+' -> 若页面无变化,则可能存在注入点select * from 表名 where name='admin' and 1=2 ;--+' -> 若页面从有变无,则可能存在注入点

值得注意的是这里相比于数字型注入点,多了引号,这个引号可以是单引号,也可以是双引号,而我们需要经过测试使用正确的引号将注入语句拼接进去。

0x03:搜索型注入点

这是一类特殊的注入类型,这类注入主要出现在进行数据搜索时没有过滤搜索参数,一般在链接地址中有"keyword=关键字"(有的也不显示在链接地址里面,而是直接通过搜索框表单提交,需要我们进行抓包获取)。此类注入点的 SQL 语句原型大致为:

 select * from 表名 where 字段 like '%关键字%';

若存在注入,我们可以构造出类似于如下的 SQL 注入语句进行爆破:

 select * from 表名 where 字段 like '%测试关键字%' and 1=1; --+ %'; -> 若页面无变化,则可能存在注入点select * from 表名 where 字段 like '%测试关键字%' and 1=2; --+ %'; -> 若页面从有变无,则可能存在注入点​select * from 表名 where 字段 like '%测试%' and '%1%'='%1%';      -> 若页面无变化,则可能存在注入点

0x04:XX 型注入点

其他类型的注入点,注入的方式与前面的类型都大同小异,只不过因为其后端的 SQL 语句拼接方式不同,导致我们需要使用各种符号慢慢尝试去进行拼接。一些常见的闭合符号如下:

  • 常见的闭合符号:'"%(

针对这种类型的注入点,我们只能去慢慢试,尝试猜测出其后端的拼接方式,再进行进一步的测试,下面举出一个例子:

 后端拼接样式: select * from 表名 where id = (("$_GET['id']"))​攻击 Payload: id = 1")) or 1=1; #"​后端拼接后的样式: select * from 表名 where id = (("1")) or 1=1; #""))


http://www.mrgr.cn/news/50298.html

相关文章:

  • 利用TDM在vscode中运行c语言
  • C语言 | Leetcode C语言题解之第479题最大回文数乘积
  • MongoDB中排序、索引和聚合的详细说明
  • 101 - Lecture 7
  • 网络协议原理
  • 工业和建筑工地 安全帽-安全带识别数据集 yolo数据集 共2200张 已增强 标注
  • Educational Codeforces Round 170 (Rated for Div. 2)(A~E题解)
  • 增强对象智能:谷歌开源的XR-Objects项目简介
  • Python | Leetcode Python题解之第480题滑动窗口中位数
  • UG(交互式CAD/CAM系统)-WINDOWS 11安装教程
  • 023 elasticsearch查询数据 高亮 分页 中文分词器 field的数据类型
  • 多模态大模型 + 数字人 实现半自动 演示文稿 PPT讲解 搭建赛博老师傅 助力程序员赛博飞升!!!
  • Java | Leetcode Java题解之第479题最大回文数乘积
  • SpringCloud学习记录|day5
  • torch.jit.script编译加速推理的尝试
  • 读书笔记《PPT演讲力》大树模型
  • 如何优化 Nginx 配置
  • 用Java写一个学生类
  • RA6M5——GPIO
  • React前端框架的描述和使用方法