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

SQL注入 02

1 SQL注入的分类

1.1 数字型注入

 

页面让我输入一个ID 
插入一个小知识点:

  • 根据HTTP标准,? 是官方定义的查询字符串分隔符(RFC 3986)

  • 服务器会严格解析 ? 后的内容为参数,/ 后的内容为路径

?id=1

 查询了id=1的username和password,这就是数字型注入

测试

闭合单引号:出现报错

 http://www.test.com/test.php?id=1 and 1=1

SQL语句为:select * from table where id=1 and 1=1 ,页面正常

http://www.test.com/test.php?id=1 and 1=2

SQL语句为:select * from table where id=1 and 1=2,返回数据与原始请求不同

用and 1=1 和 1=2 可以用来测试页面是否存在注入点,如果页面两次返回的页面不一样表示此处存在注入点

1.2 字符型注入

字符型:select * from table where username=‘test’

字符型注入最关键的是如何闭合SQL语句以及注释多余的代码

查询内容为字符串时:select * from table where username = ‘test’

测试:

select * from table where username = 'test and 1=1' ,无法注入,“test and 1=1”会被数据库当作查询的字符串

select * from table where username = 'test' and '1'='1’ --’,必须闭合字符串才可以继续注入

/?id=1%27%20and%201=2--+这里页面错误回显--+表示在url栏的注释+表示空格

演示

这里演示常见的数字型注入 演示页面http://172.172.3.250/cms/show.php?id=35

一般演示步骤如下,

1,如果分别得到对应的结果说明该页面有SQL注入漏洞 '单引号,在有参数的后面输入单引号,

2,结果报错或者回显错误 and 1=1,测试回显正常

3,and 1=2,测试回显错误

总结以上内容

从上述三个测试步骤说明该页面有SQL注入漏洞 深入剖析:

1、大致能猜测到该页面的SQL语句是 select * from users(表名) where id=1

2、我们能控制输入并且能修改的参数就是id

3、这里我们只能把id=35修改成id=1 and 1=1 和id=1 and 1=2带到服务器被数据库引擎都执行成功了

4、select * from users(表名) where id=1 and 1=1 返回的结果真,所以就能回显正常内容

5、select * from users(表名) where id=1 and 1=2 返回的结果为假,and 1=2肯定为假吧,所以回显不了任何内容,内容为空

http://www.xdnf.cn/news/650.html

相关文章:

  • 【Part 2安卓原生360°VR播放器开发实战】第一节|通过传感器实现VR的3DOF效果
  • SpringBoot编写单元测试
  • libdxfrw库使用总结
  • 开源的 PDF 文件翻译软件
  • 借助 OpenCV 和 PyTorch 库,利用卷积神经网络提取图像边缘特征
  • 【源码+文档+调试讲解】扶贫助农系统
  • VSCode PIO使用Jlink SWD烧录Stm32
  • 【C++】初始化列表
  • 信息系统项目管理工程师备考计算类真题讲解五
  • Redis ④-通用命令
  • 解决Docker 配置 daemon.json文件后无法生效
  • 【数据可视化-19】智能手机用户行为可视化分析
  • Windows 环境下安装 MariaDB 及 HeidiSQL 使用教程
  • 玩机搞机基本常识-------小米OLED屏幕机型怎么设置为永不休眠_手机不息屏_保持亮屏功能 拒绝“烧屏” ?
  • 【Vim】vim的简单使用
  • 小迪第10天http/s数据包
  • JavaScript 一维数组转二维数组
  • 修改PointLIO项目
  • STM32配置系统时钟
  • 【PyTorch】训练时跟OOM相关的提示信息
  • AI大模型之模型幻觉
  • 【HarmonyOS 5】makeObserved接口详解
  • Java表达式1.0
  • 爱在冰川-慢就是快
  • IDEA在Git提交时添加.ignore忽略文件,解决为什么Git中有时候使用.gitignore也无法忽略一些文件
  • SpringAI系列 - MCP篇(一) - 什么是MCP
  • Linux | I.MX6ULL 文件系统
  • 测试基础笔记第七天
  • 【QT】 QT中的列表框-横向列表框-树状列表框-表格列表框
  • 介绍一下 nuScenes 数据集