02命令执行代码注入漏洞.ppt

  1. 1、本文档共43页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
命令执行 / 代码注入漏洞分类介绍 代码本地文件包含示例 1 命令执行 / 代码注入漏洞分类介绍 命令或代码反序列化执行漏洞概述 ? 有些动态脚本语言,如 php 支持 实例对象的序列化传输 ,然后服务端 将实例对象反序列化出来并执行解析后实例的构造函数、析构函数或 __wakeup() 函数,若这些函数利用了用户可控的参数,则会触发命令 / 代码注入执行漏洞,原理和之前的直接注入一样。 命令执行 / 代码注入漏洞分类介绍 反序列化漏洞示例 1 ? 若服务端代码文件中有个 php 文件的内容包含有类似如下图代码片段 ,就存在反序列化的漏洞。 命令执行 / 代码注入漏洞分类介绍 反序列化漏洞示例 1 ? 访问 serialize.php 可以获取 $class_ser 的值为: O:1:a:1:{s:4:test;s:19:<?php phpinfo(); ?>;} 命令执行 / 代码注入漏洞分类介绍 反序列化漏洞示例 1 ? 若用户提交如下图的序列化后的 $class_ser 的值给参数 test ,就会执 行 phpinfo() 代码。 命令执行 / 代码注入漏洞分类介绍 命令或代码动态变量 / 函数执行漏洞概述 ? 有些动态脚本语言,如 php ,支持变量或函数的动态定义,即运行时 可通过参数名来动态组装变量、变量值或函数。若代码中包含有类似 如图中类似代码片段,就会存在动态变量 / 函数的执行漏洞。 命令执行 / 代码注入漏洞分类介绍 命令或代码动态变量 / 函数执行漏洞示例 ? 当用户在浏览器中输入: /dynamic.php?dyn_func=system&argument=ipconf ig ,就相当于执行了系统命令 ipconfig ,如下图 命令执行 / 代码注入漏洞挖掘方法 命令执行 / 代码注入漏洞挖掘方法 挖掘方法 ? 从漏洞的本质以及前面的示例中可以明显的看出,输入点是一切注入 的根源,挖掘漏洞就是寻找这些输入点,寻找方法主要有: - 白盒审计 - 黑盒审计 - 灰盒审计 命令执行 / 代码注入漏洞挖掘方法 白盒审计概述 ? 白盒审计,就是指手上已经有份完整的源码,然后分析源码,选择一 切用户可控的输入点,然后分析这些输入点是否未过滤或过滤不严格 ,这些点是最易引发注入漏洞,比如常见的 XSS 、 SQL 、命令以及代码 注入漏洞等。 ? 白盒审计方法一般采用人工以及工具相结合的方法。纯工具的相对一 些有些逻辑跳转的没法发现,纯人工的效率太低,也容易遗漏,正常 情况是使用工具找到所有的输入点,然后人工依次跟踪变量的处理流 程。 命令执行 / 代码注入漏洞挖掘方法 白盒审计工具 Fortify SCA ? Fortify SCA 是一个静态的、白盒的软件源代码安全测试工具。它通过 内置的五大主要分析引擎:数据流、语义、结构、控制流、配置流等 对应用软件的源代码进行静态的分析,分析的过程中与它特有的软件 安全漏洞规则集进行全面地匹配、查找,从而将源代码中存在的安全 漏洞扫描出来,并给予整理报告。扫描的结果中不但包括详细的安全 漏洞的信息,还会有相关的安全知识的说明,以及修复意见的提供。 命令执行 / 代码注入漏洞 王朋涛 深信服北京安全团队 培训提纲 1. 命令执行 / 代码注入漏洞概述 2. 命令执行 / 代码注入漏洞分类介绍 3. 命令执行 / 代码注入漏洞挖掘方法 4. 命令执行 / 代码注入漏洞攻击防御 5. 总结 命令执行 / 代码注入漏洞概述 命令执行 / 代码注入漏洞概述 ? 命令执行 / 代码注入漏洞的出现 应用程序直接 / 间接使用了动态执行命令的危险函数,并且这个函数 的运行参数是用户可控的。如 php 可动态执行系统命令的函数: system 、 exec 、 passthru 等等, php 可动态执行 php 代码的有 eval ; jsp 可动态执行系统命令的函数有: Runtime.getRuntime().exec(...) ; asp/aspx 可动态执行 asp/aspx 代 码的有: eval 等等。 ? 命令执行 / 代码注入漏洞的本质 程序设计违背了“ 数据与代码分离 ”的原则。 命令执行 / 代码注入漏洞分类介绍 命令执行 / 代码注入漏洞分类介绍 ? 命令或代码 直接注入 执行漏洞 ? 命令或代码 本地包含 执行漏洞 ? 命令或代码 远程包含 执行漏洞 ? 命令或代码 反序列化 执行漏洞 ? 命令或代码 动态变量 执行漏洞 ? 命令或代码 动态函数 执行漏洞 命令执行 / 代码注入漏洞分类介绍 命令或代码直接注入执行漏洞概述 ? 命令注入 :应用程序直接使用了危险的可执行系统命令的函数,比如 php 的 system 、 exec 函数等,并且这些函数的运行

您可能关注的文档

文档评论(0)

capt + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档