继续对Fortify的漏洞进行总结,本篇主要针对  Dynamic Code Evaluation: Code Injection(动态脚本注入) 和 Password Management: Hardcoded Password(密码硬编码)  的漏洞进行总结,如下: 1.1.产生原因: 许多现代编程语言都允许动态解析源代码指令.这使得程序员可以执行基于用户输入的动态指令.当程序员错误地认为由用户直接提供的指令仅会执行一些无害的操作时(如对当前的用户对象进行简单的计算或修改用户的状态),就会出…
Dynamic Code Evaluation: Code Injection Abstract 在运行时中解析用户控制的指令,会让攻击者有机会执行恶意代码. Explanation 许多现代编程语言都允许动态解析源代码指令. 这使得程序员可以执行基于用户输入的动态指令. 当程序员错误地认为由用户直接提供的指令仅会执行一些无害的操作时(如对当前的用户对象进行简单的计算或修改用户的状态),就会出现 code injection 漏洞: 然而,若不经过适当的验证,用户指定的操作可能并不是程序员最初所…
公司最近启用了Fortify扫描项目代码,报出较多的漏洞,安排了本人进行修复,近段时间将对修复的过程和一些修复的漏洞总结整理于此! 本篇先对Fortify做个简单的认识,同时总结一下sql注入的漏洞! 一.Fortify软件介绍 Fortify是一款能扫描分析代码漏洞的强大工具,是由一家加州软件安全厂商开发而成,该公司成立于2003年,它于2010年被惠普收购.现在,它在惠普软件业务方面作为惠普企业安全产品的一部分,它提供软件应用程序的安全漏洞保护识别,修复产品和服务. Fortify Mana…
1.代码注入 1.1 命令注入 命令注入是指应用程序执行命令的字符串或字符串的一部分来源于不可信赖的数据源,程序没有对这些不可信赖的数据进行验证.过滤,导致程序执行恶意命令的一种攻击方式. 问题代码: $dir = $_POST['dir'] exec("cmd.exe /c dir" + $dir); 修复方案:(1)程序对非受信的用户输入数据进行净化,删除不安全的字符.(2)限定输入类型, 创建一份安全字符串列表,限制用户只能输入该列表中的数据. 修复例子: //方式1 if (!…
审计前准备: 1.安�php程序(推荐phpStudy) 2.高亮编辑器(推荐 Sublimetext Notepad++) 3.新建一个文本,复制以下变量,这些变量是审计中需要在源码中寻找的 ###################### $_SERVER $_GET $_POST $_COOKIE $_REQUEST $_FILES $_ENV $_HTTP_COOKIE_VARS $_HTTP_ENV_VARS $_HTTP_GET_VARS $_HTTP_POST_FILES $_HTTP…
继续对Fortify的漏洞进行总结,本篇主要针对 Portability Flaw: File Separator 和  Poor Error Handling: Return Inside Finally 漏洞进行总结,如下: 1.Portability Flaw: File Separator(文件分隔符) 1.1.产生原因: 不同的操作系统使用不同的字符作为文件分隔符.例如,Microsoft Windows 系统使用“\”,而 UNIX 系统则使用“/”.应用程序需要在不同的平台上运行时…
书接上文,继续对Fortify漏洞进行总结,本篇主要针对XSS跨站脚步攻击漏洞进行总结,如下: 1.Cross-Site Scripting(XSS 跨站脚本攻击) 1.1.产生原因: 1. 数据通过一个不可信赖的数据源进入 Web 应用程序.对于 Reflected XSS(反射型),不可信赖的源通常为 Web 请求,只影响攻击到当前操作用户:而对于 Persisted(也称为 Stored 持久型)XSS,该源通常为数据库或其他后端数据存储,可能影响多操作用户. 2. 未检验包含在动态内容中…
描述 这里整理了两种 VS Code「Code Runner」插件运行 python 时乱码的解决方案.至于设置「Auto Guess Encoding」为 true 的操作这里就不多描述了. 乱码截图: 方法 1:在 python 代码的开头加上以下代码,亲测有效: # -*-coding:utf-8 -*- import io import sys sys.stdout=io.TextIOWrapper(sys.stdout.buffer,encoding='utf8') 不过上述方法有些麻…