近测试公司一个已经上线好久的老项目接口时候发现访问路径错误也能访问。
欣喜若狂以为发现了struts2的漏洞;后来网上查找相关资料发现这只是struts2的对路径的一个默认处理;
接口正常路径:http://localhost:8080/wxt/hr/basicInfor!getRequisiteInfo.action
测试路径:http://localhost:8080/wxt/hr/wxt/basicInfor!getRequisiteInfo.action
后来阅读struts2源码发现其默认会对嵌套路径(多斜杠)进行优化处理
代码如下:








查找struts2配置才知道
- struts.enable.SlashesInActionNames 在URL中的Action段中是否支持斜线
- 最后只需要在struts配置文件中修改值就解决了
- <constant name="struts.enable.SlashesInActionNames" value="true"/>
Struts2路径优化与配置
本文探讨了Struts2框架对嵌套路径(多斜杠)的优化处理机制,揭示了struts2允许在URL中使用斜线的默认行为,并介绍了如何通过配置struts.enable.SlashesInActionNames参数来控制这一行为。
2087

被折叠的 条评论
为什么被折叠?



