php目录穿越漏洞,Spring MVC 目录穿越漏洞(CVE-2018-1271)分析

该博客讨论了Spring Framework 5.0至5.0.4及4.3至4.3.14版本中的一个安全漏洞,影响Windows系统。攻击者可以利用file协议和特定的编码方式来访问敏感资源。在5.0.1以上的版本中,某些payload在Tomcat下无法触发,但在Jetty下仍能生效。建议升级到不受影响的版本以防止路径遍历攻击。
摘要由CSDN通过智能技术生成

原文出自:https://paper.seebug.org/665/

漏洞影响

Spring Framework 5.0 to 5.0.4.

Spring Framework 4.3 to 4.3.14

已不支持的旧版本仍然受影响

漏洞利用条件

Server运行于Windows系统上

要使用file协议打开资源文件目录

cleanPath的问题在于String[] pathArray = delimitedListToStringArray(pathToUse, "/");

这个是允许空元素存在的,也就是说cleanPath会把//当成一个目录,而操作系统是不会把//当成一个目录的。借用一张Orange大佬的图。

28f74123787a577badb8a0e3b2d3f627.png

详细分析本文不做记录

注意事项

1、在Spring Framework 大于5.0.1的版本,双编码payload在tomcat、jetty下触发不了,

但是单编码payload可以在jetty下触发,tomcat下失败(因为在默认情况下Tomcat遇到包含%2f(/)、%5c(\)的URL直接http 400)

总结

Spring Framework <=5.0.1

tomcat、jetty:(双编码)

/resources/%255c%255c..%255c/..%255c/..%255c/..%255c/..%255c/..%255c/..%255c/..%255c/..%255c/windows/win.ini

Spring Framework >5.0.1

jetty:(单编码)

/resources/%5c%5c..%5c/..%5c/..%5c/..%5c/..%5c/..%5c/..%5c/..%5c/..%5c/windows/win.ini

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值