sql注入数据库原理详情介绍

目录 1 介绍 2 一般步骤 3 注入 3 函数 3.1 常用的系统函数 3.2 字符串连接函数 3.2.1 concat() 函数 3.2.2 concat_ws() 函数 3.2.3 group_concat() 函数 4 注入 4.1 联合查询 union 注入 4.2 information_schema 注入

                        目录1 介绍2 一般步骤3 注入3 函数3.1 常用的系统函数3.2 字符串连接函数3.2.1 concat() 函数3.2.2 concat_ws() 函数3.2.3 group_concat() 函数4 注入4.1 联合查询 union 注入4.2 information_schema 注入5.2.1 获取所有数据库4.2.2 获取指定数据库的表4.2.3 获取指定表的字段名4.2.4 获取字段值得内容4.3 基于报错信息注入4.3.1 三个常用报错函数4.4 数字注入4.5 搜索注入5 sql注入防御<p></p>

1 介绍

SQL注入漏洞主要是由于,在请求的时候没有做严格的过滤,导致传入的语句被当做SQL语句被执行,从而导致数据库受损(被脱库、删除、甚至数据付权限沦陷)

2 一般步骤

SQL注入点探测:

判断什么地方存在SQL注入点,通常在表单,文章查询等与数据库有关操作的页面。

收集后台数据库信息:

不同的数据库的注入方法、函数各不相同,因此注入前要判断数据库的类型。

如:

特殊字符、单引号:让数据库返回错误

函数:

version()函数:MSQL专用

1 and version()>0

猜测用户名和密码:

表名、字段名、字段数、用户名和密码。

查找 Web 后台管理入口:

可以使用 目录扫描工具

入侵and破坏:

登录后台:上传木马、篡改网页、窃取信息。进一步提权:入侵Web服务器和数据库服务器。

3 注入

测试数据;

+---------------+----------------------------------+ | isbn | title | +---------------+----------------------------------+ | 9787302458210 | SQL Server 从入门到精通(第2版) | | 9787115496003 | 虚拟化技术应用与实践 | | 9787302510109 | 算法设计与分析(第4版) | | 9787503442490 | 心灵密码 | | 9787503421884 | 雪狼 | | 9787539635835 | 龙头老太 | +---------------+----------------------------------+

3 函数

3.1 常用的系统函数

函数作用 version() MySQL版本 user() 数据库用户名 database() 数据库名 @@datadir 数据库路径 @@version_complie_os 操作系统版本

3.2 字符串连接函数

三大法宝:concat(),group_concat(),concat_ws()