前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >解决fortify扫描出的Path Manipulation问题(java语言)

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

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

编写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
3190
LeetCode 17. Letter Combinations of a Phone Number题目分析代码
以上的答案是按照词典编撰顺序进行输出的,不过,在做本题时,你也可以任意选择你喜欢的输出顺序。
desperate633
2018/08/22
2660
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
7810
总结Js方法工具类库,总有你需要的方法
实际开发工程中,会遇到一些重复的逻辑功能处理或者说是比较繁琐的前端函数。粗略整理了一下,希望对正在浏览的你有所帮助,也希望帮助新入行的小白们解决一下工作中的负担(毕竟谁都是从小白一步一步走过来的,所经受的苦在座的各位也不必我去言说)
Parker
2020/07/22
4.1K0
小程序使用Base64加密key(秘钥)和iv(偏移量)在进行aes加密,AES加密技术简介与应用。
AES最一种常见的对称加密算法,对称加密算法也就是加密和解密用相同的密钥。 具体的加密流程如下图:
江一铭
2022/06/17
2.2K0
小程序使用Base64加密key(秘钥)和iv(偏移量)在进行aes加密,AES加密技术简介与应用。
设计一个短链接系统
我们可以讲十进制的数字id,转换为一个62进制的数,例如20201122就可以转换为WvOi。
用户3467126
2020/12/01
1.5K0
设计一个短链接系统
【算法】模拟
三三是该溜子
2024/12/30
760
【算法】模拟
自己的中文名用英文_如何根据姓名首字母排序
一个功能需求,做一个类似联系人列表的功能,点击名称获取对应的id,样式简陋,只是一个模板,原来是uniapp项目,根据需要改成了vue,需要的自行设计css
全栈程序员站长
2022/11/07
2.9K0
自己的中文名用英文_如何根据姓名首字母排序
JUC学习之线程安全集合类
重点介绍 java.util.concurrent.* 下的线程安全集合类,可以发现它们有规律,里面包含三类关键词:Blocking、CopyOnWrite、Concurrent
大忽悠爱学习
2022/05/06
5810
JUC学习之线程安全集合类
极验验证码(6.0.9)破解(四) 之 'aa' 参数调试和分析
根据前面的分析,我们先看一下文件geetest.6.0.9.js的第1387行,不知道为啥直接定位这一行的,可以看下之前的文章
Java宝典
2021/01/14
9680
极验验证码(6.0.9)破解(四) 之 'aa' 参数调试和分析
Java实现图片转字符输出示例demo
前面几篇博文介绍了使用jdk来对图片做一些有意思的转换,接下来我们再介绍一个有意思的玩法,直接根据图片,输出一个二维字符数组,实现用字符来实现绘画的场景
一灰灰blog
2021/12/06
9180
uniapp中使用jsencrypt进行RSA加密,解决密文作为参数传输到后台时+号变成空格的问题「建议收藏」
引入 import { JSEncrypt } from ‘…/…/utils/jsencrypt.js’
全栈程序员站长
2022/10/03
5.7K0
LeetCode 题目解答——Medium 部分(上)
[Updated on 9/22/2017] 如今回头看来,里面很多做法都不是最佳的,有的从复杂度上根本就不是最优解,有的写的太啰嗦,有的则用了一些过于 tricky 的方法。我没有为了这个再更新,就让它们去吧。
四火
2022/07/19
6370
LeetCode 题目解答——Medium 部分(上)
解决UMAMI统计脚本被广告拦截插件屏蔽的问题
上一篇文章讲到了如何在本机环境和docker中去安装umami,这一篇讲一下如何防止umami脚本被屏蔽。 默认的代码如下:
Laikee
2022/04/28
1.8K0
解决UMAMI统计脚本被广告拦截插件屏蔽的问题
归档 | 使用Javascript获取m3u8
本页将提供一些JS代码,在您的浏览器运行这些代码有助于更快的获取到m3u8链接用以下载。 为了方便使用,最好将下面的JS代码存为书签。 注意: 所有代码仅供学习,请勿用于任何违法途径 所有代码通过360极速浏览器测试成功 本页Javascript代码有的已经年久失修,均不保证正常使用 使用方法: Github: N_m3u8DL-CLI [.NET] m3u8 downloader 开源的命令行m3u8/HLS/dash下载器,支持普通AES-128-CBC解密,多线程,自定义请求头等. 支持简体中文
Zkeq
2022/05/18
11.1K4
归档 | 使用Javascript获取m3u8
【PHP】WEBSHELL各类变形方法总结
简介 WebShell的变形技术与各种防护软件的检测方法一直都在相互对抗,本篇文章就对目前常见的WebShell的变形技术进行总结。 目前的防护软件对能够执行命令函数和能够执行代码的函数都会格外的敏感,如eavl、assert、system、popen、shell_exec,所以像最为简单的eval($_POST[cmd])的一句话就一定会被查杀。所以目前的变形的本质都在于如何隐藏自己的敏感函数。 巧用$GPC 利用$GLOBALS @eval($GLOBA
奶糖味的代言
2018/04/12
2.5K0
抖音用户视频爬虫案例(2020)
https://blog.csdn.net/weixin_43582101/article/details/114291365
李玺
2021/11/22
9680
抖音用户视频爬虫案例(2020)
【验证码逆向专栏】某验二代滑块验证码逆向分析
本文章中所有内容仅供学习交流,抓包内容、敏感网址、数据接口均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关,若有侵权,请联系我立即删除!
K哥爬虫
2023/01/12
7340
【验证码逆向专栏】某验二代滑块验证码逆向分析
LeetCode 付费题目(一)
【题目】Given a binary tree where all the right nodes are either leaf nodes with a sibling (a left node that shares the same parent node) or empty, flip it upside down and turn it into a tree where the original right nodes turned into left leaf nodes. Return the new root.
四火
2022/07/19
2.6K0
2023-09-20:用go语言,保证一定是n*n的正方形,实现从里到外转圈打印的功能 如果n是奇数,中心点唯一,比如 a b
2023-09-20:用go语言,保证一定是n*n的正方形,实现从里到外转圈打印的功能
福大大架构师每日一题
2023/09/21
2110
2023-09-20:用go语言,保证一定是n*n的正方形,实现从里到外转圈打印的功能 如果n是奇数,中心点唯一,比如 a b
推荐阅读
相关推荐
17. 电话号码的字母组合
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档