代码审计-JAVA项目Filter过滤器及XSS挖掘

QQ截图20220415095746.jpg

QQ截图20220418092604.jpg

QQ截图20220418094357.jpg

Filter 过滤器配置启用及查看

ofcms过滤器查看

  • 查看web.xml(一般在web目录下)

QQ截图20220418100214.jpg

查看过滤器(过滤器名:shiro),过滤器代码储存的地方(判断指向是内部库还是外部库)

QQ截图20220418100238.jpg

搜索org.apache指向的库(注意名字还是有区别的)

QQ截图20220418100258.jpg

点击compare with,加载jar包

QQ截图20220418100323.jpg

当然这里不要加载,可以直接打开(这个应该是外部框架的过滤器)

QQ截图20220418100342.jpg

查看过滤器

QQ截图20220418100454.jpg

过滤器的路由(/admin/表示admin目录下的任意文件都会触发过滤器,如/admin/.jsp就是访问目录下的jsp文件才会触发),红色的是以什么形式访问被触发,这里有request等等

QQ截图20220418100524.jpg

下面又有一个过滤器,对/下所有文件生效

QQ截图20220418100546.jpg

QQ截图20220418100601.jpg

过滤器的初始化

QQ截图20220418100617.jpg

过滤器的核心代码

QQ截图20220418100635.jpg

过滤器的销毁

QQ截图20220418100654.jpg

过滤器的介绍

  • Filter 是 JavaWeb 中的过滤器,用于过滤 URL 请求。通过 Filter 我们可以实现 URL 请求资源权限验证、用户登陆检测等功能。
  • Filter是一个接口,实现一个 Filter只需要重写init、doFilter 、 destroy 方法即可,其中过滤逻辑都在 doFilter 方法中实现。
  • Filter 和 Servlet 一样是 Java Web 中最为核心的部分,使用 Servlet 和 Filter 可以实现后端接口开发和权限控制,当然使用 Filter 机制也可以实现 MVC 框架, Struts2 实现机制就是使用的 Filter。
  • Filter 的配置类似于 Servlet,由 两组标签组成,如果 Servlet 版本大于 3.0同样可以使用注解的方式配置 Filter。