SQL注入入门必备知识点

SQL注入入门

必备知识清单

1.认识中小型网站开发使用的数据库MYSQL(当然不限于此数据库,别的也类似)

MYSQL官方手册

2.了解基本的SQL语句

SQL语句学习

3.清楚sql中数据类型:三种:数字型,文本型,时间。(便于更清晰的理解闭合

4.SQL语句中的基本注释方式

@
#
—— —— (杠杠空格),空格 可等价 +   (例如—— —— + )
/ * ....*/
/ *!....* /   			;Mysql专属内敛注释,常用来绕过waf

5.了解mysql数据表的基本结构


6.MYSQL元数据库(5.0版本以下无元数据库数据结构)

元数据: 元数据(Metadata),又称中介数据、中继数据,为描述数据的数据(data about data),主要是描述数据属性(property)的信息,用来支持如指示存储位置、历史数据、资源查找、文件记录等功能。元数据库是按照数据结构来组织、存储和管理数据的数据的仓库。

数据结构组织方式:(元数据库 -> 数据库列表->表列表->字段列表->表内容)

information_schema(相当于包含数据库的一个数据库)
描述整个MySQL服务器有哪些数据库(schemata),每个数据有哪些表(tables),每个表有哪些字段(columns)。


(查库)
在information_schema下:
schemata表,提供了当前mysql实例中所有数据库的信息。


(查表)
tables表(所有数据库中所有表的名字),其中字段:table_name(表的名字)和table_schema(记录这张表所属的数据库名字)


(查列 | 字段)
columns表(存储所有字段的名字),其中字段colunm_name(存储字段名)和table_name(记录字段所属的表名)和table_schema(记录字段所属的数据库名字)

7.元数据库 -> 数据库列表->表列表->字段列表->表内容 (记住:也不用硬记,用多了也就自然记住了)

查库:select schema_name from information_schema . schemata
//schemata表中的 schema_name 字段为所有数据库名.

查表:select table_name from information_schema.tables where table_schema=‘test’
//查询test库下的所有表名

查字段:select column_name from information_schema.columns where table_name=‘user’
//查询user表中的所有字段列。

查字段内容:select username,password from databasetest.users
//查出数据库名为databasetest下的users表中的内容
注:采用<数据库名>.<表名>的标准格式来访问某个数据库下的表。

8.了解常用的 语法 和 函数等

order by [数字] //猜字段数列数

union select //先把前面的-1闭合掉,然后查询想要的数据,猜字段数列数(联合查询必须类型一致)

limit a,b //第a行下连续读b个字段

group_concat() //多行数据处理到一行

concat_ws() //多行数据格式化显示到一行

system_user() //系统用户名

user() //用户名

current_user() //当前用户名

database() //当前数据库名

version() //查看版本

@@datadir //查看sql安装路径

@@version_compile_os//查看安装sql的系统版本

9.聊聊注入核心关键:闭合

闭合目的: 破坏原先的SQL语句,使自己构造的语句能够实现执行。

这里直接分享个视频,易懂简洁
点击此处视频学习

熟悉了以上知识基本就可以找些靶场练手了。


实例

sqlab

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值