当前位置: 首页 > news >正文

Struts2一次请求参数问题的记录

        最近,一次前端正常请求,但后台出现请求参数值的变化,导致报错,问题如下:

       从入参request中查看请求参数,是一个Json字符串,其中有个description的键值对

        

        但是,接下来调用resquest的getParatemer(),取值参数值时,却发现json字符串数值变了,凭空多出来一个deion的键值对,如下图:

         进而导致后续的Json解析报错:

        因为在代码逻辑中,未对此数值进行额外的处理逻辑,正常不会变化才对,查看getParatemer()方法的源码,发现本地有两处进行了重写:

         分别进入两个对应的Fliter中:

第一个没有发现什么修改逻辑;

第二个Filer中,发现未防止Xss注入,对请求进行了处理,在图中第二个标注出,对数值中script的全文替换,导致了上述问题,json中的description被替换后就成了deion。

         发现此问题后,对此替换逻辑,进行了优化(可以选判断下script边界再做替换,或者其他方法),问题解决。

 

相关文章:

Struts2一次请求参数问题的记录

最近,一次前端正常请求,但后台出现请求参数值的变化,导致报错,问题如下: 从入参request中查看请求参数,是一个Json字符串,其中有个description的键值对; 但是,接下来调用…...

ctfshow-web9

0x00 前言 CTF 加解密合集CTF Web合集 0x01 题目 0x02 Write Up 拿到一个站的时候一定要看robots.txt文件 访问一下 看到一个phps,然后下载一下 看到md5,参考这个https://blog.csdn.net/HAI_WD/article/details/132345156?spm1001.2014.3001.5501 …...

网络安全(黑客)自学路线/笔记

想自学网络安全(黑客技术)首先你得了解什么是网络安全!什么是黑客! 网络安全可以基于攻击和防御视角来分类,我们经常听到的 “红队”、“渗透测试” 等就是研究攻击技术,而“蓝队”、“安全运营”、“安全…...

Vim基本使用

Vim基本使用 概念模式类型常规模式编辑模式命令模式 概念 vim 是一款功能丰富、高度可定制和高效的文本编辑器,适用于处理各种文本文件和编程任务。熟练使用vim帮助提高编辑效率,并为用户提供更多的操作选项。 模式类型 常规模式 使用vim打开一个文件…...

二 根据用户行为数据创建ALS模型并召回商品

二 根据用户行为数据创建ALS模型并召回商品 2.0 用户行为数据拆分 方便练习可以对数据做拆分处理 pandas的数据分批读取 chunk 厚厚的一块 相当大的数量或部分 import pandas as pd reader pd.read_csv(behavior_log.csv,chunksize100,iteratorTrue) count 0; for chunk in …...

SpringBoot ⽇志⽂件

日志 1. 作用2. 日志的使用3. 日志的级别4. 日志的持久化 1. 作用 日志最主要的⽤途就是排除和定位问题。 除了发现和定位问题之外,我们还可以通过⽇志实现以下功能: 记录⽤户登录⽇志,⽅便分析⽤户是正常登录还是恶意破解⽤户。记录系统的…...

SpringBoot案例-部门管理-查询

查看页面原型,明确需求需求 页面原型 需求分析 阅读接口文档 接口文档链接如下: https://docs.qq.com/doc/DUkRiTWVaUmFVck9N 思路分析 用户发送请求,交由对应的Controller类进行处理,Controller类调用service实现查询部门功…...

Java中处理表格

大家好 , 我是苏麟 , 也是很久没有更新了 , 今天带来一个很好使用的一个库 easyexcel. JAVA后端开发中可能会遇到一个问题 , 就是处理Execel表格 , 当然不一定非要用Java 我们在这里只说在Java里怎么去处理表格 . Easy Excel 我们今天要说到就是 Easy Excel , 这个是阿里的项…...

指静脉开集测试(OpenSet-test)代码(包含7个数据集)

七个数据集:sdu、mmc、hkpu、scut、utfvp、vera、nupt 一、SDU 80%用于训练,20%用于作为开集测试 1.数据集分割代码 ①先把636个类别提取出来 func: 创建temp_sdu,将636个类划分出来。下一个代码块将进行openset_sdu的分割import os from shutil import copy, rmtre…...

okcc对接ASR平台,okcc客户投诉的安全问题

客户投诉: 客户为什么要投诉?实际上分为两种情况,一是客户被冒犯到不能容忍导致的投诉,二是恶意投诉。降低客户被冒犯投诉的概率,无非就是选择客户、规范用语、降低频度;减少恶意投诉,回避是实践证明最有效…...

JVM中判定对象是否回收的的方法

引用计数法 引用计数法是一种垃圾回收(Garbage Collection)算法,用于自动管理内存中的对象。在引用计数法中,每个对象都有一个关联的引用计数器,用于记录对该对象的引用数量。 当一个新的引用指向对象时,…...

macos 使用vscode 开发python 爬虫(开发二)

以下是一个示例,用于爬取一个公开的示例网站(http://books.toscrape.com),并提取书籍的标题和价格: import requests from bs4 import BeautifulSoup# 发起请求并获取网页内容 url 可以用上面的链接🔗 re…...

(已解决)redis.get报错com.alibaba.fastjson.JSONException: autoType is not support

redis存取值问题,存自定义实体对象; 第一次取的时候报错:com.alibaba.fastjson.JSONException: autoType is not support。 GenericFastJsonRedisSerializer序列化和反序列化redis的value值,需要bean对象含有无参构造方法。 解决…...

控价可以这样做

品牌为什么要做控价,因为渠道中的低价、假货、窜货链接不仅会影响品牌价值和发展,还会影响经销商的合作,长期销售受阻的经销商,会选择低价更价,或者不合作,这无疑是在使品牌渠道走向更为混乱的局面。同时低…...

Spring学习笔记之Spring IoC注解式开发

文章目录 声明Bean的注解Component注解Controller注解Service注解Repository Spring注解的使用选择性实例化Bean负责注入的注解ValueAutowired与QuaifierResource 全注解式开发 注解的存在主要是为了简化XML的配置。Spring6倡导全注解开发 注解怎么定义,注解中的属性…...

C语言入门教程,C语言学习教程(非常详细)第二章 c语言初探

第一个C语言程序 我们有两种方式从计算机获得信息:一是看屏幕上的文字、图片、视频等,二是听从喇叭发出来的声音。让喇叭发出声音目前还比较麻烦,我们先来看看如何在屏幕上显示一些文字吧。 在屏幕上显示文字非常简单,只需要一个…...

HOT99-下一个排列

leetcode原题链接:下一个排列 题目描述 整数数组的一个 排列 就是将其所有成员以序列或线性顺序排列。 例如,arr [1,2,3] ,以下这些都可以视作 arr 的排列:[1,2,3]、[1,3,2]、[3,1,2]、[2,3,1] 。整数数组的 下一个排列 是指其…...

JAVA基础知识(二)——程序流程控制

程序流程控制 一、程序流程控制1.1 程序流程控制1.2 顺序结构1.3 分支结构1.4 循环结构1.5 嵌套循环1.6 return的使用 一、程序流程控制 1.1 程序流程控制 流程控制语句是用来控制程序中各语句执行顺序的语句,可以把语句组合成能完成一定功能的小逻辑模块。 其流程…...

mysql知识点+面试总结

目录 1 mysql介绍 2 数据库常见语法 3 数据库表的常见语法 4 其他常见语法(日期,查询表字段) 5 JDBC开发步骤 6 索引 6.1 索引常见语法 7 常见面试总结 8 java代码搭建监控页面 1 mysql介绍 数据库:存储在硬盘上的文件系统…...

前端大屏常用的适配方案

假设我们正在开发一个可视化拖拽的搭建平台,可以拖拽生成工作台或可视化大屏,或者直接就是开发一个大屏,首先必须要考虑的一个问题就是页面如何适应屏幕,因为我们在搭建或开发时一般都会基于一个固定的宽高,但是实际的…...

浅谈 React Hooks

React Hooks 是 React 16.8 引入的一组 API,用于在函数组件中使用 state 和其他 React 特性(例如生命周期方法、context 等)。Hooks 通过简洁的函数接口,解决了状态与 UI 的高度解耦,通过函数式编程范式实现更灵活 Rea…...

从WWDC看苹果产品发展的规律

WWDC 是苹果公司一年一度面向全球开发者的盛会,其主题演讲展现了苹果在产品设计、技术路线、用户体验和生态系统构建上的核心理念与演进脉络。我们借助 ChatGPT Deep Research 工具,对过去十年 WWDC 主题演讲内容进行了系统化分析,形成了这份…...

R语言AI模型部署方案:精准离线运行详解

R语言AI模型部署方案:精准离线运行详解 一、项目概述 本文将构建一个完整的R语言AI部署解决方案,实现鸢尾花分类模型的训练、保存、离线部署和预测功能。核心特点: 100%离线运行能力自包含环境依赖生产级错误处理跨平台兼容性模型版本管理# 文件结构说明 Iris_AI_Deployme…...

SciencePlots——绘制论文中的图片

文章目录 安装一、风格二、1 资源 安装 # 安装最新版 pip install githttps://github.com/garrettj403/SciencePlots.git# 安装稳定版 pip install SciencePlots一、风格 简单好用的深度学习论文绘图专用工具包–Science Plot 二、 1 资源 论文绘图神器来了:一行…...

中南大学无人机智能体的全面评估!BEDI:用于评估无人机上具身智能体的综合性基准测试

作者:Mingning Guo, Mengwei Wu, Jiarun He, Shaoxian Li, Haifeng Li, Chao Tao单位:中南大学地球科学与信息物理学院论文标题:BEDI: A Comprehensive Benchmark for Evaluating Embodied Agents on UAVs论文链接:https://arxiv.…...

DAY 47

三、通道注意力 3.1 通道注意力的定义 # 新增:通道注意力模块(SE模块) class ChannelAttention(nn.Module):"""通道注意力模块(Squeeze-and-Excitation)"""def __init__(self, in_channels, reduction_rat…...

【解密LSTM、GRU如何解决传统RNN梯度消失问题】

解密LSTM与GRU:如何让RNN变得更聪明? 在深度学习的世界里,循环神经网络(RNN)以其卓越的序列数据处理能力广泛应用于自然语言处理、时间序列预测等领域。然而,传统RNN存在的一个严重问题——梯度消失&#…...

基于 TAPD 进行项目管理

起因 自己写了个小工具,仓库用的Github。之前在用markdown进行需求管理,现在随着功能的增加,感觉有点难以管理了,所以用TAPD这个工具进行需求、Bug管理。 操作流程 注册 TAPD,需要提供一个企业名新建一个项目&#…...

return this;返回的是谁

一个审批系统的示例来演示责任链模式的实现。假设公司需要处理不同金额的采购申请,不同级别的经理有不同的审批权限: // 抽象处理者:审批者 abstract class Approver {protected Approver successor; // 下一个处理者// 设置下一个处理者pub…...

人机融合智能 | “人智交互”跨学科新领域

本文系统地提出基于“以人为中心AI(HCAI)”理念的人-人工智能交互(人智交互)这一跨学科新领域及框架,定义人智交互领域的理念、基本理论和关键问题、方法、开发流程和参与团队等,阐述提出人智交互新领域的意义。然后,提出人智交互研究的三种新范式取向以及它们的意义。最后,总结…...