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

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

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

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

        

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

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

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

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

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

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

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

 

http://www.lryc.cn/news/127913.html

相关文章:

  • ctfshow-web9
  • 网络安全(黑客)自学路线/笔记
  • Vim基本使用
  • 二 根据用户行为数据创建ALS模型并召回商品
  • SpringBoot ⽇志⽂件
  • SpringBoot案例-部门管理-查询
  • Java中处理表格
  • 指静脉开集测试(OpenSet-test)代码(包含7个数据集)
  • okcc对接ASR平台,okcc客户投诉的安全问题
  • JVM中判定对象是否回收的的方法
  • macos 使用vscode 开发python 爬虫(开发二)
  • (已解决)redis.get报错com.alibaba.fastjson.JSONException: autoType is not support
  • 控价可以这样做
  • Spring学习笔记之Spring IoC注解式开发
  • C语言入门教程,C语言学习教程(非常详细)第二章 c语言初探
  • HOT99-下一个排列
  • JAVA基础知识(二)——程序流程控制
  • mysql知识点+面试总结
  • 前端大屏常用的适配方案
  • 技术债 笔记
  • 【Leetcode】102.二叉树的层序遍历
  • 上传文件报413Request EntityToo Large错误解决办法
  • Neo4j之MERGE基础
  • AbstractRoutingDataSource,spring配置多数据源问题
  • 日常BUG—— SpringBoot项目DEBUG模式启动慢、卡死。
  • Linux网络编程(TCP状态转换关系)
  • tauri-vue:快速开发跨平台软件的架子,支持自定义头部UI拖拽移动和窗口阴影效果
  • 做好以下几点,可以让我们延长周末体验感,好好放松!!!
  • Python 学习笔记——代码基础
  • Android Studio 无法正常导入项目