Web应用安全开发规范 V1.5
- 格式:doc
- 大小:1.66 MB
- 文档页数:39
DKBADKBA 2355-2009.7红黑联盟收集整理Web应用安全测试规范V1.22009年7月5日发布2009年7月5日实施版权所有侵权必究All rights reserved修订声明Revision declaration本规范拟制与解释部门:安全解决方案部电信网络与业务安全实验室、软件公司安全TMG、软件公司测试业务管理部本规范的相关系列规范或文件:《Web应用安全开发规范》相关国际规范或文件一致性:《0 WASP Testi ng Guide v3 》《信息安全技术信息安全风险评估指南》《In formatio n tech no logy Security tech niq ues Man ageme nt of in formatio n and com muni catio ns tech no logy security 》一ISO 13335替代或作废的其它规范或文件:无相关规范或文件的相互关系:目录Table of Contents1 概述 (7)1.1 背景简介 (7)1.2 适用读者 (7)1.3 适用范围 (7)1.4 安全测试在IPD流程中所处的位置 (8)1.5 安全测试与安全风险评估的关系说明 (8)1.6 注意事项 (9)1.7 测试用例级别说明 (9)2 测试过程示意图 (10)3 WEB安全测试规范 (11)3.1 自动化W EB漏洞扫描工具测试 (11)3.1.1 AppScan application 扫描测试 (12)3.1.2 AppScan Web Service 扫描测试 (13)3.2 服务器信息收集 (13)3.2.1 运行帐号权限测试 (13)3.2.2 Web服务器端口扫描 (14)3.2.3 HTTP方法测试 (14)3.2.4 HTTP PUT 方法测试 (15)3.2.5 HTTP DELETE 方法测试 (16)3.2.6 HTTP TRACE 方法测试 (17)3.2.7 HTTP MOVE 方法测试 (17)3.2.8 HTTP COPY 方法测试 (18)3.2.9 Web服务器版本信息收集 (18)3.3 文件、目录测试 (20)3.3.1 工具方式的敏感接口遍历 (20)3.3.2 Robots方式的敏感接口查找 (21)333 Web服务器的控制台 (22)334 目录列表测试 (23)3.3.5 文件归档测试 (26)3.4 认证测试 (26)3.4.1 验证码测试 (27)3.4.2 认证错误提示 (28)3.4.3 锁定策略测试 (28)3.4.4 认证绕过测试 (29)3.4.5 找回密码测试 (30)3.4.6 修改密码测试 (30)3.4.7 不安全的数据传输 (31)3.4.8 强口令策略测试 (32)3.5 会话管理测试 (34)3.5.1 身份信息维护方式测试 (34)3.5.2 Cookie存储方式测试 (34)3.5.3 用户注销登陆的方式测试 (35)3.5.4 注销时会话信息是否清除测试 (35)3.5.5 会话超时时间测试 (36)3.5.6 会话定置测试 (37)3.6 权限管理测试 (37)3.6.1 横向测试 (38)3.6.2 纵向测试 (40)3.7 文件上传下载测试 (45)3.7.1 文件上传测试 (45)3.7.2 文件下载测试 (46)3.8 信息泄漏测试 (47)3.8.1 连接数据库的帐号密码加密测试 (47)3.8.2 客户端源代码敏感信息测试 (48)3.8.3客户端源代码注释测试 (48)384 异常处理 (49)3.8.5 HappyAxis.jsp 页面测试 (50)3.8.6 Web服务器状态信息测试 (51)3.8.7 不安全的存储 (51)3.9 输入数据测试 (52)3.9.1 SQL注入测试 (52)3.9.2 MML语法注入 (54)3.9.3 命令执行测试 (54)3.10 跨站脚本攻击测试 (55)3.10.1 GET方式跨站脚本测试 (55)3.10.2 POST方式跨站脚本测试 (56)3.11 逻辑测试 (57)3.12 搜索引擎信息收集 (57)3.13 W EB S ERVICE 测试 (58)3.14 其他 (61)3.14.1 class文件反编译测试 (61)4 APPSCAN测试覆盖项说明 (62)5 附件 (63)5.1 本规范所涉及的测试工具 (63)Web安全测试规范缩略语清单缩略语全称CRLF\r\n回车换行LDAP Lightweight Directory Access Protocol 轻量级目录访问协议MML man-mach ine Ian guage 人机交互语言Sessio nID标志会话的IDWeb Service Web服务是一种面向服务的架构的技术,通过标准的Web协议提供服务,目的是保证不同平台的应用服务可以互操作。
网站WEB应用安全措施要求规范随着互联网的快速发展,Web应用安全越来越重要。
攻击者利用Web应用的漏洞来获取用户的敏感信息或者破坏系统的安全已经成为一种普遍现象。
为了保护网站的安全,必须采取一定的安全措施。
下面是一些常见的网站Web应用安全措施要求规范:1.输入验证:对于用户输入的数据,要进行有效的验证和过滤,防止恶意用户输入恶意代码或者执行攻击。
常见的验证包括长度验证、格式验证、数据类型验证等。
2. 跨站脚本攻击(XSS)防御:XSS是指攻击者通过在Web应用中注入恶意脚本来获取用户信息的一种攻击方式。
要防御XSS攻击,可以对用户输入进行过滤和编码,以及合理设置浏览器的安全相关头部。
3. SQL注入防御:SQL注入是指攻击者通过在Web应用中注入恶意SQL代码来获取敏感信息或者破坏数据库的一种攻击方式。
要防御SQL注入,可以使用参数化查询和绑定变量等方式来构建SQL查询。
4. 跨站请求伪造(CSRF)防御:CSRF是指攻击者通过在Web应用中伪造合法用户的请求来进行非法操作的一种攻击方式。
要防御CSRF攻击,可以使用Token验证、Referer验证等方式来确保请求的合法性。
6.认证和授权:对于涉及用户身份认证和权限控制的功能,必须采用安全的认证和授权机制,以防止非法用户获取权限。
7. 安全配置和漏洞修复:对于Web应用的服务器、数据库、操作系统等,要进行安全配置,关闭不必要的服务和端口,及时更新补丁和漏洞修复。
8. 安全日志和监控:要记录Web应用的安全事件和异常行为,及时监控和响应安全事件,以及进行安全事件的分析和溯源,以便及时发现和应对安全威胁。
9. 安全培训和意识:为所有开发人员、测试人员和维护人员提供相关的安全培训,提高他们对Web应用安全的意识和知识水平。
安全是一个团队的责任,每个人都要有安全意识。
10. 定期安全审计和测试:定期对Web应用进行安全审计和测试,发现和修复潜在的安全漏洞,提高Web应用的安全性。
网络应用程序安全开发规范一、引言随着互联网技术的飞速发展,网络应用程序的安全性愈发重要。
为了保护用户隐私和数据安全,开发人员需要遵循一系列严格的规范和标准来确保应用程序的安全性。
本文将介绍一些网络应用程序安全开发规范,以帮助开发人员提升应用程序的安全性。
二、认识网络应用程序安全在开发网络应用程序之前,首先需要认识网络应用程序的安全特点和风险。
网络应用程序的安全问题主要包括网络攻击、数据泄露、身份验证漏洞等。
开发人员应该在开发过程中时刻关注这些问题,并采取适当的预防措施。
三、安全开发流程1. 需求分析阶段在需求分析阶段,开发人员需要与业务方充分沟通,了解业务需求和安全要求。
确定网络应用程序的功能和架构,为后续的开发工作奠定基础。
2. 安全设计阶段在安全设计阶段,开发人员需要根据需求分析的结果,制定相应的安全设计方案。
包括用户身份验证、数据传输加密、访问控制等安全机制的设计。
3. 编码实现阶段在编码实现阶段,开发人员需要按照安全设计方案进行编码实现。
遵循编码规范,使用安全的编程语言、框架和库,以防止常见的安全漏洞,比如跨站脚本攻击(XSS)和SQL注入攻击。
4. 安全测试阶段在安全测试阶段,开发人员需要对应用程序进行全面的安全测试。
包括功能性测试、安全性测试、性能测试等。
测试结果和反馈将帮助开发人员修复潜在的漏洞和问题。
5. 上线和监测阶段在应用程序上线后,开发人员需要进行实时监测和日志分析,及时发现和响应安全事件。
并定期进行安全评估和渗透测试,以保证应用程序的持续安全性。
四、常见安全漏洞和防范措施1. 跨站脚本攻击(XSS)防范措施:- 对用户输入进行严格验证和过滤,避免恶意脚本的注入。
- 使用安全的浏览器API,如CSP(内容安全策略)。
- 对敏感数据进行适当的编码和解码,避免XSS攻击。
2. SQL注入攻击防范措施:- 使用参数化查询或预编译语句,避免拼接SQL语句。
- 对用户输入进行严格验证和过滤,避免恶意SQL语句的注入。
网络应用开发安全规范要求指南在当今数字化时代,网络应用已经成为人们生活和工作中不可或缺的一部分。
然而,随着网络应用的普及,安全问题也日益凸显。
为了保障用户的信息安全和网络应用的稳定运行,制定一套严格的网络应用开发安全规范要求指南至关重要。
一、前期规划与设计1、需求分析中的安全考虑在网络应用开发的初始阶段,进行全面的需求分析是必不可少的。
这不仅要涵盖功能需求,还应充分考虑安全需求。
例如,明确用户数据的敏感程度,确定应用所需的访问控制级别,以及预估可能面临的安全威胁等。
2、安全架构设计设计一个安全的架构是网络应用安全的基石。
采用分层架构,将前端展示、业务逻辑和数据存储分离,减少单点故障和潜在的安全风险。
同时,合理规划网络拓扑结构,设置防火墙、入侵检测系统等安全设备。
二、开发过程中的安全实践1、编程语言与框架的选择选择安全可靠的编程语言和框架能大大降低安全漏洞的出现概率。
例如,一些现代编程语言具有内置的安全特性,如内存安全检查和类型安全。
同时,使用经过广泛验证和维护的开发框架,能够减少因自行开发底层功能而引入的安全隐患。
2、输入验证与过滤用户输入是网络应用安全的一个重要风险点。
对所有用户输入的数据,包括表单提交、URL 参数、JSON 数据等,都要进行严格的验证和过滤。
防止恶意输入,如 SQL 注入、跨站脚本攻击(XSS)等。
3、密码存储与加密对于用户密码,绝不能以明文形式存储。
采用哈希加盐的方式对密码进行处理,并使用强加密算法。
同时,定期更新加密密钥,确保数据的保密性。
4、权限管理与访问控制实施精细的权限管理,确保用户只能访问其被授权的功能和数据。
采用基于角色的访问控制(RBAC)或基于属性的访问控制(ABAC)模型,根据用户的身份和属性来分配权限。
5、避免常见的安全漏洞开发人员要熟悉常见的安全漏洞,如缓冲区溢出、整数溢出、路径遍历等,并在开发过程中采取措施避免这些问题。
定期进行代码审查和安全测试,及时发现和修复潜在的漏洞。
DKBA华为技术有限公司内部技术规范DKBA 1606-XXXX.XWeb应用安全开发规范V1.52013年XX月XX日发布2013年XX月XX日实施华为技术有限公司Huawei Technologies Co., Ltd.版权所有侵权必究All rights reserved修订声明Revision declaration本规范拟制与解释部门:网络安全能力中心&电信软件与核心网网络安全工程部本规范的相关系列规范或文件:《C&C++语言安全编程规范》《Java语言安全编程规范》相关国际规范或文件一致性:无替代或作废的其它规范或文件:无相关规范或文件的相互关系:《产品网络安全红线》和《电信软件与核心网业务部安全能力基线》中的Web安全要求引用了本规范的内容,如果存在冲突,以本规范为准。
规范号主要起草部门专家主要评审部门专家修订情况DKBA 1606-2007.4 安全解决方案:赵武42873,杨光磊57125,万振华55108软件公司设计管理部:刘茂征11000,刘高峰63564,何伟祥33428 安全解决方案:刘海军12014,吴宇翔18167,吴海翔57182接入网:彭东红27279无线:胡涛46634核心网:吴桂彬41508,甘嘉栋33229,马进32897,谢秀洪33194,张毅27651,张永锋40582业软:包宜强56737,丁小龙63583,董鹏越60793,傅鉴杏36918,傅用成30333,龚连阳18753,胡海,胡海华52463,李诚37517,李大锋54630,李战杰21615,刘创文65632,刘飞46266,刘剑51690,栾阳62227,罗仁钧65560,罗湘武06277,马亮,孟咏喜22499,潘海涛27360,孙林46580,王福40317,王锦亮36430,王美玲,王谟磊65558,王玉龙24387,杨娟,张锋43381,张健,张轶57143,邹韬51591 V1.0何伟祥33428 刘高峰63564,龚连阳00129383,许汝波62966,吴宇翔00120395,王欢00104062,吕晓雨56987 V1.2增加了Web Service、Ajax和上传和下载相关的安全规范。
Web开发中的安全问题和防护措施在当今的互联网环境下,Web开发中的安全问题和防护措施变得尤为重要。
随着互联网的快速发展,网络攻击也越来越频繁和复杂,对于Web开发者来说,学习并采取适当的安全措施是至关重要的。
本文旨在探讨Web开发中的安全问题以及如何采取防护措施来保护Web应用程序和用户数据。
一、Web开发中的安全问题1. SQL注入攻击SQL注入攻击是通过在Web应用程序中输入恶意的SQL查询来攻击数据库的一种方式。
攻击者可以利用SQL注入漏洞来获取敏感信息,如用户信息、身份验证凭据等。
这种攻击是极为常见的,因此Web开发者必须采取措施来防范此类攻击。
2.跨站点脚本攻击(XSS)跨站点脚本攻击是指攻击者通过在Web应用程序中插入恶意脚本,从而在用户端执行恶意代码。
这种攻击可能导致数据泄露、会话劫持以及其他严重后果,因此Web开发者需要注意对用户输入进行严格的过滤和验证。
3.跨站点请求伪造(CSRF)CSRF攻击是指攻击者利用用户已经登录的身份,在用户不知情的情况下执行非授权操作。
要防范这种攻击,Web开发者需要采取措施来验证每个请求的来源和合法性。
4.不安全的验证和会话管理不安全的验证和会话管理可能导致用户身份验证凭据被盗取,或者会话被劫持。
Web开发者需要采取措施来确保在所有的身份验证和会话管理过程中都采取了足够的安全措施。
5.未经授权的访问未经授权的访问可能导致敏感信息的泄露或者非法操作的执行。
Web开发者需要采取措施来确保只有经过授权的用户才能访问和执行特定的操作。
6.敏感信息泄霁敏感信息泄露可能导致用户数据被窃取、滥用甚至出售,从而给用户和组织带来严重的损失。
Web开发者需要采取措施来保护用户的敏感信息,如加密存储、传输和处理敏感信息等。
二、Web开发中的安全防护措施1.输入验证输入验证是防范多种安全漏洞的首要措施。
Web开发者应该对用户输入进行严格的验证和过滤,确保用户输入不含有恶意代码或者注入攻击。
W e b安全测试规范内部编号:(YUUT-TBBY-MMUT-URRUY-UOOY-DBUYI-0128)D K B A华为技术有限公司内部技术规范DKBAWeb应用安全测试规范2009年7月5日发布 2009年7月5日实施华为技术有限公司Huawei Technologies Co., Ltd.版权所有侵权必究All rights reserved修订声明Revision declaration本规范拟制与解释部门:安全解决方案部电信网络与业务安全实验室、软件公司安全TMG、软件公司测试业务管理部本规范的相关系列规范或文件:《Web应用安全开发规范》相关国际规范或文件一致性:《OWASP Testing Guide v3》《信息安全技术信息安全风险评估指南》《Information technology Security techniques Management of information and communications technology security》-ISO 13335替代或作废的其它规范或文件:无相关规范或文件的相互关系:本规范以《Web应用安全开发规范》为基础、结合Web应用的特点而制定。
目录 Table of ContentsWeb安全测试规范缩略语清单1概述1.1背景简介在Internet大众化、Web技术飞速演变、黑客工具日益普及的今天,针对Web的攻击和破坏不断增多,在线安全面临日益严峻的挑战,安全风险达到了前所未有的高度。
为了规避Web安全风险、规范Web安全开发,公司已经制定并发布了《Web 应用安全开发规范》;但如何系统的进行Web安全性测试,目前缺少相应的理论和方法支撑。
为此,我们制定《Web 安全测试规范》,本规范可让测试人员针对Web 常见安全漏洞或攻击方式,系统的对被测Web 系统进行快速安全性测试。
1.2 适用读者本规范的读者及使用对象主要为Web 相关的测试人员、开发人员、专职的安全测试评估人员等。
密级:公开Web应用开发规范制定日期:2010年1月中航国际金网公司版本历史日期版本简要描述信息作者2010-1-18 0.9.1 创建该规范文档高正2010-2-3 0.9.2 修改了目录结构规范部分高正2010-2-4 0.9.3 增加了js和css样式规范高正目录1.文件编码格式............................................................................................................................. - 4 -2.目录结构规范............................................................................................................................. - 4 -3.编程规范..................................................................................................................................... - 5 -资源、配置文件.......................................................................................................... - 5 -Doc文档...................................................................................................................... - 6 -实体.............................................................................................................................. - 7 -Dao ............................................................................................................................... - 8 -Service .......................................................................................................................... - 8 -Action ........................................................................................................................... - 9 -JSP .............................................................................................................................. - 10 -css ............................................................................................................................... - 11 -js ................................................................................................................................. - 11 -4.异常处理规范........................................................................................................................... - 11 -5.数据校验................................................................................................................................... - 12 -前言本规范是在《代码书写基础规范.doc》基础上,对web应用所制定的开发规范。
DKBA 华为技术有限公司内部技术规范DKBA 1606-XXXX.X Web应用安全开发规范V1.52013年XX月XX日发布2013年XX月XX日实施华为技术有限公司Huawei Technologies Co., Ltd.版权所有侵权必究All rights reserved修订声明Revision declaration本规范拟制与解释部门:网络安全能力中心&电信软件与核心网网络安全工程部本规范的相关系列规范或文件:《C&C++语言安全编程规范》《Java语言安全编程规范》相关国际规范或文件一致性:无替代或作废的其它规范或文件:无相关规范或文件的相互关系:《产品网络安全红线》和《电信软件与核心网业务部安全能力基线》中的Web安全要求引用了本规范的内容,如果存在冲突,以本规范为准。
规范号主要起草部门专家主要评审部门专家修订情况孟咏喜22499,潘海涛27360,孙林46580,王福40317,王锦亮36430,王美玲60011866,王谟磊65558,王玉龙24387,杨娟60019875,张锋43381,张健60005645,张轶57143,邹韬51591何伟祥33428 刘高峰63564,龚连阳00129383,许汝波62966,吴宇翔00120395,王欢00104062,吕晓雨56987 V1.2增加了Web Service、Ajax和上传和下载相关的安全规范。
何伟祥00162822 V1.3增加了防止会话固定和防止跨站请求伪造的安全规范。
何伟祥00162822 V1.4增加了“规则3.4.1”的实施指导;删除了“建议3.4.1”;修改了“6配套CBB介绍”的内容和获取方式。
增加了“3.9 DWR”何伟祥00162822 吴淑荣00197720 魏建雄00222906 谢和坤00197709 李田00042091 孙波00175839 朱双红00051429 王伟00207440陈伟00141500V1.5增加“规则3.3.9、规则3.6.5、规则4.7.1、建议4.7.2、4.8 PHP”增加“3.8 RESTfulWeb Service”修改“规则3.2.2.8、规则3.2.2.3、规则3.4.1、规则4.6.1”规范号主要起草部门专家主要评审部门专家修订情况删除“3.2.1口令策略”和“规则3.1.3、规则3.2.3.8、规则4.7.1”附件文档作为对象直接插入主文档目录Table of Contents1概述 (7)1.1背景简介 (7)1.2技术框架 (8)1.3使用对象 (9)1.4适用范围 (9)1.5用词约定 (9)2常见WEB安全漏洞 (10)3WEB设计安全规范 (11)3.1W EB部署要求 (11)3.2身份验证 (12)3.2.1口令 (12)3.2.2认证 (12)3.2.3验证码 (15)3.3会话管理 (16)3.4权限管理 (17)3.5敏感数据保护 (18)3.5.1敏感数据定义 (18)3.5.2敏感数据存储 (18)3.5.3敏感数据传输 (20)3.6安全审计 (21)3.7W EB S ERVICE (22)3.8REST FUL W EB S ERVICE (23)3.9DWR (24)4WEB编程安全规范 (25)4.1输入校验 (25)4.2输出编码 (30)4.3上传下载 (30)4.4异常处理 (31)4.5代码注释 (31)4.6归档要求 (32)4.7其他 (33)4.8PHP (34)5WEB安全配置规范 (36)6配套CBB介绍 (37)6.1WAF CBB (37)6.2验证码CBB (38)7附件 (38)7.1附件1T OMCAT配置SSL指导 (38)7.2附件2W EB S ERVICE 安全接入开发指导 (38)7.3附件3客户端IP鉴权实施指导 (38)7.4附件4口令安全要求 (38)7.5附件5W EB权限管理设计规格说明书 (39)Web应用安全开发规范V1.51 概述1.1 背景简介在Internet大众化及Web技术飞速演变的今天,Web安全所面临的挑战日益严峻。
黑客攻击技术越来越成熟和大众化,针对Web的攻击和破坏不断增长,Web安全风险达到了前所未有的高度。
许多程序员不知道如何开发安全的应用程序,开发出来的Web应用存在较多的安全漏洞,这些安全漏洞一旦被黑客利用将导致严重甚至是灾难性的后果。
这并非危言耸听,类似的网上事故举不胜举,公司的Web产品也曾多次遭黑客攻击,甚至有黑客利用公司Web产品的漏洞敲诈运营商,造成极其恶劣的影响。
本规范就是提供一套完善的、系统化的、实用的Web安全开发方法供Web研发人员使用,以期达到提高Web安全的目的。
本规范主要包括三大内容:Web设计安全、Web编程安全、Web配置安全,配套CBB,多管齐下,实现Web应用的整体安全性;本规范主要以JSP/Java编程语言为例。
1.2 技术框架图1典型的Web安全技术框架图1 显示了典型的Web安全的技术框架和安全技术点,这些安全技术点,贯穿整个Web设计开发过程。
上图各个区域中存在任何一点薄弱环节,都容易导致安全漏洞。
由于HTTP的开放性,Web应用程序必须能够通过某种形式的身份验证来识别用户,并确保身份验证过程是安全的,同样必须很好地保护用于跟踪已验证用户的会话处理机制。
为了防止一些恶意输入,还要对输入的数据和参数进行校验。
另外还要考虑Web系统的安全配置,敏感数据的保护和用户的权限管理,以及所有操作的安全审计。
当然还要考虑代码安全,以及其他方面的威胁。
表 1 列出了一些Web缺陷类别,并针对每类缺陷列出了由于设计不当可能会导致的潜在问题。
针对这些潜在的问题,本规范中有相应的解决措施。
表1Web 应用程序缺陷和由于不良设计可能导致的问题缺陷类别由于不良设计可能导致的问题身份验证身份伪造、口令破解、权限提升和未授权访问。
会话管理通过捕获导致会话劫持和会话伪造。
权限管理访问机密或受限数据、篡改和执行未授权操作。
配置管理未授权访问管理界面、更新配置数据、访问用户帐户和帐户配置文件。
敏感数据机密信息泄漏和数据篡改。
加密技术未授权访问机密数据或帐户信息。
安全审计未能识别入侵征兆、无法证明用户的操作,以及在问题诊断中存在困难。
输入检验通过嵌入查询字符串、窗体字段、Cookie 和 HTTP 标头中的恶意字符串所执行的攻击。
包括命令执行、跨站点脚本编写 (XSS)、SQL 注入和缓冲区溢出攻击等。
参数操作路径遍历攻击、命令执行、此外还有跳过访问控制机制、导致信息泄露、权限提升和拒绝服务。
异常管理拒绝服务和敏感的系统级详细信息泄露。
1.3 使用对象本规范的读者及使用对象主要为Web相关的需求分析人员、设计人员、开发人员、测试人员等。
1.4 适用范围本规范的制定考虑了公司各种Web应用开发的共性,适合于公司绝大部分Web产品,要求Web产品开发必须遵循。
对于嵌入式系统(如ADSL Modem、硬件防火墙)中的Web应用,由于其特殊性(CPU、内存、磁盘容量有限,没有成熟的Web容器),不强制遵循本规范的所有内容,只需遵循以下章节的规则要求:3.2身份验证3.3会话管理3.5敏感数据保护4.1输入校验4.2输出编码4.3上传下载4.5代码注释4.6归档要求1.5 用词约定✧规则:强制必须遵守的原则✧建议:需要加以考虑的原则✧说明:对此规则或建议进行相应的解释实施指导:对此规则或建议的实施进行相应的指导2 常见Web安全漏洞Web应用的安全漏洞有很多,无法穷举。
针对众多的Web漏洞,OWASP的专家们结合各自在各领域的应用安全工作经验及智慧,提出了十大Web应用程序安全漏洞,帮助人们关注最严重的漏洞。
(OWASP即开放Web应用安全项目,是一个旨在帮助人们理解和提高Web应用及服务安全性的项目组织。
)表2十大Web应用程序安全漏洞列表序号漏洞名称漏洞描述1 注入注入攻击漏洞,例如SQL、OS命令以及LDAP注入。
这些攻击发生在当不可信的数据作为命令或者查询语句的一部分,被发送给解释器的时候。
攻击者发送的恶意数据可以欺骗解释器,以执行计划外的命令或者访问未被授权的数据。
2 跨站脚本当应用程序收到含有不可信的数据,在没有进行适当的验证和转义的情况下,就将它发送给一个网页浏览器,这就会产生跨站脚本攻击(简称XSS)。
XSS允许攻击者在受害者的浏览器上执行脚本,从而劫持用户会话、危害网站、或者将用户转向至恶意网站。
3 失效的身份认证和会话管理与身份认证和会话管理相关的应用程序功能往往得不到正确的实现,这就导致了攻击者破坏密码、密匙、会话令牌或攻击其他的漏洞去冒充其他用户的身份。
4 不安全的直接对象引用当开发人员暴露一个对内部实现对象的引用时,例如,一个文件、目录或者数据库密匙,就会产生一个不安全的直接对象引用。
在没有访问控制检测或其他保护时,攻击者会操控这些引用去访问未授权数据。
5 跨站请求伪造一个跨站请求伪造攻击迫使登录用户的浏览器将伪造的HTTP请求,包括该用户的会话cookie和其他认证信息,发送到一个存在漏洞的Web应用程序。
这就允许了攻击者迫使用户浏览器向存在漏洞的应用程序发送请求,而这些请求会被应用程序认为是用户的合法请求。
6 安全配置错误好的安全需要对应用程序、框架、应用程序服务器、Web服务器、数据库服务器和平台,定义和执行安全配置。
由于许多设置的默认值并不是安全的,因此,必须定义、实施和维护所有这些设置。
这包括了对所有的软件保护及时地更新,包括所有应用程序的库文件。
7 失败的URL访问权限限制许多Web应用程序在显示受保护的链接和按钮之前会检测URL访问权限。
但是,当这些页面被访问时,应用程序也需要执行类似的访问控制检测,否则攻击者将可以伪装这些URL去访问隐藏的网页。
8 未经验证的重定向和前转Web应用程序经常将用户重定向和前转到其他网页和网站,并且利用不可信的数据去判定目的页面。
如果没有得到适当验证,攻击者可以将受害用户重定向到钓鱼网站或恶意网站,或者使用前转去访问未经授权的网页。
9 不安全的加密存储许多Web应用程序并没有使用恰当的加密措施或Hash算法保护敏感数据,比如信用卡、社会安全号码(SSN)、认证凭据等。
攻击者可能利用这种弱保护数据实行身份盗窃、信用卡欺骗或或其他犯罪。
10 传输层保护不足应用程序时常没有身份认证、加密措施,甚至没有保护敏感网络数据的保密性和完整性。
而当进行保护时,应用程序有时采用弱算法、使用过期或无效的证书,或不正确地使用这些技术。
3 Web设计安全规范3.1 Web部署要求规则3.1.1:如果Web 应用对Internet 开放,Web服务器应当置于DMZ区,在Web服务器与Internet之间,Web服务器与内网之间应当有防火墙隔离,并设置合理的策略。