有效预防SQL注入攻击的六脉神剑
据CNNIC中国互联网络信息中心2009年7月16日发布的《第24次中国互联网络发展状况调查统计报告》中显示,我国共有网民数量3.38亿 人,网站数量306.1万个,半年内有1.95亿网民在上网过程中遇到过病毒和木马的攻击,1.1亿网民遇到过账号或密码被盗的问题。而据多种调查显示,目前SQL注入攻击是造成上述严重情况的根本原因之一,也是黑客对数据库进行攻击的常用手段之一。随着B/S模式应用开发的发 展,使用这种模式编写应用程序的程序员也越来越多。但是由于程序员的水平及经验也参差不齐,相当大一部分程序员在编写代码的时候,没有对用户输入数据的合 法性进行判断,使应用程序存在安全隐患,这也给黑客带来很多可乘之机。
其实,SQL注入之所以会造成严重后果而不被防火墙所发现,是因为这种攻击方式是从正常的WWW端口访问,而且表面看起来跟一般的Web页面访问没 什么区别,所以目前市面的防火墙都不会对SQL注入发出警报,如果管理员没查看IIS日志的习惯,可能被入侵很长时间都不会发觉。
而正是因为SQL注入攻击原理本身非常简单的原因,才使得相关攻击工具容易下载,成为近年来攻击者最有效Web入侵入手段。针对这一攻击手段,联想网御的安全专家倾囊传授广大51CTO读者“预防SQL注入攻击的六脉神剑”:
1、Web应用安全评估:结合应用的开发周期,通过安全扫描、人工检查、渗透测试、代码审计、架构分析等方法,全面的发现Web应用本身的脆弱性及系统架构导致的安全问题。应用程序的安全问题可能是软件生命周期的各个阶段产生的,其各个阶段可能会影响系统安全的要点主要有:
Web应用常见安全要点及其产生阶段
图:Web应用常见安全要点及其产生阶段
而对应用程序本身在评估过程中可以参考OWASP TOP TEN 2007年最新版本,重点检查以下内容:
序号
内容
说明
1
跨站脚本漏洞 Web应用程序直接将来自使用者的执行请求送回浏览器执行,使得攻击者可获取使用者的Cookie或Session信息而直接以使用者身份登陆
2
注入类问题 Web应用程序执行在将用户输入变为命令或查询语句的一部分时没有做过滤,SQL 注入, 命令注入等攻击包括在内
3
任意文件执行 Web应用程序引入来自外部的恶意文件并执行
4
不安全的对象直接引用 攻击者利用Web应用程序本身的文件操作功能读取系统上任意文件或重要资料
5
跨站请求截断攻击 已登入Web应用程序的合法使用者执行恶意的HTTP指令,但Web应用程式却当成合法需求处理,使得恶意指令被正常执行
6
信息泄露 Web应用程序的执行错误信息中包含敏感资料,可能包括系统文件路径,内部IP地址等
7
用户验证和Session管理缺陷 Web应用程序中自行撰写的身份验证相关功能有缺陷
8
不安全的加密存储 Web应用程序没有对敏感性资料使用加密、使用较弱的加密演算法或将密钥储存于容易被获取之处
9
不安全的通信 Web应用经常在需要传输敏感信息时没有使用加密协议
10
没有对URL路径进行限制 某些网页因为没有权限控制,使得攻击者可透过网址直接存取
学习了 不错 感谢楼主分享,辛苦了,{:soso_e113:} 感谢楼主分享,辛苦了,{:soso_e113:} 谢谢分享了
页:
[1]