https://github.com/cwkiller/Java-Puzzle/tree/main/Tomcat's%20Secret%20Chamber
感谢大佬自己做的靶场
二、代码分析--head方法未授权访问
由于该项目未配置servelt
根据tomcat原理,会默认调用conf界面的web.xml配置,也就是调用conf界面默认调用DefaultServlet
(看到就是学到,这冷门知识估计没几个人知道哈哈哈哈,我也是研究了半天才发现的)
进入该方法,看到只有当readOnly == false 时,才会再追加 PUT、DELETE方法
我们进入this.readOnly,发现该值永远为true,证实了猜测
三、实现效果
使用delete方法状态码是405,而并非403,该为默认的tomcat过滤器禁止了
而真正被靶场定义的web.xml禁止的会显示状态码403