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方式注入
猜你喜欢
- 01. 命令概述md5sum - 计算检验MD5效验码md5sum命令采用MD5报文摘要算法(128位)计算和检查文件的校验和。一般来说,安
- 1.什么是FTP(文件传输协议)FILE TRANSFERPROTOCOL(FTP)意为文件传输协议,用于管理计算机之间的文件传送。FTP通
- 做GGad的先决条件,除了网站的质量与流量与外,我们还要学习的是GGad摆放的位置,这会直接影响到点击率。那GGad在网页广告位,我们如何有
- 实现需求最近在使用学校电脑时,经常遇到这么个场景:想下载个CodeBlocks用于coding或想下个vpt来玩会万智,但通过机房网络访问一
- 本人一个教学资源网站近日很是遭受了垃圾消息的侵扰,今天抽了点时间给留言本加了个验证码,希望能起作用,方法提供如下:(针对新云2.1版本)后台
- 今天很残酷,明天更残酷,后天很美好,但是大多数人死在明天晚上,看不到后天的太阳!从严格意义上来说,站长都属于创业团体,所以创业人员成功的典范
- 前段时间碰到一位牛B的人物,帮我修正了vsftpd基于PAM认证的问题.今天又碰到N个问题,比如Access denied. 和403错误,
- 有同学说搞wm是浪费时间,那我来发点有用的东西。一切关于linux和windows,cli和X的辩论请绕行。本系统由以下软件组成:getma
- 几乎还没有在心理上准备好,一下子就成了身价近十亿美元的富翁。李彦宏看着在纳斯达克飙升的股价,没有流泪,但是当他拨通了百度公司第一位员工——百
- 这个世界无奇不有,就连做网页都要拼个高低长短,当你上网百般无聊之际,不妨看一看网络中的世界之最吧!1.最宽网页你可曾想过,网站就是一道空白的
- 今天一个朋友问到Apache防盗链的效果以及破解Apache防盗链的问题,于是决定就写一写Apache的防盗链。找到Apache的配置文件,
- 最近在研究本站:www.seocompany.sh.cn 网站优化的时候,发现本站内容不足,于是决定采取增加BLOG的策略。但,天下之大,B
- 我是一个菜鸟站长。做站时间不长。满打满算,刚刚8个月,也想一些前辈说的一样,每天晚上12点以后睡觉。早上起来的第一件事情就是 去百度site
- 北京时间12月3日消息,据国外媒体报道,正在与美国最大的分类信息网站Craigslist对簿公堂的eBay周三表示,为从分类列表中获取更多营
- 1.SMTP是工作在两种情况下:一是电子邮件从客户机传输到服务器;二是从某一个服务器传输到另一个服务器2.SMTP是个请求/响应协议,命令和
- Windows系统目录是Windows操作系统的重要目录,当我们访问这个目录时,系统会提示你这个目录的重要性,如果需要进入,只需要单击&am
- SEO网站排名优化成为网络营销中不可忽视的力量,SEO成功制胜点在于链接。链接的初衷,目的很单纯,链接多半是为了用来介绍其它连接给访问者,所
- 问题一:百度如何看待伪原创?答:“伪原创”就是“非原创”。对非原创的策略,同样适用于伪原创。归根结底,这是一个技术实现程度问题,而不是策略思
- Linux中许多常用命令是必须掌握的,这里将我学linux入门时学的一些常用的基本命令分享给大家一下,希望可以帮助你们。这个是我将鸟哥书上的
- Centos8最小化部署安装OpenStack Ussuri的教程如下所示:#!/bin/bash#Centos8最小化部署安装OpenSt