Log Forging (FORTIFY.Log_Forging)解决办法
下列 Web 应用程序代码会尝试从一个请求对象中读取整数值。如果数值未被解析为整数,输入就会被记录到日志中,附带一条提示相关情况的错误消息。
...
String val = request.getParameter("val");
try {
int value = Integer.parseInt(val);
}catch (NumberFormatException nfe) {
log.info("Failed to parse val = " + val);
}
...
如果用户为“val”提交字符串“twenty-one”,则日志中会记录以下条目:
INFO: Failed to parse val=twenty-one
然而,如果攻击者提交字符串 “twenty-one%0a%0aINFO:+User+logged+out%3dbadguy”,则日志中会记录以下条目:
INFO: Failed to parse val=twenty-one
INFO: User logged out=badguy
显然,攻击者可以使用同样的机制插入任意日志条目。
修复方案,过滤引起Log Forging漏洞的敏感字符的公共方法
/*** Log Forging漏洞校验* @param logs* @return*/public static String vaildLog(String logs) {List<String> list=new ArrayList<String>();list.add("%0d");list.add("%0a");list.add("%0A");list.add("%0D");list.add("\r");list.add("\n");String normalize = Normalizer.normalize(logs, Normalizer.Form.NFKC);for (String str : list) {normalize=normalize.replace(str, "");}return normalize;}
Log Forging (FORTIFY.Log_Forging)解决办法相关推荐
- windows event log 错误2 的解决办法(电脑网络连接图标消失的罪魁祸首)
电脑开机右下角发现网络连接图标消失,电脑无法连接网络,定位问题后发现是前置的windows event log服务未启动导致网络连接无法正常运行 但手动启动windows event log服务时,提 ...
- moss得log文件不断增长的解决办法
转自:http://bbs.winos.cn/viewthread.php?tid=35075&highlight=moss%B5%C3log%CE%C4%BC%FE%B2%BB%B6%CF% ...
- 华为手机或者平板调试安卓Log日志Log.v/Log.d不输出解决办法
手机拨号 手机拨号*##2846579##*,进入projectmenu–后台设置–LOG设置–LOG开关–打开 4.0以上的系统勾选[AP日志][CP日志] 平板用计算器输入()代替#* 可以使用横 ...
- php5编译安装常见错误和解决办法集锦
最近在给开发同事折腾开发测试环境,其中就有 php 的编译安装.由于每个人的需求不一致,所以也接触到了各种模块编译和集成,中间不乏各种编译依赖报错. 正好,搜了几次都是下面 2 篇文章内容,干脆就转到 ...
- Log forging漏洞解决办法
输出日志前,将引起Log Forging 漏洞的敏感字符过滤一下 /*** 过滤引起Log Forging漏洞的敏感字符* @param str*/ private String filterLogF ...
- SpringBoot项目中解决Fortify漏洞Log Forging日志伪造
欢迎大家关注我的公众号[老周聊架构],Java后端主流技术栈的原理.源码分析.架构以及各种互联网高并发.高性能.高可用的解决方案. 一.例子 下列 Web 应用程序代码会尝试从一个请求对象中读取整数值 ...
- Upgrade after a crash is not supported. The redo log was created with Maria的解决办法
关于[InnoDB] Unsupported redo log format (0). The redo log was created before MySQL 5.7.9的解决办法 利用mkdir ...
- tf2.0环境下“module ‘tensorflow‘ has no attribute ‘log‘”的解决办法
写在这里的初衷,一是备忘,二是希望得到高人指点,三是希望能遇到志同道合的朋友. 目录 一.问题 二.根本原因 三.解决办法 方法一 方法二 一.问题 目前,尝试着通过tensorflow对医学图像进行 ...
- 关于 MySQL5.7.log 版本导出 SQL 语句再导入 8.0.13 版本出现 Incorrect datetime value: ‘0000-00-00 00:00:00‘ 错误的解决办法
环境配置 导出数据库版本:5.7.12.log 导入数据库版本:8.0.13 问题: 导出 SQL 脚本,再在高版本数据库中导入时,出现 Incorrect datetime value: '0000 ...
最新文章
- 用Maven插件生成Mybatis代码/数据库
- 合成孔径雷达技术——概述
- python 访问需要HTTP Basic Authentication认证的资源
- c语言楼梯有10级台阶,C语言小程序之没事爬楼梯
- shell执行的特殊变数
- C++socket编程(五):5.2 tcp编程总结
- 50 岁的他笑谈码农真相,看完清醒了!| 人物志
- html5留言板网页设计,网页设计制作-留言板
- neatupload 控件上传大文件
- Mysql 最最最基本语句(大全)
- golang语言环境搭建
- oppo,ofp格式解包工具.Unpack ofp oppo手机,ofp线刷包解包教程
- 如何开始使用接口自动化测试脚本
- linux 极点五笔,Linux 安装ibus极点五笔输入法备忘录
- 深入分析Java中的length和length()
- 360浏览器显示服务器拒绝连接,360浏览器提示“您与此网站之间建立的连接不安全完美解决方法...
- Chrome浏览器怎么安装插件
- PLC若想实现以太网口无线通讯,需要具备哪些条件?
- 卡尔曼滤波理论小释之卡尔曼增益
- x3+y3+z3=3
热门文章
- 分享插件 jiaThis
- Quested V2108录音室监听音箱评测
- 父页面调子iframe页面方法和子iframe调用父页面方法
- 关于RemoteView的一点愚见(RemoteView在AppWidget中的工作流程)
- [力扣cpp实现] 589. N叉树的前序遍历
- 分页第一页用0还是1_白杨SEO:5000字从0-1拆解如何用知乎排名做精准引流和变现?...
- 2022 重新认识绩效评估:定义、特点、步骤【下篇】
- 三层交换机配置及命令
- UE4 C++变量网络复制的规则
- 锤子、360、美图……金立之后下一个倒下的“三线”是谁?| 一点财经