本篇文章给大家带来了关于SQL的相关知识,其中主要介绍了常见的SQL注入类型的介绍以及原理讲解,包括了联合注入、布尔盲注、时间注入、报错注入等等内容,下面一起来看一下,希望对大家有帮助。
Mysql安装
这里我们直接使用phpstudy集成环境中的mysql
Mysql常用命令
(1)mysql本地连接
参数 说明
-h 表示数据库连接地址,连接本机可不填,直接mysql -uroot -p
-u 表示要登录的用户
-p 表示使用密码登录
默认账/密:root/root
注:登录mysql时,-p后面不能有空格加密码,但-p空格,后面不加值是可以的
(2)查看所有数据库
(3)使用数据库,注意sql语句后面要加分号
1 |
|
(4)查看当前数据库中的表
1 |
|
(5)查看表中字段结构,不爆出内容
1 |
|
(6)查看表中所有字段及内容(前提已经use了数据库)
1 |
|
(7)向指定目录,如C:\WWW目录中写入peak.php一句话木马
1 |
|
或
1 |
|
注:
要使用两个\,两个\到目标服务器后变为一个\,若使用C:\WWW\peak.php,执行后会在MYSQL\data目录下生成WWWpeak.php文件,不是指定目录
另外,使用Hex编码时,不要加""了
(8)创建数据库
1 |
|
(9)删除数据库
1 |
|
(10)清空表
1 |
|
(11)修改root密码
1 |
|
之后输入原密码,即会修改成功
(12)查询当前数据库所在目录
1 |
|
(13)创建数据库
1 |
|
(14)创建表
1 |
|
(15)创建字段
1 |
|
(16)删除表中数据
1 |
|
sql-labs环境搭建
靶场环境:
https://github.com/Audi-1/sqli-labs
SQL注入原理
什么是SQL注入?
SQL注入,是指攻击者通过注入恶意的SQL命令,破坏SQL查询语句的结构,从而达到执行恶意SQL语句的目的。SQL注入漏洞的危害是巨大的,常常会导致整个数据库被"脱裤"。尽管如此,SQL注入仍是现在最常见的Web漏洞之一
SQL注入步骤
(1)判断是否存在注入,注入是字符型还是数字型
(2)猜解SQL查询语句中的字段数
(3)判断哪些位置字段可以注入利用
(4)查询数据库(当前使用数据库或所有数据库)
(5)查询指定数据库中的表
(6)查询指定表中的字段名
(7)查询表中字段的值