MySQL数据库以及SQL注入笔记
01 SQL注入概念
所谓SQL注入,就是通过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令。
02 首先学习MySQL数据库的一些基本操作
1)创建(CREATE)
create 创建数据库 CREATE DATABASE 数据库名;
创建数据表CREATE TABLE table_name (column_name column_type);
2)删除(DROP)
drop 命令删除数据库drop database <数据库名>;
删除数据表 DROP TABLE table_name ;
3)显示(show)
显示所有数据库SHOW DATABASES;
显示部分数据库show databases like 匹配模式
显示数据库创建语句SHOW CREATE DATABASE 数据库名;
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”
。
修改里面的用户名和密码
<?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”以创建数据库,创建表并填充数据。
打开Setup/reset Database for labs
出现如下图,就说明配置好了
向下就可以看到我们的练习题
分为基本SQL注入、高级SQL注入、SQL堆叠注入、挑战四个部份,总共约75个SQL注入漏洞。
转载;练习闯关指南:https://blog.csdn.net/sdb5858874/article/details/80727555
上一篇: BUUCTF之[强网杯 2019]随便注write up
下一篇: 【BUUCTF】MISC [安洵杯 2019]Attack + mimikatz 获取 Administrator の Password
推荐阅读
-
批量替换sqlserver数据库挂马字段并防范sql注入攻击的代码
-
MySQL 数据库设计复习笔记及项目实战
-
JSP连接MySql/MS SQL Server/Oracle数据库连接方法[整理]
-
sql注入数据库修复的两种实例方法
-
SQL数据库的高级sql注入的一些知识
-
SQL学习笔记之 数据库基础(一)
-
Java面试题解析之判断以及防止SQL注入
-
使用数据库客户端工具Oracle SQL Developer加载第三方驱动连接mysql的方法
-
SQL Server数据库损坏检测以及SQL Server数据库修复的解决方法
-
如何利用percona-toolkit工具检查MySQL数据库主从一致性以及修复