教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 文库大全 > 初中教育 >

Day2_J2EE安全开发

来源:网络收集 时间:2026-09-27
导读: WEB应用安全和数据库安全的领航者 J2EE安全开发杭州安恒信息技术有限公司 http://www.77cn.com.cn Java 代码编码安全 代码框架安全 http://www.77cn.com.cn WEB应用安全和数据库安全的领航者 一、开发中常见漏洞介绍及示例说明和可参考的解决方法:Web通用:

WEB应用安全和数据库安全的领航者

J2EE安全开发杭州安恒信息技术有限公司

http://www.77cn.com.cn

Java 代码编码安全 代码框架安全

http://www.77cn.com.cn

WEB应用安全和数据库安全的领航者

一、开发中常见漏洞介绍及示例说明和可参考的解决方法:Web通用:

XSS、CSRF、SQL注入、文件上传等

J2EE特点所致:组件信息泄露、安全目录绕过等

http://www.77cn.com.cn

WEB应用安全和数据库安全的领航者

Web通用 -- XSS描述: 攻击者对应用的页面注入恶意脚本(通常是指html脚本),然后在页面执行 这个恶意脚本,到达攻击目的。

通常类型:反射型、存储型两大类(还有些如:所谓的DOM型等)

http://www.77cn.com.cn

WEB应用安全和数据库安全的领航者

示例: 一个用户输入并在页面输出的简单功能在jsp里的实现(servelt或框架实 现同理), Nebula.jsp伪代码:<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.77cn.com.cn/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>demo</title> </head> <body> <% String input=request.getParameter("input"); out.print("我的输入:"+input); %> </body> </html>

http://www.77cn.com.cn

WEB应用安全和数据库安全的领航者

注入的Javascript脚本被解析执行,形成一个反射型XSS:

http://www.77cn.com.cn

WEB应用安全和数据库安全的领航者

危害:

对于一般应用,用户cookie盗取(普通用户及管理员登录cookie )非 法登录应用。

http://www.77cn.com.cn

WEB应用安全和数据库安全的领航者

http://www.77cn.com.cn

WEB应用安全和数据库安全的领航者

例如:tomcat与浏览器身份验证的session id是已cookie的形式存储浏览器客户 端

http://www.77cn.com.cn

WEB应用安全和数据库安全的领航者

对于大量用户交互的大型应用(如:SNS站点),可形成蠕虫,严 重影响业务,如:

1、历史第一个XSS蠕虫是针对网站MySpace的Samy(20小时内感染了100万个账户)

2、Sina微博XSS蠕虫攻击事件的HelloSamy(16分钟受影响用户就达到将近33000个)

http://www.77cn.com.cn

WEB应用安全和数据库安全的领航者

Java开发中,可参考的解决方法示例: 针对“输入”与“输出” 方式,如

输入:String input=request.getParameter(“input”);输出:out.print("我的输入:"+input);

对Input参数的Html标签进行转义 一般的业务逻辑代码流程:输入 数据存储(如:存入DB) 输出 存储型XSS,如:存入DB,同一应用一般情况,危害性存储型大于反射型XSS. 特点:隐蔽性强,数据的流向不确定(如:数据可能被其他应用调用)等

www.

http://www.77cn.com.cn

WEB应用安全和数据库安全的领航者

一般选择“输入” 处理方式,伪代码:输入:String input=request.getParameter(“input”); // 对html标签转义的逻辑代码 // 其他业务逻辑(如:数据存储) 输出:out.print("我的输入:"+input);

http://www.77cn.com.cn

WEB应用安全和数据库安全的领航者

参数值转义html标签的伪代码示例:public static String filter(String str) {

if (str == null)return (null); char content[] = new char[str.length()]; str.getChars(0, str.length(), content, 0); StringBuilder result = new StringBuilder(content.length + 50); for (int i = 0; i < content.length; i++) { switch (content[i]) { case '<':result.append("&lt;"); break; case '>':result.append("&gt;");break; case '&':result.append("&amp;");break; case '"':result.append("&quot;");break; default:result.append(content[i]); } } return (result.toString()); }

http://www.77cn.com.cn

WEB应用安全和数据库安全的领航者

http://www.77cn.com.cn

WEB应用安全和数据库安全的领航者

但可能有些标签在实际开发需要显示输出(如:<img>标签),影响到正常业务。就可以 使用HTTPOnly方式防御,jsp显示模版示例伪代码:

response.setHeader(“Set-Cookie”, “cookiename=value;Path=/;Domain=domainvalue;Max-、 Age=seconds;HTTPOnly");

设置HTTPOnly后,js域就无法获取cookie了,缓解危害!

http://www.77cn.com.cn

WEB应用安全和数据库安全的领航者

http://www.77cn.com.cn

WEB应用安全和数据库安全的领航者

…… 此处隐藏:774字,全部文档内容请下载后查看。喜欢就下载吧 ……
Day2_J2EE安全开发.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wenku/1563264.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150份
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150份
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)