欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

MySQL数据库以及SQL注入笔记

程序员文章站 2022-05-14 08:46:21
...

01 SQL注入概念

所谓SQL注入,就是通过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令。

02 首先学习MySQL数据库的一些基本操作

1)创建(CREATE)

create 创建数据库 CREATE DATABASE 数据库名;

MySQL数据库以及SQL注入笔记

创建数据表CREATE TABLE table_name (column_name column_type);

2)删除(DROP)

drop 命令删除数据库drop database <数据库名>;

MySQL数据库以及SQL注入笔记

删除数据表 DROP TABLE table_name ;

3)显示(show)

显示所有数据库SHOW DATABASES;

MySQL数据库以及SQL注入笔记
显示部分数据库show databases like 匹配模式

显示数据库创建语句SHOW CREATE DATABASE 数据库名;

MySQL数据库以及SQL注入笔记

4)添加(insert)

添加数据 INSERT INTO table_name ( field1, field2,...fieldN ) VALUES ( value1, value2,...valueN );

5)查询(select)

查询所有数据表 select * from 数据表

03 SQL注入学习

1)SQLi-Labs下载

SQLi-Labs是一个专业的SQL注入练习平台,适用于GET和POST场景

下载环境:https://github.com/Audi-1/sqli-labs

了解都有哪几种注入方式

   1、基于错误的注入(Union Select)

字符串

整数

2、基于误差的注入(双查询注入)

3、盲注入(01、基于Boolian数据类型注入, 02、基于时间注入)

4、更新查询注入(update )

5、插入查询注入(insert )

6、Header头部注入(01、基于Referer注入, 02、基于UserAgent注入,03、基于cookie注入)

7、二阶注入,也可叫二次注入

8、绕过WAF

绕过黑名单\过滤器\剥离\注释剥离 OR&AND 剥离空格和注释剥离 UNION和SELECT

隐瞒不匹配

9、绕过addslashes()函数

10、绕过mysql_real_escape_string()函数(在特殊条件下)

11、堆叠注入(堆查询注入)

12、二级通道提取

2)SQLi-Labs 安装

在安装前,需要做一个准备工作,我们先去做一个PHP+Mysql的环境搭建。

1、下载、安装、启动phpstudy(www.phpstudy.net)。

phpStudy是一个PHP调试环境的程序集成包。恰好我们可以用到"PHP+Mysql+Apache"。

2、将下载的 SQLi-Labs.zip 解压到phpstudy网站根目录下。

例如:我这解压后的路径是“F:\phpStudy\WWW\sqli-labs”

3、修改 db-creds.inc 里代码如下:

例如:我的配置文件路径是“F:\phpStudy\WWW\sqli-labs\sql-connections”

MySQL数据库以及SQL注入笔记
修改里面的用户名和密码

<?php
//give your mysql connection username n password
$dbuser ='root';
$dbpass ='root';
$dbname ="security";
$host = 'localhost';
$dbname1 = "challenges";

因为phpstudy默认的mysql数据库地址是“127.0.0.1 或 localhost",用户名和密码都是"root"。主要是修改’$dbpass‘为root,这里很重要,修改后自然是需要保存文件的,这个不用说相信大家也能知道。

浏览器打开“http://127.0.0.1/sqli-labs/”访问首页,并点击“Setup/reset Database”以创建数据库,创建表并填充数据。

MySQL数据库以及SQL注入笔记
MySQL数据库以及SQL注入笔记
打开Setup/reset Database for labs出现如下图,就说明配置好了

MySQL数据库以及SQL注入笔记
向下就可以看到我们的练习题

MySQL数据库以及SQL注入笔记
分为基本SQL注入、高级SQL注入、SQL堆叠注入、挑战四个部份,总共约75个SQL注入漏洞。

转载;练习闯关指南:https://blog.csdn.net/sdb5858874/article/details/80727555

相关标签: CTFWeb mysql