J2EE WEBWORK FRAMEWORK安全隐患

原创 2007年10月11日 21:21:00

TEAM : I.S.T.O
AUTHOR : KJ021320
转载需注明作者,未经作者同意,不得用于任何形式的商业活动

WebWork是由OpenSymphony组织开发的,致力于组件化和代码重用的拉出式MVC模式J2EE Web框架。
框架本身就是抽象空实现的!一般很少会给程序带来0day漏洞,但是因为WebWork的设计方式 潜伏着一定的安全隐患.开发者一点要注意
下面我们来分析他的设计,以及流程逻辑...
首先 xwork.xml是它的一个核心配置文件 里面记载着 存储表单数据的javabean,处理业务逻辑的action,流程跳转的到jsp视图处理
OK 以下有一个配置
<action name="HackerTest" class="cn.isto.HackerTest">
 <result name="success">HackerReturn.jsp</result>
</action>

而一般 提交一个请求的时候 容器就会把请求交给 前端控制的Servlet来进行分发
com.opensymphony.webwork.dispatcher.ServletDispatcher
一般是配置这个默认的Servlet
当我们提交请求
http://127.0.0.1/WebWorkHacker/HackerTest.action
前端控制器就会把我们的URL分解出 /HackerTest.action 然后去 对应的 <action> 那里查找
发现这个请求 需要交给 cn.isto.HackerTest 这个类来处理!
而 WebWork内部是采用了反射机制 创建 cn.isto.HackerTest 这个类的对象!然后调用其
public String execute() 这个签名的方法来处理流程操作! 当然
cn.isto.HackerTest 最简单的需要实现 com.opensymphony.xwork.Action 或者 继承com.opensymphony.xwork.ActionSupport
一切很正常运行得很正常!
但是~WebWork提供了另外一个种形式来访问处理业务的Action
就是 Name!Method.action (在这里 方便了自己 也方便了别人)
而官方文档则说明
需要在xwork.xml 里面配置
<action name="HackerTest2" class="cn.isto.HackerTest" method="inputMethod">
 <result name="input">ch3sampleMethod.jsp</result>
</action>
这样 当你的请求
http://127.0.0.1/WebWorkHacker/HackerTest2!inputMethod.action的时候
就会查找name="HackerTest2"对应的类cn.isto.HackerTest,创建这个类的对象!然后调用其inputMethod方法
该方法需要是一个 public String 空参数签名
也就是说
public String inputMethod(){...}
以下是我们具体的类代码

public class HackerTest extends ActionSupport {
 public String execute(){
  exec="your run execute method/n";
  return SUCCESS;
 }
 public String inputMethod(){
  System.out.println("kj021320");
  return INPUT;
 }
 public void testWebWork(){
  System.out.println("void hack attack...");
 }
 public Object ooo(){
  System.out.println("Object hack attack..");
  return new Object();
 }
 public void prvtestWebWork(String str){
  System.out.println("str arg hack attack..");
 }
 public String getExec(){
  return exec;
 }
}

而经过一段测试的时候发现!问题出来了!我们根本不需要在xwork.xml中加入配置信息
我们直接在URL 里面请求
http://127.0.0.1/WebWorkHacker/HackerTest!方法名字.action
这样就可以随意调用类中只要是public 空参数的方法,
当返回值是void的时候不显示任何信息,其方法已经被执行了
而非String类型的话则会报告异常!其方法也被执行了!主要是返回给调用者的时候需要把
类型转换为字符串,所以会有异常!

换一个用PHP的说明方式吧!

<?
$fun=$_GET['method'];
if(isset($fun)){
 $fun();
}
?>

当我们提交 http://127.0.0.1/kj021320.php?method=phpinfo 这样就会出现问题了

一般在黑盒测试上面利用价值有限!但在代码审核,白盒测试上面就应该好好留意这个问题了!
特别是一些网上提供的WEB程序 采用了WEBWORK的话

全文完

 

WebWork深入浅出

原文链接地址:http://www.blogjava.net/moxie/archive/2006/10/20/76375.html 前言 本篇文章并没有太多WebWork 的实战代码细节。本人非常希...
  • u010955843
  • u010955843
  • 2015年09月09日 16:16
  • 940

浅谈Struts2与Webwork的不同和相同点

浅谈Struts2与Webwork的不同和相同点 2011-06-28 09:14 honeymoose OSS社区 字号:T | T 本文介绍的两大开发框架,Struts ...
  • autumn20080101
  • autumn20080101
  • 2016年05月16日 11:23
  • 1009

关于webwork框架返回JSON数据格式的问题2015-10-27

最近接触到webwork框架,因为项目需求,需要将后台的数据采用json格式返回。 通过百度搜索,找到的方法也很多,但都讲得不够具体,不容易看懂。这里找到一个方法,写了一个返回json的类继...
  • neil89
  • neil89
  • 2015年10月27日 16:08
  • 1338

WebWork框架的处理流程

都说Struts 2与Struts 1相差太大,Struts 2是从webWrok发展而来的,那什么是WebWord呢??看看下面的介绍. 1.3.1 WebWork框架 WebWork ...
  • chenzhengdui
  • chenzhengdui
  • 2014年05月05日 09:07
  • 945

webwork 文件配置

- webwork.properties             Webwork属性配置文件。Webwork有个缺省的属性配置文件default.properties,在webwork.jar文件...
  • m0_37364073
  • m0_37364073
  • 2017年11月16日 14:00
  • 39

从客户端游戏漏洞看开发中的安全隐患

本文转自wooyun知识库0x00 前言 虽然现在的应用开发越来越趋向于web应用,大型软件也大量使用了现有的框架,随着现有框架和引擎的完善,绝大多数安全问题已经被解决。但是遇到一些定制...
  • jlangqi
  • jlangqi
  • 2016年08月22日 19:16
  • 879

android 存在非常严重的安全隐患

随着移动平台的普及,越来越多的信息是通过
  • zeyanhu
  • zeyanhu
  • 2014年09月05日 10:54
  • 488

webwork action同时输出图片以及其他数据信息到jsp

在项目中 我们经常会碰到要输出图片以及查询结果list到页面jsp的情况,单纯的只输出list到jsp倒是很简单。但是要将2者同时输出 ,可能就有点麻烦。  不知道webwork是否提供了这方面的支...
  • zkn_CS_DN_2013
  • zkn_CS_DN_2013
  • 2013年11月28日 15:52
  • 1202

有关于WEB服务以及web应用的一些安全隐患总结资料

Abstract 有关于WEB服务以及web应用的一些安全隐患总结资料。   转自:http://blog.sina.com.cn/s/blog_6c92b3210100z4x1...
  • nchu2020
  • nchu2020
  • 2016年07月09日 08:15
  • 864

深入研究WebWork

一、Tomcat启动过程: 1 web.xml -----struts2的Filter文件 2 StrutsPrepareAndExecuteFilter.init()方法 2.1 初始化Init...
  • xcwll314
  • xcwll314
  • 2015年06月11日 14:48
  • 226
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:J2EE WEBWORK FRAMEWORK安全隐患
举报原因:
原因补充:

(最多只允许输入30个字)