将Web入侵消灭在萌芽中—预防SQL注入

互联网 | 编辑: 杨剑锋 2009-10-09 00:00:00原创-特约 一键看全文

认识SQL注入攻击

国家互联网应急中心CN-SA09-08号安全公告:8月11日,CNCERT监测发现国内某三家大型门户网站存在挂马页面。用户在没有做好系统防护的情况下访问相关页面,浏览器就会自动下载恶意代码在计算机上执行,这不仅可能造成用户敏感数据失窃,也有可能形成大规模僵尸网络,严重威胁互联网运行安全。截至8月12日12时,部分网站的挂马页面仍然存在。

据CNNIC中国互联网络信息中心2009年7月16日发布的《第24次中国互联网络发展状况调查统计报告》中显示,我国共有网民数量3.38亿人,网站数量306.1万个,半年内有1.95亿网民在上网过程中遇到过病毒和木马的攻击,1.1亿网民遇到过账号或密码被盗的问题。

随着B/S模式应用开发的发展,使用这种模式编写应用程序的程序员也越来越多。但是由于程序员的水平及经验也参差不齐,相当大一部分程序员在编写代码的时候,没有对用户输入数据的合法性进行判断,使应用程序存在安全隐患。所谓SQL注入,就是通过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令,比如先前的很多影视网站泄露VIP会员密码大多就是通过Web表单递交查询字符暴出的,这类表单特别容易受到SQL注入式攻击。

当应用程序使用输入内容来构造动态sql语句以访问数据库时,会发生sql注入攻击。如果代码使用存储过程,而这些存储过程作为包含未筛选的用户输入的字符串来传递,也会发生sql注入。sql注入可能导致攻击者使用应用程序登陆在数据库中执行命令。如果应用程序使用特权过高的账户连接到数据库,这种问题会变得很严重。而许多网站程序在编写时,没有对用户输入的合法性进行判断或者程序中本身的变量处理不当,使应用程序存在安全隐患。这样,用户就可以提交一段数据库查询的代码,根据程序返回的结果,获得一些敏感的信息或者控制整个服务器,于是sql注入就发生了。由于应用系统的开发语言及所采用的数据库不同,通过利用数据自身的相关函数和存储过程,又可能导致攻击者进行执行命令、读写文件等非法操作,对Web应用安全的影响十分巨大。

SQL注入攻击原理本身非常简单,相关攻击工具容易下载,攻击者获得权限后有利可图,它作为几年来攻击者最有效Web入侵入手点,是众多网站成为恶意代码传播平台的起因之一。

针对这一攻击手段,联想网御安全专家认为,最根本的措施是对Web应用用户的输入进行过滤。并针对于Web应用的基本特性,对Web应用的整体安全工作提出以下具体措施:

提示:试试键盘 “← →” 可以实现快速翻页 

总共 3 页123
一键看全文

本文导航

相关阅读

每日精选

点击查看更多

首页 手机 数码相机 笔记本 游戏 DIY硬件 硬件外设 办公中心 数字家电 平板电脑