SQL注入原理详细分析
发布时间:2007-10-25 00:03:00
1、什么是SQL注入
随着B/S模式应用开发的发展,使得使用这种模式编写应用程序的程序员也越来越多。但是由于这个行业的入门门槛不高,程序员的水平及经验也参差不齐,相当大一部分程序员在编写代码的时候,没有对用户输入数据的合法性进行判断,使应用程序存在安全隐患。攻击者可以通过互联网的输入区域,利用某些特殊构造的SQL语句插入SQL的特殊字符和指令,提交一段数据库查询代码(一般是在浏览器地址栏进行,通过正常的www端口访问),操纵执行后端的DBMS查询并获得本不为用户所知数据的技术,也就是SQL Injection(SQL注入)。
SQL注入是从正常的WWW端口通过对页面请求访问,而且表面看起来跟一般的Web页面访问没什么区别,所以目前市面的防火墙很少会对SQL注入发出警报,如果管理员没查看IIS日志的习惯,可能被入侵很长时间都不会发觉。
SQL注入的手法相当灵活,可以根据具体情况进行分析,构造巧妙的SQL语句,从而获取想要的数据。
程序存在SQL注入,追其原因,是因为代码或者编码的不完善。但说到底,是程序员的惰性。代码的不完善,往往是因为在程序编写的过程中,没有考虑到代码的健壮性及安全性的结果,就国内现状来看,大多数网站使用的脚本语言,用ASP+Access或SQLServer的占70%以上,PHP+MySQL占20%,其他的不足10%,并且因为开发者水平的参差不齐,代码编写的过程考虑不够周全,程序代码的安全性值得怀疑,而程序脚本被注入也成为必然。
当然,程序运行环境的先天缺陷也是人为的,这种现象无法完全杜绝避免。从攻击者的角度来看,使用SQL注入能够避免绝大多数防火墙的防御,不留攻击痕迹,攻击手法多种多样,因此才会导致SQL注入攻击手段的兴起。
2、SQL注入的原理及分类
SQL-Injection的原理
SQL是一种用于关系数据库的结构化查询语言。它分为许多种,但大多数都松散地基于美国国家标准化组织最新的标准SQL-92。SQL语言可以修改数据库结构和操作数据库内容。当一个攻击者能够通过往查询中插入一系列的SQL操作数据写入到应用程序中去,并对数据库实施了查询,这时就已经构成了SQL-Injection。
SQL-Injection的分类
由于SQL-injection攻击出要发生在B/S结构的应用程序上,而这些程序大部分都属于互联网的web站点,在这种情况下SQL-Injection同样需要遵循HTTP协议,形成了两种分类: POST方式注入和GET方式注入
猜你喜欢
- 我是一名老站长,但是我不是年龄老,而是我接触这一行已经快7个年头。本身也是可以和HAO123,9FLASH平起平坐的。可是由于自己的不坚定,
- 如果你经常上网,想必对代表90后特点的火星文多少有些了解。因为现在的网络上,无论是论坛、游戏还是QQ签名里,到处都可看到这些让人有点头晕目眩
- 7.网站经常无法访问也许你拥有最好的网页内容,最好的网络服务,但是如果你的网站因为各种原因经常无法访问,或者访问速度很慢,那么,你拥有的用户
- 域名:GoDaddy是世界第一大域名注册商,域名的附加服务很多,有blog,Email,email指向,停放页,出售页面等。而且可以很方便的
- Windows Server 2008 R2是微软服务器操作系统的下一代版本,功能和特性上都基于现有的Windows Server 2008
- LuManager(LUM)是基于FreeBSD、Zijidelu、Debian、Centos、Ubuntu等Linux/Unix系统的网站
- 很多发布商可能已经阅读了我们之前发布的有关AdSense 推介计划更新的文章。在发布这一消息以后,我们收到了很多发布商的反馈意见,在慎重考虑
- LAMP(Linux-Apache-MySQL-PHP)网站架构是目前国际流行的Web框架,该框架包括:Linux操作系统,Apache网络
- 11月14日国际报道 如果你在Google搜索列输入"Matt"一字,最先出现的结果不会是明星演员Matt Damon或
- 站长朋友们在使用CMS建站的过程中有时候少不了要做一些供用户填写信息的表单,如果是单独去写程序去实现又显得小提大作,或者也显得麻烦,需要创建
- 公司目前有一台服务器,网络环境太高,那台服务器和源服务器连接下载,就跑到400M-500M,为了控制一下,所以研究了一下TC,来做流量控制。
- 同Web站点一样,用户也可以使用多种方法来管理FTP站点服务器。例如:设置FTP站点服务器的虚拟目录的访问权限、设置匿名访问、创建用户账户等
- 国内的英文站长们经常遇到要用国内中文版的cms或论坛、博客来搭建英文网站,可是很多程序由于是针对国内用户设计的,所以并没有官方的英文版,如e
- 随着时代的发展,目前的智能手机无论从功能还配置都已经接近甚至超越一台小型的掌上电脑了,而就从目前的发展趋势来看,手机超越上网本是迟早的事,人
- 以下是一些来自专业机构研究结果的窍门,希望可以为改进你的网站设计提供些意见:1.对比图像,文字更具吸引力与你所认为的相反,在浏览一个网站的时
- 昨天,Google黑板报贴出了《Google搜索引擎优化初学者指南》的文章,给“SEO 初学者,我应该怎样改进我的网站?
- 从7月16日开始,国内部分地区用户(主要是西安电信和部分地区联通用户)向我反映,无法访问我的博客,经过我的测试排查发现,原因是部分地区的电信
- 一、使用 mod_vhost_alias1、简单的动态虚拟主机# 从 Host: 头中取得服务器名字 Server NameUseCanon
- 创建站点地图有两种类型的站点地图:传统站点地图和搜索引擎站点地图。两者都很容易加入到Web站点中。传统站点地图可以作为其他HTML网页创建,
- 今年开始,godaddy陆续发布了主机管理的一些新功能,主要的总结如下:1.Windows主机支持压缩和解压缩可以直接在控制面板中压缩和解压