Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >解决fortify扫描出的Path Manipulation问题(java语言)

解决fortify扫描出的Path Manipulation问题(java语言)

作者头像
用户11293412
发布于 2024-10-09 12:26:53
发布于 2024-10-09 12:26:53
2330
举报
文章被收录于专栏:信息安全信息安全

编写java打码如下:

。。。

File proFile = new File(path);

。。。

使用fortify扫描,会报一个Path Manipulation的漏洞,怎么解决呢?看下面代码:

HashMap<String, String> map = new HashMap<String, String>();   map.put("a", "a");   map.put("b", "b");   map.put("c", "c");   map.put("d", "d");   map.put("e", "e");   map.put("f", "f");   map.put("g", "g");   map.put("h", "h");   map.put("i", "i");   map.put("j", "j");   map.put("k", "k");   map.put("l", "l");   map.put("m", "m");   map.put("n", "n");   map.put("o", "o");   map.put("p", "p");   map.put("q", "q");   map.put("r", "r");   map.put("s", "s");   map.put("t", "t");   map.put("u", "u");   map.put("v", "v");   map.put("w", "w");   map.put("x", "x");   map.put("y", "y");   map.put("z", "z");   map.put("A", "A");   map.put("B", "B");   map.put("C", "C");   map.put("D", "D");   map.put("E", "E");   map.put("F", "F");   map.put("G", "G");   map.put("H", "H");   map.put("I", "I");   map.put("J", "J");   map.put("K", "K");   map.put("L", "L");   map.put("M", "M");   map.put("N", "N");   map.put("O", "O");   map.put("P", "P");   map.put("Q", "Q");   map.put("R", "R");   map.put("S", "S");   map.put("T", "T");   map.put("U", "U");   map.put("V", "V");   map.put("W", "W");   map.put("X", "X");   map.put("Y", "Y");   map.put("Z", "Z");

map.put(":", ":");      map.put("/", "/");      map.put("\\", "\\");   String temp = "";   for (int i = 0; i < path.length(); i++) {

   if (map.get(path.charAt(i)+"")!=null) {     temp += map.get(path.charAt(i)+"");    }   }   path = temp;   File proFile = new File(path);

红色代码是新增代码,增加上述代码后,问题解决。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024-10-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
17. 电话号码的字母组合
解:非常典型的dfs,以23为例,树的第一层有a,b,c三个节点,第二层有d,e,f三个节点,开始深度遍历。
张伦聪zhangluncong
2022/10/26
3720
LeetCode 17. Letter Combinations of a Phone Number题目分析代码
以上的答案是按照词典编撰顺序进行输出的,不过,在做本题时,你也可以任意选择你喜欢的输出顺序。
desperate633
2018/08/22
2980
LeetCode 17. Letter Combinations of a Phone Number题目分析代码
【LeetCode】Letter Combinations of a Phone Number
【LeetCode】Letter Combinations of a Phone Number 题目 在手机九宫格键盘上输入一串数字,给出可能打印出来的字符串的集合。 分析 先做一个map将数字映射到键盘上相应的字母集合。 把按键顺序看成深度优先遍历的深度,每次dfs将深度d+1直到d=按键字符串的长度未知,此时即完成了一次按键可能的输出。 实现 static Map<Integer, Character[]> map = new HashMap<Integer, Character[]>();
felix
2018/06/12
8290
设计一个短链接系统
我们可以讲十进制的数字id,转换为一个62进制的数,例如20201122就可以转换为WvOi。
用户3467126
2020/12/01
1.6K0
设计一个短链接系统
总结Js方法工具类库,总有你需要的方法
实际开发工程中,会遇到一些重复的逻辑功能处理或者说是比较繁琐的前端函数。粗略整理了一下,希望对正在浏览的你有所帮助,也希望帮助新入行的小白们解决一下工作中的负担(毕竟谁都是从小白一步一步走过来的,所经受的苦在座的各位也不必我去言说)
Parker
2020/07/22
4.3K0
小程序使用Base64加密key(秘钥)和iv(偏移量)在进行aes加密,AES加密技术简介与应用。
AES最一种常见的对称加密算法,对称加密算法也就是加密和解密用相同的密钥。 具体的加密流程如下图:
江一铭
2022/06/17
2.5K0
小程序使用Base64加密key(秘钥)和iv(偏移量)在进行aes加密,AES加密技术简介与应用。
JUC学习之线程安全集合类
重点介绍 java.util.concurrent.* 下的线程安全集合类,可以发现它们有规律,里面包含三类关键词:Blocking、CopyOnWrite、Concurrent
大忽悠爱学习
2022/05/06
6740
JUC学习之线程安全集合类
【算法】模拟
三三是该溜子
2024/12/30
1420
【算法】模拟
极验验证码(6.0.9)破解(四) 之 'aa' 参数调试和分析
根据前面的分析,我们先看一下文件geetest.6.0.9.js的第1387行,不知道为啥直接定位这一行的,可以看下之前的文章
Java宝典
2021/01/14
1K0
极验验证码(6.0.9)破解(四) 之 'aa' 参数调试和分析
uniapp中使用jsencrypt进行RSA加密,解决密文作为参数传输到后台时+号变成空格的问题「建议收藏」
引入 import { JSEncrypt } from ‘…/…/utils/jsencrypt.js’
全栈程序员站长
2022/10/03
6K0
Java实现图片转字符输出示例demo
前面几篇博文介绍了使用jdk来对图片做一些有意思的转换,接下来我们再介绍一个有意思的玩法,直接根据图片,输出一个二维字符数组,实现用字符来实现绘画的场景
一灰灰blog
2021/12/06
9880
LeetCode 题目解答——Medium 部分(上)
[Updated on 9/22/2017] 如今回头看来,里面很多做法都不是最佳的,有的从复杂度上根本就不是最优解,有的写的太啰嗦,有的则用了一些过于 tricky 的方法。我没有为了这个再更新,就让它们去吧。
四火
2022/07/19
7020
LeetCode 题目解答——Medium 部分(上)
抖音用户视频爬虫案例(2020)
https://blog.csdn.net/weixin_43582101/article/details/114291365
李玺
2021/11/22
1.2K0
抖音用户视频爬虫案例(2020)
自己的中文名用英文_如何根据姓名首字母排序
一个功能需求,做一个类似联系人列表的功能,点击名称获取对应的id,样式简陋,只是一个模板,原来是uniapp项目,根据需要改成了vue,需要的自行设计css
全栈程序员站长
2022/11/07
3.3K0
自己的中文名用英文_如何根据姓名首字母排序
【验证码逆向专栏】某验二代滑块验证码逆向分析
本文章中所有内容仅供学习交流,抓包内容、敏感网址、数据接口均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关,若有侵权,请联系我立即删除!
K哥爬虫
2023/01/12
7960
【验证码逆向专栏】某验二代滑块验证码逆向分析
JAVA生成短8位UUID 转
(adsbygoogle = window.adsbygoogle || []).push({});
stys35
2019/04/18
6.3K0
伪元素的作用_获取iframe中的元素
获取网页源代码也获取不了这些动态渲染的数据 所以用简单的,但是有点麻烦的方法 使用selenium执行js,或者直接在浏览器里面执行js
全栈程序员站长
2022/11/04
8.7K0
伪元素的作用_获取iframe中的元素
Agens层次聚类
层次聚类是另一种主要的聚类方法,它具有一些十分必要的特性使得它成为广泛应用的聚类方法。它生成一系列嵌套的聚类树来完成聚类。单点聚类处在树的最底层,在树的顶层有一个根节点聚类。根节点聚类覆盖了全部的所有数据点。层次聚类分为两种:
机器学习和大数据挖掘
2019/07/02
9790
PAT (Basic Level) Practice (中文)1057 数零壹
给定一串长度不超过 105的字符串,本题要求你将其中所有英文字母的序号(字母 a-z 对应序号 1-26,不分大小写)相加,得到整数 N,然后再分析一下 N 的二进制表示中有多少 0、多少 1。例如给定字符串 PAT (Basic),其字母序号之和为:16+1+20+2+1+19+9+3=71,而 71 的二进制是 1000111,即有 3 个 0、4 个 1。
C you again 的博客
2020/09/15
3420
【PHP】WEBSHELL各类变形方法总结
简介 WebShell的变形技术与各种防护软件的检测方法一直都在相互对抗,本篇文章就对目前常见的WebShell的变形技术进行总结。 目前的防护软件对能够执行命令函数和能够执行代码的函数都会格外的敏感,如eavl、assert、system、popen、shell_exec,所以像最为简单的eval($_POST[cmd])的一句话就一定会被查杀。所以目前的变形的本质都在于如何隐藏自己的敏感函数。 巧用$GPC 利用$GLOBALS @eval($GLOBA
奶糖味的代言
2018/04/12
2.6K0
相关推荐
17. 电话号码的字母组合
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档