浦东网警
SQL,全称StructuredQueryLanguage
译为结构化查询语言
是一种特殊目的的编程语言
是一种数据库查询和程序设计语言
SQL语言的主要功能是
同各种数据库建立联系,进行沟通
这一期基础网络攻防
我们的谈谈SQL注入攻击
01
什么是SQL注入?
SQL注入是黑客
对数据库进行攻击的常用手段之一
随着B/S模式应用开发的发展,使用这种模式编写应用程序的程序员也越来越多。但是由于程序员的水平及经验也参差不齐,相当大一部分程序员在编写代码的时候,没有对用户输入数据的合法性进行判断,使应用程序存在安全隐患。不法分子可以提交一段数据库查询代码,根据程序返回的结果,获得某些他想得知的数据,这就是所谓的SQLInjection,即SQL注入。
年多家影视网站被曝会员信息泄露便是通过提交数据库查询代码获取的。
02
SQL注入原理
不法分子可以在参数中写入SQL语法,破坏原有SQL结构,达到编写程序时意料之外结果的攻击行为,成因可以归结为以下两个原因叠加造成的:
①程序编写者在处理应用程序和数据库交互时,使用字符串拼接的方式构造SQL语句。
②未对用户可控参数进行足够的过滤便将参数内容拼接进入到SQL查询语句中。
03
SQL注入的产生原因
根据技术原理来看,SQL注入的产生原因通常表现在以下几方面:
①不当的类型处理;
②不安全的数据库配置;
③不合理的查询集处理;
④不当的错误处理;
⑤转义字符处理不合适;
⑥多个提交处理不当。
04
SQL注入攻击实施
SQL注入攻击通过构建特殊的输入作为参数传入Web应用程序,而这些输入大都是SQL语法里的一些组合,通过执行SQL语句进而执行攻击者所要的操作。程序没有细致地过滤用户输入的数据是导致非法数据侵入系统的主要原因。
SQL注入攻击会导致出现拖库、撞库等数据库安全风险。它是数据库安全攻击手段之一,可以通过数据库安全防护技术实现有效的防护。
拖库是指黑客盗取了网站的数据库。
撞库是指黑客用拖库获得的用户名和密码在其它网站批量尝试登陆,进而盗取更有价值的东西。
05
SQL注入的危害
1
数据库信息泄漏
数据库中存放的用户的隐私信息的泄露。
2
网页篡改
通过操作数据库对特定网页进行篡改。
3
网站被挂马,传播恶意软件
修改数据库一些字段的值,嵌入网马链接,进行挂马攻击。
4
数据库被恶意操作
数据库服务器被攻击,数据库的系统管理员帐户被窜改。
5
服务器被远程控制,被安装后门
经由数据库服务器提供的操作系统支持,让黑客得以修改或控制操作系统。
6
破坏硬盘数据,瘫痪全系统。
06
SQL注入检测
如何判断有没有被SQL注入漏洞,通常有以下方法:
单引号判断法
在参数后面加上单引号,比如: