已经有域名 如何建设网站,卢松松网站的百度广告怎么做的,专业做网站公司24小时接单,node.js网站开发框架TEAM : I.S.T.OAUTHOR : KJ021320转载需注明作者,未经作者同意,不得用于任何形式的商业活动 WebWork是由OpenSymphony组织开发的#xff0c;致力于组件化和代码重用的拉出式MVC模式J2EE Web框架。框架本身就是抽象空实现的#xff01;一般很少会给程序带来0day漏洞,但是因为W… TEAM : I.S.T.OAUTHOR : KJ021320转载需注明作者,未经作者同意,不得用于任何形式的商业活动 WebWork是由OpenSymphony组织开发的致力于组件化和代码重用的拉出式MVC模式J2EE Web框架。框架本身就是抽象空实现的一般很少会给程序带来0day漏洞,但是因为WebWork的设计方式 潜伏着一定的安全隐患.开发者一点要注意下面我们来分析他的设计,以及流程逻辑...首先 xwork.xml是它的一个核心配置文件 里面记载着 存储表单数据的javabean,处理业务逻辑的action,流程跳转的到jsp视图处理OK 以下有一个配置action nameHackerTest classcn.isto.HackerTest result namesuccessHackerReturn.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 nameHackerTest2 classcn.isto.HackerTest methodinputMethod result nameinputch3sampleMethod.jsp/result/action这样 当你的请求http://127.0.0.1/WebWorkHacker/HackerTest2!inputMethod.action的时候就会查找nameHackerTest2对应的类cn.isto.HackerTest,创建这个类的对象然后调用其inputMethod方法该方法需要是一个 public String 空参数签名也就是说public String inputMethod(){...}以下是我们具体的类代码 public class HackerTest extends ActionSupport { public String execute(){ execyour 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?methodphpinfo 这样就会出现问题了 一般在黑盒测试上面利用价值有限但在代码审核,白盒测试上面就应该好好留意这个问题了特别是一些网上提供的WEB程序 采用了WEBWORK的话 全文完 转载于:https://www.cnblogs.com/springside-example/archive/2007/10/11/2529951.html