vlambda博客
学习文章列表

Tomcat URL解析差异漏洞

文章源自-投稿

作者-叶子

扫描下方二维码进入社区

0x01 简介

Tomcat是常见的web中间件,收到用户请求后再对客户端提交的参数、URL、Header、body的那个数据进行解析,生成request对象。

当后台程序使用getRequestURI()或getRequestURL()函数解析漏洞时若存在一些特殊字符,则可能造成越权。

11989和5902就是利用了这一点。

Tomcat URL解析差异漏洞

0x02 URL解析差异性

简单进行一下测试,新建一个java web。命名 index.jsp

Tomcat URL解析差异漏洞

Tomcat URL解析差异漏洞

测试几种样例

Tomcat URL解析差异漏洞

Tomcat URL解析差异漏洞

Tomcat URL解析差异漏洞

那么这些又说明了什么呢?

简单来说,Tomcat中的url解析支持嵌入以上几种特殊字符,且getRequestURL()和getRequestURI()解析时同样包含他们。

Tomcat URL解析差异漏洞

0x03 调试Tomcat结论

Tomcat是在CoyoteAdapter.service()函数上对请求URL进行处理解析的,有能力的同学可以下断点自行分析,自己走一遍基本分析流程就吃透了,这里直接给结论。

Tomcat URL解析差异漏洞

Tomcat URL解析差异漏洞

0x04 简单举例

http://localhost:8080/urltest/info/secret.jsp下是敏感信息,你可以这样绕过

Tomcat URL解析差异漏洞

通知!

记得扫码