近测试公司一个已经上线好久的老项目接口时候发现访问路径错误也能访问。
欣喜若狂以为发现了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"/>
原文地址:https://www.cnblogs.com/rememberW/p/9028763.html
时间: 2024-10-24 07:31:01