引言
接着之前java代码审计系列,Spring MVC应该是Java 领域中最流行的 Web 框架之一,本文将继续从实战代码审计中,手动挖掘如何定位spring mvc的路由、分析拦截器和1day漏洞分析
Spring MVC路由分析
web.xml
书接上文,拿到代码第一步还是直接看web.xml,在web.xml里面搜索DispatcherServlet如果有就用了spring mvc
<servlet>
<servlet-name>rest</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:/rest-servlet.xml</param-value>
</init-param>
<load-on-startup>0</load-on-startup>
</servlet>
看一下这段xml代码
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
这里指定了 Spring MVC 的核心组件DispatcherServlet
,它是处理所有请求的 Servlet。DispatcherServlet
是 Spring MVC 的前端控制器(Front Controller),负责将请求分发到相应的处理器(如控制器)
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:/rest-servlet.xml</param-value>
</init-param>
<init-param>:
这里定义了一个初始化参数,用于指定 Spring 应用上下文的配置文件位置。具体来说,contextConfigLocation 的值为 classpath:/rest-servlet.xml,意味着 Spring 会加载 rest-servlet.xml 作为应用的配置文件。此文件通常包含 Spring 的 Bean 配置、Spring MVC 的设置、拦截器、视图解析器等
context:component-scan
接着看rest-servlet.xml文件
找拦截器代码和context:component-scan
<context:component-scan base-package="com.dahua.admin.rest" />
-
component-scan
的base-package
属性指定了要扫描的包路径。在你的配置中,base-package="com.dahua.admin.rest"
表示 Spring 会扫描com.dahua.admin.rest
包及其子包下的所有类。 -
对于被
@Controller
注解的类,Spring 会自动将其注册为控制器,并且通过@RequestMapping
等注解来处理请求
4A评测 - 免责申明
本站提供的一切软件、教程和内容信息仅限用于学习和研究目的。
不得将上述内容用于商业或者非法用途,否则一切后果请用户自负。
本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑或手机中彻底删除上述内容。
如果您喜欢该程序,请支持正版,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。敬请谅解!
程序来源网络,不确保不包含木马病毒等危险内容,请在确保安全的情况下或使用虚拟机使用。
侵权违规投诉邮箱:4ablog168#gmail.com(#换成@)