数据库无论是前端、后端、渗透还是运输,从事计算机行业,都需要接触。说到网络安全,
它是我们不可避免的话题,SQL注入也是OWSAPTOP10中最大的安全风险。今天我们来归纳
一下接触SQL注入前需要知道的知识点。第一步,说到SQL注入,什么叫SQL:
SQL指的是结构化数据库语言,全称之为StructuredQueryLanguage。
SQL可以浏览和处理数据库。
SQL是ANSI(American
SQL评论。
以MySQL为例,第一步说明评论的方法,理解以下演示注入是如何发生的。#单行注释,同行
内#号后的内容不执行。(杠杆空格)也是单行注释,与#的用法相同。/*..*/多行注释...部分内容
不执行。网络程序中客户提交的主要参数没有过滤,直接连接到SQL语句中执行,主要参数
中的特殊符号损坏了SQL语句的原始结构,攻击者可以利用该脆弱性执行查询数据、下载数
据、网站发生漏洞的原因:
内#号后的内容不执行。(杠杆空格)也是单行注释,与#的用法相同。/*..*/多行注释...部分内容
不执行。网络程序中客户提交的主要参数没有过滤,直接连接到SQL语句中执行,主要参数
中的特殊符号损坏了SQL语句的原始结构,攻击者可以利用该脆弱性执行查询数据、下载数
据、网站发生漏洞的原因:
客户可以控制主要参数注入SQL语法,损坏原有SQL结构。程序技术员在处理程序和数据库
的信息交互时,使用文字串结构SQL语句。未充分过滤客户可以控制主要参数,将主要参数
内容连接到SQL句中。SQL注入脆弱性的危害:可以获得数据库中的各种信息(例如管理员的
背景密码),从而脱离库存。特殊情况下,您还可以将数据库内容修改或插入数据库。假如
数据库的管理权限划分有问题或数据库自身具有缺点,攻击者可以通过SQL注入漏洞直接
获得网络或服务器系统的管理权限。
的信息交互时,使用文字串结构SQL语句。未充分过滤客户可以控制主要参数,将主要参数
内容连接到SQL句中。SQL注入脆弱性的危害:可以获得数据库中的各种信息(例如管理员的
背景密码),从而脱离库存。特殊情况下,您还可以将数据库内容修改或插入数据库。假如
数据库的管理权限划分有问题或数据库自身具有缺点,攻击者可以通过SQL注入漏洞直接
获得网络或服务器系统的管理权限。
注入点可能具有的位置:
GET数据
POST数据
Cookie数据
HTTP头部(HTTP请求其他字段)
SQL注入类型的分类:
从数据类型分类来看,SQL注入分为数字型和文字型
数字数据两侧不包括单引号和双引号。例如,userid=3
字符类型正好相反,数据的两侧包括单引号、双引号。例如,username=admin