继续对Fortify的漏洞进行总结,本篇主要针对 Portability Flaw: File Separator 和  Poor Error Handling: Return Inside Finally 漏洞进行总结,如下: 1.Portability Flaw: File Separator(文件分隔符) 1.1.产生原因: 不同的操作系统使用不同的字符作为文件分隔符.例如,Microsoft Windows 系统使用“\”,而 UNIX 系统则使用“/”.应用程序需要在不同的平台上运行时…
继续对Fortify的漏洞进行总结,本篇主要针对 Portability Flaw: Locale Dependent Comparison 漏洞进行总结,如下: 1.Portability Flaw: Locale Dependent Comparison 1.1.产生原因: 对可能与区域设置相关的数据进行比较时,应指定相应的区域设置. 示例 1:以下示例尝试执行验证,以确定用户输入是否包含 <script> 标签. ... public String tagProcessor(String…
在Windows下的路径分隔符和Linux下的路径分隔符是不一样的,当直接使用绝对路径时,跨平台会暴出“No such file or diretory”的异常. 比如说要在temp目录下建立一个test.txt文件,在Windows下应该这么写:File file1 = new File ("C:\tmp\test.txt");在Linux下则是这样的:File file2 = new File ("/tmp/test.txt"); 如果要考虑跨平台,则最好是这么…
前些天遇到一个问题,困扰了好久,现在终于解决了. 问题:上传的图片不能正确显示. 我的开发环境是在Windows下,工程在Windows下能正常部署,上传的图片也可以正常的显 示.但是把工程部署在服务器上的时候,图片总是不能显示,很是让人郁闷,后来在网上找了 各种资料,问题终于解决了. 文件路径的分隔符在windows系统和linux系统中是不一样. 比如说要在temp目录下建立一个test.txt文件,在Windows下应该这么写: File file1 = new File (“C:\tmp…
在Windows下的路径分隔符和Linux下的路径分隔符是不一样的,当直接使用绝对路径时,跨平台会暴出“No such file or diretory”的异常. 比如说要在temp目录下建立一个test.txt文件,在Windows下应该这么写: File file1 = new File ("C:\tmp\test.txt"); 在linux下则是这样的: File file2 = new File ("/tmp/test.txt"); 如果要考虑跨平台,则最好…
一.File类 在Windows下的路径分隔符(\)和在Linux下的路径分隔符(/)是不一样的,当直接使用绝对路径时,跨平台会报No Such file or diretory异常. File中还有几个与separator类似的静态常量,与系统有关,在编程中应尽量使用. ps:File file = new File("G:"+ File.separator +"demo.txt"); File类是java.io包中唯一一个与文件本身操作有关的类,文件本身操作是指…
在Windows下的路径分隔符和Linux下的路径分隔符是不一样的,当直接使用绝对路径时,跨平台会暴出“No such file or diretory”的异常. 比如说要在temp目录下建立一个test.txt文件,在Windows下应该这么写:File file1 = new File ("C:\tmp\test.txt");在Linux下则是这样的:File file2 = new File ("/tmp/test.txt"); 如果要考虑跨平台,则最好是这么…
一.File.separator File file=new File(); 这句是新建一个文件.file.separator这个代表系统目录中的间隔符,说白了就是斜线,不过有时候需要双线,有时候是单线,你用这个静态变量就解决兼容问题了. 在Windows下的路径分隔符和Linux下的路径分隔符是不一样的,当直接使用绝对路径时,跨平台会暴出“No such file or diretory”的异常. 比如说要在temp目录下建立一个test.txt文件,在Windows下应该这么写:File f…
在Windows下的路径分隔符和Linux下的路径分隔符是不一样的,当直接使用绝对路径时,跨平台会暴出“No such file or diretory”的异常. 比如说要在temp目录下建立一个test.txt文件,在Windows下应该这么写:File file1 = new File ("C:\tmp\test.txt");在linux下则是这样的:File file2 = new File ("/tmp/test.txt"); 如果要考虑跨平台,则最好是这么…
Portability Flaw Locale Dependent Comparison [问题描述] 该问题涉及String的toUpperCase()方法.具体通过例子演示相关现象. public class TestString { public static void main(String[] args) { String str = "Title"; System.out.println(str.toUpperCase()); } } 我们期望的结果为TITLE. 在正常逻…
在Windows下的路径分隔符和Linux下的路径分隔符是不一样的,当直接使用绝对路径时,跨平台会暴出“No such file or diretory”的异常. 比如说要在temp目录下建立一个test.txt文件,在Windows下应该这么写:File file1 = new File ("C:\tmp\test.txt");在Linux下则是这样的:File file2 = new File ("/tmp/test.txt"); 如果要考虑跨平台,则最好是这么…
最近有个在页面上传Excel文件至服务器指定目录并进行数据校验.最后入库及进行进一步处理的应用情境,我写好代码在模拟环境下测试,完全没问题:但客户试用的时候,却老是报告“No such file or diretory ”的异常,上传不了.后来发现是文件路径的问题.我的模拟测试环境是windows+tomcat,而客户的环境是linux+tomcat,文件路径的分隔符在windows系统和linux系统中是不一样.当直接使用绝对路径时,跨平台会暴出“No such file or diretor…
写好代码在模拟环境下测试,完全没问 题:但linux+tomcat下用的时候,却老是报告“No such file or diretory ”的异常,上传不了.后来发现是文件路径的问题.我的模拟测试环境是windows+tomcat,而令一个的环境是linux+tomcat,文件路径的 分隔符在windows系统和linux系统中是不一样. 比如说要在temp目录下建立一个test.txt文件,在Windows下应该这么写: File file1 = new File ("C:\tmp\test…
书接上文,继续对Fortify漏洞进行总结,本篇主要针对XSS跨站脚步攻击漏洞进行总结,如下: 1.Cross-Site Scripting(XSS 跨站脚本攻击) 1.1.产生原因: 1. 数据通过一个不可信赖的数据源进入 Web 应用程序.对于 Reflected XSS(反射型),不可信赖的源通常为 Web 请求,只影响攻击到当前操作用户:而对于 Persisted(也称为 Stored 持久型)XSS,该源通常为数据库或其他后端数据存储,可能影响多操作用户. 2. 未检验包含在动态内容中…
最近有个在页面上传Excel文件至服务器指定目录并进行数据校验.最后入库及进行进一步处理的应用情境,我写好代码在模拟环境下测试,完全没问题:但客户试用的时候,却老是报告“No such file or diretory ”的异常,上传不了.后来发现是文件路径的问题.我的模拟测试环境是windows+tomcat,而客户的环境是linux+tomcat,文件路径的分隔符在windows系统和linux系统中是不一样. 比如说要在temp目录下建立一个test.txt文件,在Windows下应该这么…
在新UAT服务器上,需要将tempdb放置在SSD(固态硬盘)上.由于SSD(固态硬盘)特性,所以tempdb的文件只能放置在D盘下面,而不能是D盘下的某一个目录下面. ALTER  DATABASE tempdb MODIFY FILE(name='tempdev', filename='D:\tempdb.mdf') ;   GO   ALTER  DATABASE tempdb MODIFY FILE(name='templog', filename='D:\templog.ldf') ;…
这篇博文主要演示"CREATE FILE encountered operating system error 5(Access is denied.)"错误如出现的原因(当然只是导致这个错误出现的一种场景而已)和如何解决这个问题以及一些不解的迷惑.   实验环境: 操作系统版本: Windows Server 2012 SP2 数据库的版本:Microsoft SQL Server 2014 - 12.0.2000.8 如下所示,SQL Server Database Service…
ADS1.2编译时,出现找不到一个不存在目录下的目标文件(*.o) 编译一个COPY到硬盘上的一个工程,出现以下的fatal error message: Error: (Fatal)L6002: Could not open file f:\工作备份\20061204\hc_DTMF3\DVS-ATM_data\RelInFLASH\ObjectCode\Startuo.o.          “f:\工作备份”这个目录我根本没有,“hc_DTMF3\DVS-ATM_data”这个目录是源代码…
微型电脑或嵌入式与电脑还是有点不同的,在微型电脑上ros indigo 版本下利用catkin编译如果你遇到如下错误: CMake error:System Error:No such file or directory CMake error:Could not open file for write in copy operation xxxx.ros_Config.cmake.tmp. CMake error:at /opt/ros/indigo/share/catkin/cmake/ca…
继续对Fortify的漏洞进行总结,本篇主要针对 Privacy Violation(隐私泄露) 和 Null Dereference(空指针异常) 的漏洞进行总结,如下: 1.1.产生原因: Privacy Violation 会在以下情况下发生: 1. 用户私人信息进入了程序. 2. 数据被写到了一个外部介质,例如控制台.file system 或网络. 示例 1:以下代码包含了一个日志记录语句,该语句通过在日志文件中存储记录信息跟踪添加到数据库中的各条记录信息.在存储的其他数值中,getP…
继续对Fortify的漏洞进行总结,本篇主要针对  XML External Entity Injection(XML实体注入) 的漏洞进行总结,如下: 1.1.产生原因: XML External Entities 攻击可利用能够在处理时动态构建文档的 XML 功能.XML 实体可动态包含来自给定资源的数据.外部实体允许 XML 文档包含来自外部 URI 的数据.除非另行配置,否则外部实体会迫使 XML 解析器访问由 URI 指定的资源,例如位于本地计算机或远程系统上的某个文件.这一行为会将应…
继续对Fortify的漏洞进行总结,本篇主要针对 Path Manipulation(路径篡改)的漏洞进行总结,如下: 1.Path Manipulation(路径篡改) 1.1.产生原因: 当满足以下两个条件时,就会产生 path manipulation 错误: 1. 攻击者可以指定某一文件系统操作中所使用的路径. 2. 攻击者可以通过指定特定资源来获取某种权限,而这种权限在一般情况下是不可能获得的. 例如,在某一程序中,攻击者可以获得特定的权限,以重写指定的文件或是在其控制的配置环境下运行…
继续对Fortify的漏洞进行总结,本篇主要针对  Insecure Randomness  漏洞进行总结,如下: 1.Insecure Randomness(不安全随机数) 1.1.产生原因: 成弱随机数的函数是 random(). 电脑是一种具有确定性的机器,因此不可能产生真正的随机性.伪随机数生成器 (PRNG) 近似于随机算法,始于一个能计算后续数值的种子. PRNG 包括两种类型:统计学的 PRNG 和密码学的 PRNG.统计学的 PRNG 可提供有用的统计资料,但其输出结果很容易预测…
继续对Fortify的漏洞进行总结,本篇主要针对  Denial of Service: Regular Expression  漏洞进行总结,如下: 1.Denial of Service: Regular Expression 1.1.产生原因: 实施正则表达式评估程序及相关方法时存在漏洞,该漏洞会导致评估线程在处理嵌套和重复的正则表达式组的重复和交替重叠时挂起.此缺陷可被攻击者用于执行拒绝服务 (DoS) 攻击. 示例: (e+)+ ([a-zA-Z]+)* (e|ee)+ 已知的正则表达…
继续对Fortify的漏洞进行总结,本篇主要针对 Log Forging(日志伪造)的漏洞进行总结,如下: 1.1.产生原因: 在以下情况下会发生 Log Forging 的漏洞: 1. 数据从一个不可信赖的数据源进入应用程序. 2. 数据写入到应用程序或系统日志文件中. 为了便于以后的审阅.统计数据收集或调试,应用程序通常使用日志文件来储存事件或事务的历史记录.根据应用程序自身的特性,审阅日志文件可在必要时手动执行,也可以自动执行,即利用工具自动挑选日志中的重要事件或带有某种倾向性的信息. 如…
继续对Fortify的漏洞进行总结,本篇主要针对  Dynamic Code Evaluation: Code Injection(动态脚本注入) 和 Password Management: Hardcoded Password(密码硬编码)  的漏洞进行总结,如下: 1.1.产生原因: 许多现代编程语言都允许动态解析源代码指令.这使得程序员可以执行基于用户输入的动态指令.当程序员错误地认为由用户直接提供的指令仅会执行一些无害的操作时(如对当前的用户对象进行简单的计算或修改用户的状态),就会出…
继续对Fortify的漏洞进行总结,本篇主要针对  Open Redirect(开放式重定向)  的漏洞进行总结,如下: 1.1.产生原因: 通过重定向,Web 应用程序能够引导用户访问同一应用程序内的不同网页或访问外部站点.应用程序利用重定向来帮助进行站点导航,有时还跟踪用户退出站点的方式.当 Web 应用程序将客户端重定向到攻击者可以控制的任意 URL 时,就会发生 Open redirect 漏洞. 攻击者可以利用 Open redirect 漏洞诱骗用户访问某个可信赖站点的 URL,并将…
继续对Fortify的漏洞进行总结,本篇主要针对 Access Control: Database(数据越权)的漏洞进行总结,如下: 1.Access Control: Database(数据越权) 1.1.产生原因: Database access control 错误在以下情况下发生: 1.      数据从一个不可信赖的数据源进入程序. 2.      这个数据用来指定 SQL 查询中主键的值. 示例 1:以下代码使用可转义元字符并防止出现 SQL 注入漏洞的参数化语句,以构建和执行用于搜…
公司最近启用了Fortify扫描项目代码,报出较多的漏洞,安排了本人进行修复,近段时间将对修复的过程和一些修复的漏洞总结整理于此! 本篇先对Fortify做个简单的认识,同时总结一下sql注入的漏洞! 一.Fortify软件介绍 Fortify是一款能扫描分析代码漏洞的强大工具,是由一家加州软件安全厂商开发而成,该公司成立于2003年,它于2010年被惠普收购.现在,它在惠普软件业务方面作为惠普企业安全产品的一部分,它提供软件应用程序的安全漏洞保护识别,修复产品和服务. Fortify Mana…
漏洞描述 在受影响的ES文件浏览器上,会启用59777/tcp端口作为HTTP服务器,攻击者只需要构造恶意的json请求就可以对受害者进行文件下载,应用打开.更可以用过漏洞进行中间人(MITM)攻击. 受影响版本 4.1.9.7.4及以下 POC地址 https://github.com/fs0c131y/ESFileExplorerOpenPortVuln POC使用方法 POC在使用之前需要安装以下三个模块 requests pylint autopep8 可以利用pip3来安装它们 $ p…