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

联合注入步骤

使用场景:

有回显,可以看到某些字段的回显信息

像下面的有具体的回显信息

一、判断注入位点

在原始的id(参数)的输入后面添加额外的条件

如果and 1=1 有结果,and1=0没有结果输出,

就说明我们添加的额外条件被拼接到了原始的sql语句的后面,说明判断注入位点成功

二、判断select列数

为什么要判断select列数:

因为最方便的注入方式

union语句可以填充查询结果,并且额外执行一次查询

而且union语句查询有个特殊的条件,后面的查询语句列数需与前面的列数相同

操作:

在原始输入后面直接添加order by语句

order by 1或2或3...

到哪一列失败,就可以确定前面的查询输出一共有几列

三、注入

因为sql查询结果展示的空位有限,将union前的结果不输出id=-或者其他的方法,把位置让出来就能把数据库的信息正常显示出来了

库名

select * from *** where id=1 union select 1,2,database()

表名

select group_concat(table_name) from information_schema.tables where table_schema=database()或者=‘库名(在引号内)’

列名

select group_concat(column_name) from information_schema.columns where table_name='answer'

结果

select 列名 from 表名

 

 四、联合注入(字符型)

 输入的参数,被当作一个整体,输入被引号包裹

  • 闭合前引号
  • 注释后引号:#

判断注入位点

判断列数

 

注入过程 

http://www.lryc.cn/news/138269.html

相关文章:

  • 后端项目开发:整合redis缓存
  • 美国访问学者签证好办吗?
  • Linux之基础IO文件系统讲解
  • Django主要特点
  • element-ui中的el-table合并单元格
  • 自组织地图 (SOM) — 介绍、解释和实现
  • Arduino程序设计(四)按键消抖+按键计数
  • Scrum Guide Chinese Simplified.pdf
  • Module not found: Error: Can‘t resolve ‘vue-pdf‘ in ‘xxx‘
  • ELK之LogStash介绍及安装配置
  • docker学习(1)
  • UE5 Niagara基础知识讲解
  • 缓存穿透、缓存击穿和缓存雪崩
  • 自动化编排工具Terraform介绍(一)
  • zhm_real/MotionPlanning运动规划库中A*算法源码详细解读
  • SpringMVC中Controller层获取前端请求参数的几种方式
  • 记Flask-Migrate迁移数据库失败的两个Bug——详解循环导入问题
  • 在线求助。。npm i 报错,连公司内部网,无法连外网
  • TCP/UDP/IP协议简介
  • 写点感想3:关于本人近期的说明与一点感受
  • opencv-全景图像拼接
  • 如何将下载的安装包导入PyCharm
  • 【redis问题】Caused by: io.netty.channel
  • Elasticsearch 处理地理信息
  • ARM开发,stm32mp157a-A7核IIC实验(采集温湿度传感器值)
  • 021-从零搭建微服务-短信服务(一)
  • 基于jenkins自动化部署PHP环境
  • 数据库表结构导出为word、html、markdown【转载,已解决,已验证,开源】
  • 【计算机视觉|生成对抗】用于高保真自然图像合成的大规模GAN训练用于高保真自然图像合成的大规模GAN训练(BigGAN)
  • 三维重建_体素重建_空间雕刻法/体素着色法