1.前言
在当今的数字世界中,人们发现在维持公开的Internet连接的同时,保护网络和计算机系统的安全变得越来越困难。病毒、木马、后门、蠕虫等攻击层出不穷,虚假网站的钓鱼行为也让警惕性不高的公众深受其害,而Web这一块,首当其冲的就是SQL注入(SQL Injection)
2.什么是数据库(SQL)
比如我们手机里的电话簿,里面存放了各种各样的数据(联系人名字和号码啊) 这时,电话簿就相当于一个数据库.而网站呢,也是这个道理,只不过,它的数据库是软件(容器)
3.数据库的分类
数据库主要分为四种:
Access数据库,通常和asp语言一起开发网站,通常小型网站使用
Mysql数据库,通常和php一起开发,中小型网站使用,不过,现在已经有很多大型网站在使用它了,最为广泛
Sql server数据库,通常和aspx语言一起开发,中小型网站使用
Oracle数据库,通常和jsp语言一起开发网站,大型网站使用
4.网站为什么要使用数据库
由于网站在实际使用中,为了管理庞大的数据信息,就会使用到数据库.数据库可以方便网站对所有数据信息进行统一的存储和分类组织,便于查询更新.用户在使用网站时,网站可以自动通过对数据库的查询,将所获得的信息按照一定格式反馈给用户,同时用户也是通过交互式的对话框,输入框提交给网站数据,从而使网站里的程序按照用户想要的信息进行查询,反馈给用户想要的信息
5.SQL注入漏洞产生的因素
随着B/S(browser/server,即浏览器和服务器)模式应用(web其实也是个应用)开发的发展,使用这种模式编写应用程序的程序员也越来越多。但是由于这个行业的入门门槛不高,程序员的水平及经验也参差不齐,相当大一部分程序员在编写代码的时候,没有对用户输入数据的合法性进行判断,使应用程序存在安全隐患。恶意用户可以提交一段数据库查询代码,根据程序返回的结果,获得某些他想得知的数据,这就是所谓的SQL Injection,即SQL注入。
6.SQL注入攻击的危害范围
数据库信息泄漏(管理员,用户信息等)
数据库被恶意操作
服务器被入侵