首页 > 编程语言 > 详细

JavaCode-1

时间:2020-03-02 09:06:49      阅读:98      评论:0      收藏:0      [点我收藏+]

Java web-fragment.xml

0x01 前言

从今天开始,在java代码审计这条路上,我将会把在java审计过程中遇到的开发相关的知识概念在JavaCode这个系列中记录下来。
前两天朋友在复现JavaMelody XXE漏洞 CVE-2018-15531这个漏洞遇到了写问题,我这边自己根据相关文章做了一次复现。
复现的过程不多说,主要参考了以下链接

https://anemone.top/xxe-XXE%E6%BC%8F%E6%B4%9E%E5%8E%9F%E7%90%86%E3%80%81%E6%94%BB%E5%87%BB%E6%96%B9%E5%BC%8F%E4%BB%A5%E5%8F%8A%E9%98%B2%E5%BE%A1%E6%96%B9%E6%B3%95/
https://hexo.imagemlt.xyz/post/melodyXXE/

由于本文主讲java相关知识点,所以就不展开讲漏洞了。
晚上有仔细看了下JavaMelody的jar,目前在审计中。过程中遇到了一些开发知识,一点点补充并完善自己对于Java的学习和了解(本人不是Java开发者,所以只能从自己的路人水平去理解Java代码相关知识,大佬莫喷)

0x02 概述

在该对jar包某行代码进行调试,下端点时,想要不断去追溯,代码入口源头
技术分享图片
主要看右下角
技术分享图片
跟踪其调用链发现,最终jar包的调用入口在如下文件中的dofilter方法
技术分享图片
在JavaWeb当中,根据以往学习的知识,servlet可以通过过滤器对传入的url相关链接进行拦截并坐相应的处理,可以简单理解为,在“客户端请求资源”-“服务端业务处理”的中间,另外加一层拦截变成了“客户端请求资源”-“过滤器(拦截)”-“服务端业务处理”。
至于过滤器有什么用,可以查看下网上找到的相关链接,如果从安全的角度理解的话,可以理解为我们通过过滤器可以拦截带有恶意编码的数据等等。

https://blog.csdn.net/fengdongkun/article/details/8252999

0x03 追溯

经过查资料发现,spring用的servlet3.0的标准?(其实我不太懂java开发,所以就瞎猜),但我能确定的是,从以下文章中

https://blog.csdn.net/bright51future/article/details/47086607

可以确定的是,在之前的servlet配置中,我们一般要配置过滤器等都需要在web.xml当中进行配置,这次我复现的漏洞相关代码当中并没有找到相关的过滤器。于是结合参考链接,对该jar包代码结构进行了一次分析
我们看看配置文件web-fragment.xml,刚好解除了我心中所惑,可以看到配置文件直接指定了过滤器的类。因此,所有url将被该过滤器所拦截。
技术分享图片

JavaCode-1

原文:https://www.cnblogs.com/0x28/p/12393463.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!