命令执行代码注入漏洞
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
PPT文档演模板
命令执行代码注入漏洞
命令执行/代码注入漏洞分类介绍
代码直接注入示例2
PPT文档演模板
命令执行代码注入漏洞
命令执行/代码注入漏洞分类介绍
命令或代码本地 /远程文件包含执行漏洞概述 命令本地/远程包含漏洞:应用程序直接包含或执行了用户可控的上
传脚本文件或远程文件(URL引用文件),就会触发此漏洞。 代码本地/远程包含漏洞:应用程序直接包含了用户可控的上传文件
命令执行/代码注入漏洞分类介绍
命令或代码动态变量/函数执行漏洞示例 当用户在浏览器中输入:
http://127.0.0.1/dynamic.php?dyn_func=system&argument=ipconf ig,就相当于执行了系统命令ipconfig,如下图
PPT文档演模板
命令执行代码注入漏洞
http://XXX/save.action?redirect:${%23a%3d(new java.lang.ProcessBuilder(new java.lang.String[]{'ipconfig','/all'})).start(),%23b%3d%23a.getInpu tStream(),%23c%3dnew java.io.InputStreamReader(%23b),%23d%3dnew java.io.BufferedReader(%23c),%23e%3dnew char[50000],%23d.read(%23e),%23matt%3d%23context.get('com.opensymph ony.xwork2.dispatcher.HttpServletResponse'),%23matt.getWriter().pri ntln(%23e),%23matt.getWriter().flush(),%23matt.getWriter().close()}
命令执行代码注入漏洞
命令执行/代码注入漏洞分类介绍
命令本地文件包含示例1 (360安全卫士) 360安全卫士有个“360电脑专家”功能,可以聊天,
在聊天窗口中输入如下图内容,就会触发本地包含漏洞。这个漏洞的 原理是360会将聊天内容写入到文件中去,然后显示的时候去读取文 件,执行了包含的命令。
PPT文档演模板
PPT文档演模板
命令执行代码注入漏洞
命令执行/代码注入漏洞分类介绍
命令直接注入示例1 (CGI)系统命令注入执行漏洞示例,就比如去年很火的Bash漏洞,就
属于这类漏洞,用户可直接更改HTTP头User-Agent的值,就可引发命 令注入,如下图(命令执行结果将从myvps.org服务器上下载一个php 文件到本地):
PPT文档演模板
命令执行代码注入漏洞
命令执行/代码注入漏洞分类介绍
命令本地文件包含示例2
PPT文档演模板
命令执行代码注入漏洞
命令执行/代码注入漏洞分类介绍
代码本地文件包含示例1 (php) 若服务端代码文件中有个php文件的内容包含有类似代码【
require($_GET['p']);】的片段,就会引发本地包含的漏洞。其中参 数p为用户可控的,若p指定为一个用户上传的文件code.txt,并且这 个txt的内容为<?php eval("$_GET[code];"); ?> ,就会触发此漏洞
命令执行代码注入漏洞
命令执行/代码注入漏洞分类介绍
命令本地文件包含示例1 就会看到这奇迹的一幕,弹出命令行了.....
PPT文档演模板
命令执行代码注入漏洞
命令执行/代码注入漏洞分类介绍
命令本地文件包含示例2 (php) 若服务端代码文件中有个php文件的内容包含有类似代码【
require($_GET['p']);】的片段,就会引发本地包含的漏洞。其中参 数p为用户可控的,若p指定为一个用户上传的文件cmd.txt,并且这 个txt的内容为<?php passthru($_GET["cmd"]); ?> ,就会触发此漏 洞
PPT文档演模板
命令执行代码注入漏洞
命令执行/代码注入漏洞概述
命令执行/代码注入漏洞的出现 应用程序直接/间接使用了动态执行命令的危险函数,并且这个函数 的运行参数是用户可控的。如php可动态执行系统命令的函数: system、exec、passthru等等,php可动态执行php代码的有eval; jsp可动态执行系统命令的函数有: Runtime.getRuntime().exec(...);asp/aspx可动态执行asp/aspx代 码的有:eval等等。
或远程文件(URL引用文件),就会触发此漏洞,比如php/asp/aspx的 include,以及php的include_once、require_once、require等,有些 远程文件包含的有些限制条件,比如PHP的就必须打开配置选项: allow_url_fopen,才会成功。
PPT文档演模板
命令执行/代码注入漏洞挖掘方法
白盒审计概述 白盒审计,就是指手上已经有份完整的源码,然后分析源码,选择一
切用户可控的输入点,然后分析这些输入点是否未过滤或过滤不严格 ,这些点是最易引发注入漏洞,比如常见的XSS、SQL、命令以及代码 注入漏洞等。 白盒审计方法一般采用人工以及工具相结合的方法。纯工具的相对一 些有些逻辑跳转的没法发现,纯人工的效率太低,也容易遗漏,正常 情况是使用工具找到所有的输入点,然后人工依次跟踪变量的处理流 程。
PPT文档演模板
命令执行代码注入漏洞
命令执行/代码注入漏洞分类介绍
代码直接注入示例1 (PHP)代码注入执行漏洞示例,如服务器端用php语言实现,并且有个
eval.php文件的内容如下图:
PPT文档演模板
命令执行代码注入漏洞
命令执行/代码注入漏洞分类介绍
代码直接注入示例1 若用户输入精心组装过的数据,如:
命令执行/代码注入漏洞挖掘方法
PPT文档演模板
命令执行代码注入漏洞
命令执行/代码注入漏洞挖掘方法
挖掘方法 从漏洞的本质以及前面的示例中可以明显的看出,输入点是一切注入
的根源,挖掘漏洞就是寻找这些输入点,寻找方法主要有:
- 白盒审计 - 黑盒审计 - 灰盒审计
PPT文档演模板
命令执行代码注入漏洞
命令执行代码注入漏洞
命令执行/代码注入漏洞挖掘方法
白盒审计工具Seasy
PPT文档演模板
命令执行代码注入漏洞
命令执行/代码注入漏洞挖掘方法
黑盒审计概述 黑盒审计,就是指无法获取到源代码,只能通过现有的WEB应用,进
PPT文档演模板
命令执行代码注入漏洞
命令执行/代码注入漏洞分类介绍
反序列化漏洞示例1 若服务端代码文件中有个php文件的内容包含有类似如下图代码片段
,就存在反序列化的漏洞。
PPT文档演模板
命令执行代码注入漏洞
命令执行/代码注入漏洞分类介绍
反序列化漏洞示例1 访问serialize.php可以获取$class_ser的值为:
http://127.0.0.1/cmdcode/code/eval.php?arg=phpinfo() 则将执行php代码命令phpinfo(),结果如下图:
PPT文档演模板
命令执行代码注入漏洞
命令执行/代码注入漏洞分类介绍
代码直接注入示例2
(Strust2)代码注入执行漏洞示例,如之前红极一时的 Strust2漏洞,也是由于未对用户可控参数进行有效的过 滤引发的代码注入执行漏洞,如用户输入:
PPT文档演模板
命令执行代码注入漏洞
命令执行/代码注入漏洞分类介绍
代码本地文件包含示例1
PPT文档演模板
命令执行代码注入漏洞
命令执行/代码注入漏洞分类介绍
命令或代码反序列化执行漏洞概述 有些动态脚本语言,如php支持实例对象的序列化传输,然后服务端
将实例对象反序列化出来并执行解析后实例的构造函数、析构函数或 __wakeup()函数,若这些函数利用了用户可控的参数,则会触发命令 /代码注入执行漏洞,原理和之前的直接注入一样。
命令执行代码注入漏洞
命令执行/代码注入漏洞分类介绍
命令直接注入示例2 若用户输入的参数arg的值为精心组装过的,如:
http://[IP]/test.php?arg=cat /etc/passwd 最后执行的命令就变成了 system("cat /etc/passwd"),输出结果如
下图(显示出了服务器机器上的用户名等敏感信息):
PPT文档演模板
命令执行代码注入漏洞
命令执行/代码注入漏洞分类介绍
命令直接注入示例2 (PHP)系统命令注入执行漏洞示例,如服务器端用php语言实现,并且
有个system.php文件的内容含有如下片段eval(“$_GET[arg];”); ,或类似的片段,就会存在此漏洞。如下图:
PPT文档演模板
命令执行代码注入漏洞
命令执行/代码注入漏洞分类介绍
命令或代码动态变量/函数执行漏洞概述 有些动态脚本语言,如php,支持变量或函数的动态定义,即运行时
可通过参数名来动态组装变量、变量值或函数。若代码中包含有类似 如图中类似代码片段,就会存在动态变量/函数的执行漏洞。
PPT文档演模板
命令执行代码注入漏洞
- mysql数据库管理 ;
- 代码高亮;
- 黑盒敏感信息泄露一键审计 ;
- 函数查询 ;
- 正则调试;
- 代码调试 ;
- 多种字符编码转换;
- 函数/变量定位;
- 临时记录(可保存);
- 审计报告;
- 编辑保存文件;
- 自定义规则 ;
- 自动升级检测;
- 自定义编辑器 ;
- POST数据提交;
PPT文档演模板
PPT文档演模板
命令执行代码注入漏洞
命令执行/代码注入漏洞分类介绍
命令或代码直接注入执行漏洞概述 命令注入:应用程序直接使用了危险的可执行系统命令的函数,比如
php的system、exec函数等,并且这些函数的运行参数是用户可控的 ,若过滤不严格,就会增大命令执行漏洞的概率。命令或代码本地包 含执行漏洞。 代码注入:应用程序直接使用了危险的代码执行函数,如 php/asp/aspx的eval函数等,并且这些函数的运行参数是用户可控的 ,若过滤不严格,就会增大命令执行漏洞的概率。
命令执行/代码注入漏洞的本质 程序设计违背了“数据与代码分离”的原则。
PPT文档演模板
命令执行代码注入漏洞
命令执行/代码注入漏洞分类介绍
PPT文档演模板
命令执行代码注入漏洞
命令执行/代码注入漏洞分类介绍
命令或代码直接注入执行漏洞 命令或代码本地包含执行漏洞 命令或代码远程包含执行漏洞 命令或代码反序列化执行漏洞 命令或代码动态变量执行漏洞 命令或代码动态函数执行漏洞
PPT文档演模板
命令执行代码注入漏洞
命令执行/代码注入漏洞挖掘方法
白盒审计工具Fortify SCA Fortify SCA 是一个静态的、白盒的软件源代码安全测试工具。它通过
内置的五大主要分析引擎:数据流、语义、结构、控制流、配置流等 对应用软件的源代码进行静态的分析,分析的过程中与它特有的软件 安全漏洞规则集进行全面地匹配、查找,从而将源代码中存在的安全 漏洞扫描出来,并给予整理报告。扫描的结果中不但包括详细的安全 漏洞的信息,还会有相关的安全知识的说明,以及修复意见的提供。
02命令执行代码注入漏 洞
PPT文档演模板
2wenku.baidu.com20/11/7
命令执行代码注入漏洞
•培训提纲
1.命令执行/代码注入漏洞概述 2.命令执行/代码注入漏洞分类介绍 3.命令执行/代码注入漏洞挖掘方法 4.命令执行/代码注入漏洞攻击防御 5.总结
PPT文档演模板
命令执行代码注入漏洞
命令执行/代码注入漏洞概述
O:1:"a":1:{s:4:"test";s:19:"<?php phpinfo(); ?>";}
PPT文档演模板
命令执行代码注入漏洞
命令执行/代码注入漏洞分类介绍
反序列化漏洞示例1 若用户提交如下图的序列化后的$class_ser的值给参数test,就会执
行phpinfo()代码。
PPT文档演模板
PPT文档演模板
命令执行代码注入漏洞
命令执行/代码注入漏洞挖掘方法
白盒审计工具Fortify SCA
PPT文档演模板
命令执行代码注入漏洞
命令执行/代码注入漏洞挖掘方法
白盒审计工具Seay
Seay源代码审计系统,Seay源代码审计系统目前只支持PHP,功能包 括(一直在更新):
- 高精确度自动白盒审计 ;