搜索
首页 电脑/网络 软件 系统软件

Java服务器字符串解释执行是怎么样呢?

Java服务器字符串解释执行是怎么样呢?

全部回答

2018-03-23

46 0

    在有些编程语言中,输入字符串中可以插入特殊的函数,欺骗服务器使其执行额外的、多余的动作。下面的Perl代码就是一个例子: $data = "mail body"; system("/usr/sbin/sendmail -t $1 class="Example" /> 从表面上看,这些代码只允许用户访问example Bean的名字。
    然而,了解该系统的用户可以访问“http://whereever。com/example。jsp?name=Fred&password=hack”这种URL。这个URL既改变name属性,也改变password密码属性。
  当然,这应该不是页面编写者的意图,作者的意图是设计一个只允许用户访问名字属性的页面。  因此,在使用时应该非常小心。字符串被解释执行的问题可能在允许嵌入脚本代码的任何环境中出现。
  例如,这类问题可能在Xalan(也称为LotusXSL)中出现,当然这是指系统设置不严格、易受攻击的情况下。 Xalan的脚本支持能够关闭(而且这是Xalan的默认设置),在敏感的应用中关闭脚本支持是一种明智的选择。
    当你需要用DOM处理XML文档时还必须考虑到另外一点:DOM保证所有文本都经过正确的转义处理,防止非法的标记插入到脚本之内。LotusXSL缺乏这个功能,但这绝不是一个BUG。
  支持脚本是LotusXSL的一个特色,而且它(明智地)默认处于关闭状态。XSL的W3C规范并没有规定支持脚本的能力。  现在我们来看看字符串解释执行如何影响SQL和JDBC。
  假设我们要以用户名字和密码为条件搜索数据库中的用户,Listing 5的Servlet代码看起来不错,但事实上它却是危险的。

类似问题换一批

热点推荐

热度TOP

相关推荐
加载中...

热点搜索 换一换

电脑/网络
系统软件
程序设计
电脑装机
操作系统/系统故障
硬件
笔记本电脑
百度
互联网
反病毒
软件
软件
系统软件
多媒体软件
办公软件
网络软件
图像处理软件
系统软件
系统软件
举报
举报原因(必选):
取消确定举报