- 第一章 概述
- 第一节 简介
- 第二章 SQL 注入基础
- 第一节 漏洞原理
- 第二节 注入点可能存在的位置
- 第三节 漏洞危害
- 第三章 SQL注入分类
- 第四章 MYSQL 相关
- 第一节 注释
- 第二节 mysql 元数据库数据库information_schema
- 第三节 MYSQL 常用函数与参数
- 第四节 逻辑运算
- 第五章 注入流程
- 第一节 SQL 注入思路
- 第二节 注入点判断
- 第三节 联合查询
- 第四节 报错注入
- 第五节 布尔盲注
- 第六节 延时注入
- 第七节 读写文件
- 第八节 宽字节注入
- 第九节 Cookie 注入
- 第十节 base64 注入
- 第十一节 HTTP 头部注入
- 第六章 自动化注入
- 第一节 半自动化注入--burp
- 第二节 全自动--sqlmap
- 第三节 sqllib案例
结构化查询语言(Structured Query Language,缩写:SQL),是一种特殊的编程语言,用于数据库中的标准数据查询语言
。1986年10月,美国国家标准学会对SQL进行规范后,以此作为关系式数据库管理系统 MYSQL ACCESS MSSQL orcale
明显的层次结构
库名|表名|字段名|字段内容
的标准语言(ANSI X3. 135-1986),1987年得到国际标准组织的支持下成为国际标准。不过各种通行的数据库系统在其实践过程中都对SQL规范作了某些编改和扩充。所以,实际上不同数据库系统之间的SQL不能完全相互通用。 SQL注入(SQL Injection)是一种常见的Web安全漏洞
,攻击者利用这个漏洞,可以访问或修改数据,或者利用潜在的数据库漏洞进行攻击
。
针对SQL注入的攻击行为可描述为通过用户可控参数中注入SQL语法,破坏原有SQL结构,达到编写程序时意料之外结果的攻击行为。 其成因可以归结外以下两个原因叠加造成的:
程序编写者在处理程序和数据库交互时,使用字符串拼接的方式构造SQL语句。
未对用户可控参数进行足够的过滤便将参数内容拼接进入到SQL语句中。
第二节 注入点可能存在的位置
根据SQL 注入漏洞的原理,在用户“可控参数”中注入SQL 语法,也就是说Web 应用在获取用户数据的地方,只要带入数据库查询,都有存在SQL 注入的可能
,这些地方通常包括:
GET 数据
POST 数据
HTTP 头部(HTTP 请求报文其他字段)
Cookie 数据
第三节 漏洞危害
攻击者利用SQL注入漏洞,可以获取数据库中的多种信息(例如:管理员后台密码),从而脱取数据库中内容(脱库)。 在特别情况下还可以修改数据库内容或者插入内容到数据库,如果数据库权限分配存在问题,或者数据库本身存在缺陷,那么攻击者可以通过SQL注入漏洞直接获取webshell或者服务器系统权限
。
SQL 注入漏洞根据不同的标准,有不同的分类。 但是从数据类型
分类来看,SQL 注入分为数字型和字符型
。
数字型注入
就是说注入点的数据,拼接到SQL 语句中是以数字型出现的,即数据两边没有被单引号、双引号包括。 字符型注入
正好相反。
根据注入手法分类,大致可分为以下几个类别。
注入分类简称UNION query SQL injection(可联合查询注入)联合查询Error-based SQL injection(报错型注入)报错注入Boolean-based blind SQL injection(布尔型注入)布尔盲注Time-based blind SQL injection(基于时间延迟注入)延时注入Stacked queries SQL injection(可多语句查询注入)堆叠查询 第四章 MYSQL 相关 第一节 注释mysql 数据库的注释大概有以下几种:
#
-- (杠杠空格)
/* ..... */
/*! .... */ 内联查询
第二节 mysql 元数据库数据库information_schema
information_schema
|
+-- tables
| |
| `-- table_name
| |
| `-- table_schema
|
`-- columns
|
`-- column_name
|
`-- table_name
|
`-- table_schema
第三节 MYSQL 常用函数与参数
函数含义= > >=
最近更新
- 深拷贝和浅拷贝的区别(重点)
- 【Vue】走进Vue框架世界
- 【云服务器】项目部署—搭建网站—vue电商后台管理系统
- 【React介绍】 一文带你深入React
- 【React】React组件实例的三大属性之state,props,refs(你学废了吗)
- 【脚手架VueCLI】从零开始,创建一个VUE项目
- 【React】深入理解React组件生命周期----图文详解(含代码)
- 【React】DOM的Diffing算法是什么?以及DOM中key的作用----经典面试题
- 【React】1_使用React脚手架创建项目步骤--------详解(含项目结构说明)
- 【React】2_如何使用react脚手架写一个简单的页面?