SQL注入语法和介绍(一)

SQL注入即是指WEB应用程序对用户输入数据的合法性没有判断或过滤不严,攻击者可以在web应用程序中事先定义好的查询语句的结尾上添加额外的SQL语句,在管理员不知情的情况下实现非法操作,以此来实现欺骗数据库服务器执行非授权的任意查询,从而进一步得到相应的数据信息。

WEB应用程序三层架构:视图层+业务逻辑层+数据访问层

SQL注入之MySQL数据库

复制代码
数据库服务器层级关系:
    服务器里面
        :多个数据库
            :多个数据表
                :多个列、行、字段
                    :最后拿到的才是我们想要的数据
                    
                    
                    
系统库释义
提供了访问数据库元数据的方式。
information_schema      信息模式数据库,提供对数据库元数据的访问,符合 SQL 标准。
performance_schema      性能模式,用于监控 MySQL 服务器运行时的性能数据。
mysql                   MySQL 系统数据库,存储用户权限、插件、时区等系统信息。
sys                     系统数据库,基于 performance_schema 和 information_schema 提供更易读的性能视图。

基本的查询语句

复制代码
show databases; 查看所有数据库
use 数据库名; 进入\选择数据库
show tables; 查看当前数据库的所有表
select * from 表名; 查看某个表的所有数据
select * from users; 查看users表里的所有数据

条件查询(where)

复制代码
select * from users where id=2;
利用union联合查询,拼接在一起查询,可以一条语句,查多个结果
select * from users where id=2 union select * from users where pass = 111;
select * from users where id=1 or pass = 111; 都行
select * from users where id=1 || pass = 111; 也行
select * from users where id=1 && pass = 123456;

联合查询(多个语句查询)

复制代码
1、前后相互独立,前面查询的语句和后面的查询语句,结果互不干扰!
2、前面的查询语句的字段数量 和 后面的查询语句的数量要保持一致
但是首行的字段名,是第一个的字段名
不能前面2个,后面3个

order by(排序)

复制代码
select * from users order by id; 默认是降序(desc),asc(升序)
作用是猜解表的字段/列数
select * from users order by 可以写1、2、3、4、...;
order by 后面的数字是表的字段数,第几列
当order by 1没有报错说明有1个字段
当order by 2报错说明没有2个字段
这样就可以知道表中有多少个字段

系统数据库

复制代码
默认是数据库系统自带的
高版本自带系统库,而5.0以下的版本不带系统库
在MySQL5.5才开始新增一个数据库

information_schema

复制代码
共有61张表,其中三张表
1.schemata:保存当前MySQL整个服务器所有的的数据库信息,库名
2.tables:保存当前整个服务器所有的数据表的信息 表名
3.columns:保存当前整个服务器所有的字段的信息 列名
常用参数
复制代码
tables          表
table_name      表名
columns         列
column_name     列名
scheam_name     库名
schemata        
相关推荐
数据库小组8 小时前
2026 年,MySQL 到 SelectDB 同步为何更关注实时、可观测与可校验?
数据库·mysql·数据库管理工具·数据同步·ninedata·selectdb·迁移工具
华科易迅8 小时前
MybatisPlus增删改查操作
android·java·数据库
Kethy__8 小时前
计算机中级-数据库系统工程师-计算机体系结构与存储系统
大数据·数据库·数据库系统工程师·计算机中级
SHoM SSER8 小时前
MySQL 数据库连接池爆满问题排查与解决
android·数据库·mysql
熬夜的咕噜猫9 小时前
MySQL备份与恢复
数据库·oracle
jnrjian9 小时前
recover database using backup controlfile until cancel 假recover,真一致
数据库·oracle
lifewange9 小时前
java连接Mysql数据库
java·数据库·mysql
大妮哟10 小时前
postgresql数据库日志量异常原因排查
数据库·postgresql·oracle
还是做不到嘛\.11 小时前
Dvwa靶场-SQL Injection (Blind)-基于sqlmap
数据库·sql·web安全
不写八个11 小时前
PHP教程004:php链接mysql数据库
数据库·mysql·php