文章分类 | 推荐文章 | 最新文章 | 热点文章 | 最新软件 | 精品软件 | 下载排行 | 推荐下载 | 免费看大片 | WPS | 杀毒软件
清风网络
首 页 软件下载 网络学院 数码学院
QQ 电脑入门 游戏 操作系统 图形处理 办公软件 媒体动画 精文荟萃 工具软件 网络编程 程序开发 网络技术 认证考试 网站建设 文章专栏
当前位置:清风网络学院网络编程JSP深入浅析JSP安全编程实例
精品推荐
特别推荐
·什么是 JSP 技术?
·JSP简介
·JSP数据库操作例程
·新手入门:学习JSP的经典的入门学习资料
·由浅入深学习动态网页制作PHP的编程与应用
·输入汉字自动转为拼音(jsp实现方式)
·经验分享 JSP程序员完全蜕变手册
·JSP实战:JBuilder2005中创建数据库表
·新手入门:JSP基本语法与简单表单处理
·使用技巧:在JSP页面中的应用JavaBean
·实例:JSP中把动态页面转换为静态页面
·使JSP/Servlet应用程序优化的八种方法
·提升JSP页面响应速度的七大秘籍绝招
·jsp中文问题解决方案(完整版)
·jsp的八个隐含对象
·用jsp实现SQLServe数据库的备份和恢复
·深入浅析JSP安全编程实例
·jsp防盗链
·js技巧收集(200多个)
·JSP应用语法详解大全 (3)
热点TOP10
·JSP简介
·目前最好的JSP分页技术(考虑到数据库移植,并修正过效率)
·在jsp中用bean和servlet联合实现用户注册、登录
·js技巧收集(200多个)
·用JSP+JavaScript打造二级级联下拉菜单
·关于JSP Commons FileUpload 组件上传文件的一些总结
·水晶报表的jsp实现
·目前最好的JSP分页技术
·不用迭代算法而快速实现的jsp树结构
·jsp-servlet技术:一篇写的详细的session的好文章
·用JSP从数据库中读取图片并显示在网页上
·新手入门:学习JSP的经典的入门学习资料
·在一个jsp页面实现二级下拉框联动
·JSP上传图片并生成缩略图
·输入汉字自动转为拼音(jsp实现方式)
·树形目录的递归实现数据库+jsp+javabean
·JSP连接SQL Server 2000系统配置
·jspSmartUpload上传下载全攻略
·jsp在线考试系统-jsp文件
·什么是 JSP 技术?

深入浅析JSP安全编程实例

日期:2007年5月16日 作者: 查看:[大字体 中字体 小字体]


Java Server Page(JSP)作为建立动态网页的技术正在不断升温。JSP和ASP、PHP、工作机制不太一样。一般说来,JSP页面在执行时是编译式,而不是解释式的。首次调用JSP文件其实是执行一个编译为Servlet的过程。当浏览器向服务器请求这一个JSP文件的时候,服务器将检查自上次编译后JSP文件是否有改变,如果没有改变,就直接执行Servlet,而不用再重新编译,这样,效率便得到了明显提高。
  
  今天我将和大家一起从脚本编程的角度看JSP的安全,那些诸如源码暴露类的安全隐患就不在这篇文章讨论范围之内了。写这篇文章的主要目的是给初学JSP编程的朋友们提个醒,从一开始就要培养安全编程的意识,不要犯不该犯的错误,避免可以避免的损失。另外,我也是初学者,如有错误或其它意见请发帖赐教。
  
  一、认证不严——低级失误
  在溢洋论坛v1.12 修正版中,
  
  user_manager.jsp是用户管理的页面,作者知道它的敏感性,加上了一把锁:
  
  if ((session.getValue("UserName")==null)││(session.getValue("UserClass")==null)││(! session.getValue("UserClass").equals("系统管理员")))
  {
  response.sendRedirect("err.jsp?id=14");
  return;
  }
  
  如果要查看、修改某用户的信息,就要用modifyuser_manager.jsp这个文件。管理员提交
  http://www.somesite.com/yyforum/modifyuser_manager.jsp?modifyid=51
  就是查看、修改ID为51的用户的资料(管理员默认的用户ID为51)。但是,如此重要的文件竟缺乏认证,普通用户(包括游客)也直接提交上述请求也可以对其一览无余(密码也是明文存储、显示的)。modifyuser_manage.jsp同样是门户大开,直到恶意用户把数据更新的操作执行完毕,重定向到user_manager.jsp的时候,他才会看见那个姗姗来迟的显示错误的页面。显然,只锁一扇门是远远不够的,编程的时候一定要不厌其烦地为每一个该加身份认证的地方加上身份认证。
  
  二、守好JavaBean的入口
  JSP组件技术的核心是被称为bean的java组件。在程序中可把逻辑控制、数据库操作放在javabeans组件中,然后在JSP文件中调用它,这样可增加程序的清晰度及程序的可重用性。和传统的ASP或PHP页面相比,JSP页面是非常简洁的,因为许多动态页面处理过程可以封装到JavaBean中。
  
  要改变JavaBean属性,要用到“<jsp:setProperty>”标记。
  
  下面的代码是假想的某电子购物系统的源码的一部分,这个文件是用来显示用户的购物框中的信息的,而checkout.jsp是用来结帐的。
  
  <jsp:useBean id="myBasket" class="BasketBean">
  <jsp:setProperty name="myBasket" property="*"/>
  <jsp:useBean>
  <html>
  <head><title>Your Basket</title></head>
  <body>
  <p>
  You have added the item
  <jsp::getProperty name="myBasket" property="newItem"/>
  to your basket.
  

  Your total is $
  <jsp::getProperty name="myBasket" property="balance"/>
  Proceed to <a href="checkout.jsp">checkout</a>
  
  注意到property="*"了吗?这表明用户在可见的JSP页面中输入的,或是直接通过Query String提交的全部变量的值,将存储到匹配的bean属性中。
  
  一般,用户是这样提交请求的:
  
  http://www.somesite.com /addToBasket.jsp?newItem=ITEM0105342
  
  但是不守规矩的用户呢?他们可能会提交:
  
  http://www.somesite.com /addToBasket.jsp?newItem=ITEM0105342&balance=0
  
  这样,balance=0的信息就被在存储到了JavaBean中了。当他们这时点击“chekout”结账的时候,费用就全免了。
  
  这与PHP中全局变量导致的安全问题如出一辙。由此可见:“property="*"”一定要慎用!
  
  三、长盛不衰的跨站脚本
  跨站脚本(Cross Site Scripting)攻击是指在远程WEB页面的HTML代码中手插入恶意的JavaScript, VBScript, ActiveX, HTML, 或Flash等脚本,窃取浏览此页面的用户的隐私,改变用户的设置,破坏用户的数据。跨站脚本攻击在多数情况下不会对服务器和WEB程序的运行造成影响,但对客户端的安全构成严重的威胁。
  
  以仿动网的阿菜论坛(beta-1)举个最简单的例子。当我们提交

[1] [2] [3] 下一页 




上一篇:JSP新手入门初级教程之JSP概述

下一篇:JSP语法详解以及应用

深入浅析JSP安全编程实例 相关文章:
·IE浏览器再现严重安全漏洞 微软紧急发补丁程序
·DIV CSS网页布局实例:十步学会用CSS建站
·不怕攻击 家庭上网必学八招安全绝招
·Photoshop实例:制作超酷影片画面场景
·Photoshop精细抠像实例
·socket编程原理
·中小企业整体网络安全解决方案解析
·基础知识 初级黑客安全技术命令详解
·Photoshop实例:调出漂亮MM的唯美效果
·ASP.NET上传文件的实例
深入浅析JSP安全编程实例 相关软件:
·Kaspersky(卡巴斯基) Internet Security 安全套装 V6.0.2.621 中文版
·中文版Excel 2003实例与技巧
·Flash MX 动画制作实例教程
·CorelDraw12 入门与实例(图文教程 菜鸟先飞系列教材)
·如何加固Windows XP 主机安全
·中文版 AutoCAD2004 应用实例与技巧
·PhotoShop7 设计百例 + 经典实例教程 + 滤镜教学
·深入理解计算机系统电子杂志 PDF
·AutoCAD2002入门与实例详解
·2007网络安全黄皮书V1.0.0

特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。
[打印本页] [关闭窗口] 转载请注明来源:http://www.vipcn.net
| 帮助(?) | 版权声明 | 友情连接 | 关于我们 | 信息发布
Copyright 2007 www.vipcn.net All Rights Reserved. 鄂ICP备05000083号Powered by:viphot