javaWeb安全验证漏洞修复总结

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

EMA服务管理平台二期扩容安全验收

漏洞修复总结

2011年5月

目录

1WEB安全介绍 (1)

2SQL注入、盲注 (1)

2.1SQL注入、盲注概述 (1)

2.2安全风险及原因 (2)

2.3A PP S CAN扫描建议 (2)

2.4应用程序解决方案 (4)

3会话标识未更新 (7)

3.1会话标识未更新概述 (7)

3.2安全风险及原因分析 (8)

3.3A PP S CAN扫描建议 (8)

3.4应用程序解决方案 (8)

4已解密登录请求 (9)

4.1已解密登录请求概述 (9)

4.2安全风险及原因分析 (9)

4.3A PP S CAN扫描建议 (9)

4.4应用程序解决方案 (9)

5跨站点请求伪造 (11)

5.1跨站点请求伪造概述 (11)

5.2安全风险及原因分析 (12)

5.3A PP S CAN扫描建议 (13)

5.4应用程序解决方案 (13)

6不充分账户封锁 (13)

6.1不充分账户封锁概述 (13)

6.2安全风险及原因分析 (13)

6.3A PP S CAN扫描建议 (14)

6.4应用程序解决方案 (14)

7启用不安全HTTP方法 (14)

7.1启用不安全HTTP方法概述 (14)

7.2安全风险及原因分析 (15)

7.3A PP S CAN扫描建议 (15)

7.4应用程序解决方案 (15)

8HTTP注释敏感信息 (16)

8.1HTTP注释敏感信息概述 (16)

8.2安全风险及原因分析 (16)

8.3A PP S CAN扫描建议 (16)

8.4应用程序解决方案 (17)

9发现电子邮件地址模式 (17)

9.1发现电子邮件地址模式概述 (17)

9.2安全风险及原因分析 (17)

9.3A PP S CAN扫描建议 (17)

9.4应用程序解决方案 (17)

10通过框架钓鱼 (20)

10.1通过框架钓鱼概述 (20)

10.2安全风险及原因分析 (20)

10.3A PP S CAN扫描建议 (21)

10.4应用程序解决方案 (23)

11检查到文件替代版本 (25)

11.1检查到文件替代版本概述 (25)

11.2安全风险及原因分析 (26)

11.3A PP S CAN扫描建议 (26)

11.4应用程序解决方案 (26)

1Web安全介绍

目前很多业务都依赖于互联网,例如说网上银行、网络购物、网游等,很多恶意攻击者出于不良的目的对Web 服务器进行攻击,想方设法通过各种手段获取他人的个人账户信息谋取利益。正是因为这样,Web业务平台最容易遭受攻击。同时,对Web服务器的攻击也可以说是形形色色、种类繁多,常见的有挂马、SQL注入、缓冲区溢出、嗅探、利用IIS等针对Webserver 漏洞进行攻击。

一方面,由于TCP/IP的设计是没有考虑安全问题的,这使得在网络上传输的数据是没有任何安全防护的。攻击者可以利用系统漏洞造成系统进程缓冲区溢出,攻击者可能获得或者提升自己在有漏洞的系统上的用户权限来运行任意程序,甚至安装和运行恶意代码,窃取机密数据。而应用层面的软件在开发过程中也没有过多考虑到安全的问题,这使得程序本身存在很多漏洞,诸如缓冲区溢出、SQL注入等等流行的应用层攻击,这些均属于在软件研发过程中疏忽了对安全的考虑所致。

另一方面,用户对某些隐秘的东西带有强烈的好奇心,一些利用木马或病毒程序进行攻击的攻击者,往往就利用了用户的这种好奇心理,将木马或病毒程序捆绑在一些艳丽的图片、音视频及免费软件等文件中,然后把这些文件置于某些网站当中,再引诱用户去单击或下载运行。或者通过电子邮件附件和QQ、MSN等即时聊天软件,将这些捆绑了木马或病毒的文件发送给用户,利用用户的好奇心理引诱用户打开或运行这些文件、

2SQL注入、盲注

2.1SQL注入、盲注概述

Web 应用程序通常在后端使用数据库,以与企业数据仓库交互。查询数据库事实上的标准语言是 SQL(各大数据库供应商都有自己的不同版本)。Web 应用程序通常会获取用户输入(取自 HTTP 请求),将它并入 SQL 查询中,然后发送到后端数据库。接着应用程序便处理查询结果,有时会向用户显示结果。如果应用程序对用户(攻击者)的输入处理不够小心,攻击者便可以利用这种操作方式。在此情况下,攻击者可以注入恶意的数据,当该数据并入 SQL 查询中时,就将查询的原始语法更改得面目全非。例如,如果应用程序使用用户的输入(如用户名和密码)来查询用户帐户的数据库表,以认证用户,而攻击者能够将恶意数据注入查询的用户名部分(和/或密码部分),查询便可能更改成

完全不同的数据复制查询,可能是修改数据库的查询,或在数据库服务器上运行 Shell 命令的查询。

2.2 安全风险及原因

高风险漏洞,攻击者可能会查看、修改或删除数据库条目和表

原因:未对用户输入正确执行危险字符清理

2.3AppScan扫描建议

若干问题的补救方法在于对用户输入进行清理。

通过验证用户输入未包含危险字符,便可能防止恶意的用户导致应用程序执行计划外的任务,例如:启动任意 SQL 查询、嵌入将在客户端执行的 Javascript 代码、运行各种操作系统命令,等等。

建议过滤出所有以下字符:

[1] |(竖线符号)

[2] & (& 符号)

[3];(分号)

[4] $(美元符号)

[5] %(百分比符号)

[6] @(at 符号)

[7] '(单引号)

[8] "(引号)

[9] \'(反斜杠转义单引号)

[10] \"(反斜杠转义引号)

[11] <>(尖括号)

[12] ()(括号)

[13] +(加号)

[14] CR(回车符,ASCII 0x0d)

[15] LF(换行,ASCII 0x0a)

[16] ,(逗号)

[17] \(反斜杠)

以下部分描述各种问题、问题的修订建议以及可能触发这些问题的危险字符:SQL 注入和 SQL 盲注:

A. 确保用户输入的值和类型(如 Integer、Date 等)有效,且符合应用程序预期。

B. 利用存储过程,将数据访问抽象化,让用户不直接访问表或视图。当使用存储过程时,请利用 ADO 命令对象来实施它们,以强化变量类型。

C. 清理输入以排除上下文更改符号,例如:

[1] '(单引号)

[2] "(引号)

[3] \'(反斜线转义单引号)

相关文档
最新文档