一.基础sql语法知识
SELECT
查询信息
- SELECT * FROM TABLES 查询表中所有列
- SELECT COLUMN1,COLUMN2 FROM TABLES 查询表中具体的列
- SELECT DISTINCT COLUMN1 FROM TABLES 查询表中具体的列并删除重复信息
WHERE
提取满足指定条件的记录
Order by
对字段进行排序,在sql注入中用于判断回显位,如order by 3对三个字段排序,当只有两个字段时,就会报错
INSERT INTO
插入信息
INSERT INTO table_name(col1,col2) VALUES(val1,val2)
UPDATE
更新已经存在的信息
UPDATE table_name SET col1=val1 WHERE condition
DELETE
删除数据
DELETE FROM table_name WHERE condition
LIMIT
限制输出行数
LIMIT num1,num2
Num1表示从何处开始
Num2表示显示几段
UNION
联合查询
条件:1.构造的SELECT语句的字段数要和当前表的字段数相同才能联合查询,通过order by x找到列数
2.联合查询时,页面只会显示查询到数据的第一条,也就是UNION前的SELECT语句的结果,想要显示我们自己联合查询的结果时,还必须使前一条语句失效,故构造and 1=2,使前一条语句失效
二. sql中的函数与数据库
函数
- Database()查询数据库库名
- Version()查询数据库版本号
- User()查询数据库拥有者(mysql)
数据库
Information_schema(只读)
一.sql注入步骤
- 判断是否存在注入点
字符注入或者数字注入构造and 1=1/and 1=2,若有异常,可能存在注入点
2. 查询当前表的字段数
Order by x 判断字段数
3. 判断回显点
UNION SELECT 1,2,3 观察屏幕中出现的数字,判断回显点
4. 查询数据库库名
UNION SELECT 1,database(),3
标签:UNION,查询数据库,笔记,查询,sql,SELECT,注入 From: https://www.cnblogs.com/xiaoyaoguawang/p/17035092.html