代码审计-Java项目Filter过滤器CNVD分析XSS跨站框架安全

news2024/11/15 18:29:01

文章目录

  • Demo-Filter-过滤器引用
  • Demo-ST2框架-组件安全
  • CNVD-Jeesns-XSS跨站绕过
  • CNVD-悟空CRM-Fastjson组件

Demo-Filter-过滤器引用

Filter:Javaweb三大组件之一(另外两个是Servlet、Listener)
概念:Web中的过滤器,当访问服务器的资源时,过滤器可以将请求拦截下来,完成一些通用的功能(登陆验证、统一编码处理、敏感字符过滤……)

web.xml:

<filter>
    <filter-name>xsscheck</filter-name>//名字
    <filter-class>com.anbai.sec.XssFilter</filter-class>//class
</filter>
<filter-mapping>
    <filter-name>xsscheck</filter-name>//名字
    <!-- 拦截路径 或 匹配模式-->
    <url-pattern>*.jsp</url-pattern>//路由
</filter-mapping>

过滤器生命周期方法
1. init:在服务器启动后,会创建Filter对象,然后调用init方法。只执行一次。用于加载资源
2. doFilter:每一次请求被拦截资源时,会执行。执行多次
3. destroy:在服务器关闭后,Filter对象被销毁。如果服务器是正常关闭,则会执行destroy方法。只执行一次。用于释放资源

Demo-ST2框架-组件安全

配置文件获取框架名称及版本,利用漏洞库验证是否存在漏洞
确定框架是否符合(名称和版本),结合网上给出的漏洞库进行判断
查看配置文件web.xml和外部引用库,确定当前引用框架名称和版本
Struts2 配置文件:struts.xml
Spring 配置文件:applicationContext.xml
Spring MVC 配置文件:spring-mvc.xml
Hibernate 配置文件:Hibernate.cfg.xml
Mybaits 配置文件:mybatis-config.xml

CNVD-Jeesns-XSS跨站绕过

error?msg=<Script>prompt(/xss/)</Script>

在这里插入图片描述
进行测试发现存在xss,但是代码进行了相关过滤
在这里插入图片描述
查看源码中相关过滤功能段,进行绕过
在这里插入图片描述

    private String cleanXSS(String value) {
        value = dealScript(value);
        value = dealStyle(value);
        String[] eventKeywords = new String[]{"onmouseover", "onmouseout", "onmousedown", "onmouseup", "onmousemove", "onclick", "ondblclick", "onkeypress", "onkeydown", "onkeyup", "ondragstart", "onerrorupdate", "onhelp", "onreadystatechange", "onrowenter", "onrowexit", "onselectstart", "onload", "onunload", "onbeforeunload", "onblur", "onerror", "onfocus", "onresize", "onscroll", "oncontextmenu", "alert"};

        for(int i = 0; i < eventKeywords.length; ++i) {
            value = value.replaceAll("(?i)" + eventKeywords[i], "_" + eventKeywords[i]);	//忽略大小写 进行关键词替换 
        }

        return value;
    }

在这里插入图片描述

CNVD-悟空CRM-Fastjson组件

{“@type”:“java.net.Inet4Address”,“val”:“0xibeu.dnslog.cn”}
https://blog.csdn.net/weixin_56039103/article/details/116737764

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/674057.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

编程语言的优劣评选标准与未来发展趋势——探索最佳编程语言选择

编程语言的优劣评选标准与未来发展趋势——探索最佳编程语言选择 评判标准不同编程语言的优点与缺点分析对编程语言未来发展的猜测和未来趋势 &#x1f495; &#x1f495; &#x1f495; 博主个人主页&#xff1a; 汴京城下君–野生程序员&#x1f495; &#x1f495; &#x…

编程输出三位数的水仙花数

目录 题目 分析思路 代码 题目 编程输出三位数的水仙花数 标准的 水仙花数 就是三位数&#xff0c;即将三位数的个位&#xff1b;十位&#xff1b;百位取出来&#xff0c;分别三次方相加&#xff0c;若个位&#xff1b;十位&#xff1b;百位三次方相加与原来的三位数相等&a…

模拟电路系列文章-频率响应的描述

目录 概要 整体架构流程 技术名词解释 技术细节 1.为什么受频率的影响 2.频率响应 小结 概要 提示&#xff1a;这里可以添加技术概要 电容和电感是储能元件&#xff0c;对不同频率的交流信号&#xff0c;它们具有不同的感抗或者容抗。虽然它们不消耗功率&#xff0c;但同电阻一…

【PHP】文件写入和读取详解

一&#xff0e;实现文件读取和写入的基本思路&#xff1a; 1&#xff0e;通过fopen方法打开文件&#xff1a;$fp fopen(/*参数&#xff0c;参数*/)&#xff0c;fp为Resource类型 2&#xff0e;进行文件读取或者文件写入操作&#xff08;这里使用的函数以1中返回的$fp作为参数…

Python网络爬虫基础进阶到实战教程

文章目录 认识网络爬虫HTML页面组成Requests模块get请求与实战效果图代码解析 Post请求与实战代码解析 发送JSON格式的POST请求使用代理服务器发送POST请求发送带文件的POST请求 Xpath解析XPath语法的规则集&#xff1a;XPath解析的代码案例及其详细讲解&#xff1a;使用XPath解…

macOS Sonoma 14 beta 2 (23A5276g) ISO、IPSW、PKG 下载

macOS Sonoma 14 beta 2 (23A5276g) ISO、IPSW、PKG 下载 本站下载的 macOS 软件包&#xff0c;既可以拖拽到 Applications&#xff08;应用程序&#xff09;下直接安装&#xff0c;也可以制作启动 U 盘安装&#xff0c;或者在虚拟机中启动安装。另外也支持在 Windows 和 Linu…

【致敬未来的攻城狮计划】打卡2:keil 程序下载尝试

下载 终于考完试了&#xff0c;然而攻城狮的截止期限也快到了QAQ&#xff0c;得尽快水&#xff08;划掉&#xff09;写几篇文章了&#xff01; 先争取可以成功下载一个空的程序。 先对上一篇文章下载 DFP 也就是 keil MDK Software Packs 做一个补充。我们要下载的是 RA_DFP…

[进阶]TCP通信综合案例:群聊

代码演示如下&#xff1a; 客户端&#xff1a; public class Client {public static void main(String[] args) throws Exception{System.out.println("客户端开启&#xff01;");//1.创建Socket对象&#xff0c;并同时请求与服务端程序的连接。Socket socket new…

网线制作实验

计算机网络综合实训 网线制作 所在院系 计算机与信息工程学院 学科专业名称 计算机科学与技术 导师及职称 柯宗武 教授 提交时间 2023.4.30 计算机网络综合实训报告 一、实验目的 1、掌握三类UTP线缆的制作和测试方法 2、了解三类UTP线缆的作用及布线方式 二、实验内容 1、局…

第二章 进程的描述与控制

目录 一、进程的概念、组成、特征 1.1 进程的概念 1.1.1 程序 1.1.2 进程 1.2 进程的组成 1.3 进程控制块PCB 1.4 进程的特征 二、进程的状态与转换 2.1 进程的状态 2.2 创建态、就绪态 2.3 运行态 2.4 阻塞态 2.5 终止态 2.6 进程状态的转换 2.7 进程的组织 三…

【C++篇】C++字符串:标准库string类

友情链接&#xff1a;C/C系列系统学习目录 知识总结顺序参考C Primer Plus&#xff08;第六版&#xff09;和谭浩强老师的C程序设计&#xff08;第五版&#xff09;等&#xff0c;内容以书中为标准&#xff0c;同时参考其它各类书籍以及优质文章&#xff0c;以至减少知识点上的…

python3.9 安装 pyspider

安装pyspider pip install pyspider 直接报错 Please specify --curl-dir/path/to/built/libcurl 于是从PythonLibs官网 中获取依赖并自行下载到本地 下载与3.9对应的 执行安装 pip install D:\下载\ad3-2.2.1-cp39-cp39-win32.whl 安装成功之后 执行 pip install p…

1748_Perl中使用通配符处理文件

全部学习汇总&#xff1a; GreyZhang/perl_basic: some perl basic learning notes. (github.com) 使用通配符处理文件一般是用于文件的拷贝、删除以及对文件逐个分析等功能。在Perl中遇到的相应的功能基本上也是如此。通配符匹配处理文件&#xff08;文件名&#xff09;需要使…

前端JavaScript入门-day01

(创作不易&#xff0c;感谢有你&#xff0c;你的支持&#xff0c;就是我前行的最大动力&#xff0c;如果看完对你有帮助&#xff0c;请留下您的足迹&#xff09; 目录 JavaScript 介绍 1 JavaScript 是什么 1. JavaScript &#xff08;是什么&#xff1f;&#xff09; 2. 作…

H. Don‘t Blame Me(DP)

Problem - 1829H - Codeforces 很遗憾&#xff0c;这道题目的出题人没有想到一个有趣的故事&#xff0c;所以他只是让你解决以下问题。 给定由n个正整数组成的数组a&#xff0c;计算具有子序列中元素的按位AND在其二进制表示中恰好有k个设置位的非空子序列的数量。答案可能很大…

Winwebmail搭建邮件服务器

配置环境 角色系统IP地址DNS邮件服务器WindowServer2016192.168.1.1/24192.168.1.1客户端1Window10192.168.1.10/24192.168.1.1客户端2Window10192.168.1.20/24192.168.1.1 Winwebmail介绍 WinWebMail是安全高速的全功能邮件服务器&#xff0c;融合强大的功能与轻松的管理为…

macOS Ventura 13.4.1 (22F82|22F2083) 正式版发布,ISO、IPSW、PKG 下载

macOS Ventura 13.4.1 (22F82|22F2083) 正式版发布&#xff0c;ISO、IPSW、PKG 下载 本站下载的 macOS Ventura 软件包&#xff0c;既可以拖拽到 Applications&#xff08;应用程序&#xff09;下直接安装&#xff0c;也可以制作启动 U 盘安装&#xff0c;或者在虚拟机中启动安…

C++ 指针常量与常量指针

指针常量与常量指针的翻译就好比机器学习中Regularization翻译成正则化一样&#xff0c;讲真&#xff0c;正则化这个说法确实要比规则化显得高端些&#xff0c;但是到了理解的时候&#xff0c;还是要按照规则化理解。 指针常量与常量指针这个概念是一样的&#xff0c;英文里没…

【STM32】软件I2C(支持多字节)

I2C简介 I2C总线是一种串行、半双工的总线&#xff0c;主要用于近距离、低速的芯片之间的通信。I2C总线有两根双向的信号线&#xff0c;一根数据线SDA用于收发数据&#xff0c;一根时钟线SCL用于通信双方时钟的同步。 在一个i2c通讯总线中&#xff0c;可连接多个i2c通讯设备&a…

Linux国产操作系统,UCA-系统工程师学习必备技能,系统状态查询和进程管理,uname命令last命令 top命令和 ps命令 kill命令

目录 ​编辑 1.系统状态查询 1. 1.uname命令 1.2. last命令 1.3. top命令 2.进程管理 2.1. ps命令 2.2. kill命令 1.系统状态查询 1. 1.uname命令 rootuos~#: uname rootuos~#: uname -r 4.19是内核&#xff0c;0-6-amd64是架构。 rootuos~#: uname -a eagle操作系统的…