Tomcat URL解析差异漏洞
文章源自-投稿
作者-叶子
扫描下方二维码进入社区:
0x01 简介
Tomcat是常见的web中间件,收到用户请求后再对客户端提交的参数、URL、Header、body的那个数据进行解析,生成request对象。
当后台程序使用getRequestURI()或getRequestURL()函数解析漏洞时若存在一些特殊字符,则可能造成越权。
11989和5902就是利用了这一点。
0x02 URL解析差异性
简单进行一下测试,新建一个java web。命名 index.jsp
测试几种样例
那么这些又说明了什么呢?
简单来说,Tomcat中的url解析支持嵌入以上几种特殊字符,且getRequestURL()和getRequestURI()解析时同样包含他们。
0x03 调试Tomcat结论
Tomcat是在CoyoteAdapter.service()函数上对请求URL进行处理解析的,有能力的同学可以下断点自行分析,自己走一遍基本分析流程就吃透了,这里直接给结论。
0x04 简单举例
http://localhost:8080/urltest/info/secret.jsp下是敏感信息,你可以这样绕过
通知!
记得扫码