02命令执行代码注入漏洞(43页)ppt课件_第1页
02命令执行代码注入漏洞(43页)ppt课件_第2页
02命令执行代码注入漏洞(43页)ppt课件_第3页
02命令执行代码注入漏洞(43页)ppt课件_第4页
02命令执行代码注入漏洞(43页)ppt课件_第5页
已阅读5页,还剩38页未读, 继续免费阅读

下载本文档

kok电子竞技权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

kok电子竞技:文档简介

1、命令执行/代码注入破绽王朋涛深服气北京平安团队命令执行/代码注入破绽概述命令执行/代码注入破绽分类引见命令执行/代码注入破绽发掘方法命令执行/代码注入破绽攻击防御总结培训提纲命令执行/代码注入破绽概述命令执行/代码注入破绽概述命令执行/代码注入破绽的出现 运用程序直接/间接运用了动态执行命令的危险函数,并且这个函数的运转参数是用户可控的。如php可动态执行系统命令的函数:system、exec、passthru等等,php可动态执行php代码的有eval;jsp可动态执行系统命令的函数有: Runtime.getRuntime().exec(.);asp/aspx可动态执行asp/aspx代码

2、的有:eval等等。命令执行/代码注入破绽的本质 程序设计违背了“数据与代码分别的原那么。命令执行/代码注入破绽分类引见命令执行/代码注入破绽分类引见命令或代码直接注入执行破绽命令或代码本地包含执行破绽命令或代码远程包含执行破绽命令或代码反序列化执行破绽命令或代码动态变量执行破绽命令或代码动态函数执行破绽命令执行/代码注入破绽分类引见命令或代码直接注入执行破绽概述命令注入:运用程序直接运用了危险的可执行系统命令的函数,比如php的system、exec函数等,并且这些函数的运转参数是用户可控的,假设过滤不严厉,就会增大命令执行破绽的概率。命令或代码本地包含执行破绽。代码注入:运用程序直接运用了

3、危险的代码执行函数,如php/asp/aspx的eval函数等,并且这些函数的运转参数是用户可控的,假设过滤不严厉,就会增大命令执行破绽的概率。命令执行/代码注入破绽分类引见命令直接注入例如1(CGI)系统命令注入执行破绽例如,就比如去年很火的Bash破绽,就属于这类破绽,用户可直接更改HTTP头User-Agent的值,就可引发命令注入,如以下图命令执行结果将从效力器上下载一个php文件到本地:命令执行/代码注入破绽分类引见命令直接注入例如2(PHP)系统命令注入执行破绽例如,如效力器端用php言语实现,并且有个system.php文件的内容含有如下片段eval(“$_GETarg;); ,

4、或类似的片段,就会存在此破绽。如以下图:命令执行/代码注入破绽分类引见命令直接注入例如2假设用户输入的参数arg的值为精心组装过的,如:IP/test.php?arg=cat /etc/passwd最后执行的命令就变成了 system(cat /etc/passwd),输出结果如以下图显示出了效力器机器上的用户名等敏感信息:命令执行/代码注入破绽分类引见代码直接注入例如1(PHP)代码注入执行破绽例如,如效力器端用php言语实现,并且有个eval.php文件的内容如以下图:命令执行/代码注入破绽分类引见代码直接注入例如1假设用户输入精心组装过的数据,如:/cmdcode/code/eval.p

5、hp?arg=phpinfo()那么将执行php代码命令phpinfo(),结果如以下图:命令执行/代码注入破绽分类引见代码直接注入例如2(Strust2)代码注入执行破绽例如,如之前红极一时的Strust2破绽,也是由于未对用户可控参数进展有效的过滤引发的代码注入执行破绽,如用户输入:XXX/save.action?redirect:$%23a%3d(new java.lang.ProcessBuilder(new java.lang.Stringipconfig,/all).start(),%23b%3d%23a.getInputStream(),%23c%3dnew java.io.In

6、putStreamReader(%23b),%23d%3dnew java.io.BufferedReader(%23c),%23e%3dnew char50000,%23d.read(%23e),%23matt%3d%23context.get(com.opensymphony.xwork2.dispatcher.HttpServletResponse),%23matt.getWriter().println(%23e),%23matt.getWriter().flush(),%23matt.getWriter().close()命令执行/代码注入破绽分类引见代码直接注入例如2命令执行/代码

7、注入破绽分类引见命令或代码本地 /远程文件包含执行破绽概述命令本地/远程包含破绽:运用程序直接包含或执行了用户可控的上传脚本文件或远程文件(URL援用文件),就会触发此破绽。代码本地/远程包含破绽:运用程序直接包含了用户可控的上传文件或远程文件(URL援用文件),就会触发此破绽,比如php/asp/aspx的include,以及php的include_once、require_once、require等,有些远程文件包含的有些限制条件,比如PHP的就必需翻开配置选项:allow_url_fopen,才会胜利。命令执行/代码注入破绽分类引见命令本地文件包含例如1(360平安卫士) 360平安卫士

8、有个“360电脑专家功能,可以聊天,在聊天窗口中输入如以下图内容,就会触发本地包含破绽。这个破绽的原理是360会将聊天内容写入到文件中去,然后显示的时候去读取文件,执行了包含的命令。命令执行/代码注入破绽分类引见命令本地文件包含例如1就会看到这奇观的一幕,弹出命令行了.命令执行/代码注入破绽分类引见命令本地文件包含例如2(php) 假设效力端代码文件中有个php文件的内容包含有类似代码【require($_GETp);】的片段,就会引发本地包含的破绽。其中参数p为用户可控的,假设p指定为一个用户上传的文件cmd.txt,并且这个txt的内容为 ,就会触发此破绽命令执行/代码注入破绽分类引见命令

9、本地文件包含例如2命令执行/代码注入破绽分类引见代码本地文件包含例如1(php) 假设效力端代码文件中有个php文件的内容包含有类似代码【require($_GETp);】的片段,就会引发本地包含的破绽。其中参数p为用户可控的,假设p指定为一个用户上传的文件code.txt,并且这个txt的内容为 ,就会触发此破绽命令执行/代码注入破绽分类引见代码本地文件包含例如1命令执行/代码注入破绽分类引见命令或代码反序列化执行破绽概述有些动态脚本言语,如php支持实例对象的序列化传输,然后效力端将实例对象反序列化出来并执行解析后实例的构造函数、析构函数或_wakeup()函数,假设这些函数利用了用户可控

10、的参数,那么会触发命令/代码注入执行破绽,原理和之前的直接注入一样。命令执行/代码注入破绽分类引见反序列化破绽例如1假设效力端代码文件中有个php文件的内容包含有类似如以下图代码片段,就存在反序列化的破绽。命令执行/代码注入破绽分类引见反序列化破绽例如1访问serialize.php可以获取$class_ser的值为:O:1:a:1:s:4:test;s:19:;命令执行/代码注入破绽分类引见反序列化破绽例如1假设用户提交如以下图的序列化后的$class_ser的值给参数test,就会执行phpinfo()代码。命令执行/代码注入破绽分类引见命令或代码动态变量/函数执行破绽概述有些动态脚本言语

11、,如php,支持变量或函数的动态定义,即运转时可经过参数名来动态组装变量、变量值或函数。假设代码中包含有类似如图中类似代码片段,就会存在动态变量/函数的执行破绽。命令执行/代码注入破绽分类引见命令或代码动态变量/函数执行破绽例如当用户在阅读器中输入:/dynamic.php?dyn_func=system&argument=ipconfig,就相当于执行了系统命令ipconfig,如以下图命令执行/代码注入破绽发掘方法命令执行/代码注入破绽发掘方法发掘方法从破绽的本质以及前面的例如中可以明显的看出,输入点是一切注入的根源,发掘破绽就是寻觅这些输入点,寻觅方法主要有: - 白盒审计 - 黑盒审计

12、 - 灰盒审计 命令执行/代码注入破绽发掘方法白盒审计概述白盒审计,就是指手上曾经有份完好的源码,然后分析源码,选择一切用户可控的输入点,然后分析这些输入点能否未过滤或过滤不严厉,这些点是最易引发注入破绽,比如常见的XSS、SQL、命令以及代码注入破绽等。白盒审计方法普通采用人工以及工具相结合的方法。纯工具的相对一些有些逻辑跳转的没法发现,纯人工的效率太低,也容易脱漏,正常情况是运用工具找到一切的输入点,然后人工依次跟踪变量的处置流程。命令执行/代码注入破绽发掘方法白盒审计工具Fortify SCA Fortify SCA 是一个静态的、白盒的软件源代码平安测试工具。它经过内置的五大主要分析引

13、擎:数据流、语义、构造、控制流、配置流等对运用软件的源代码进展静态的分析,分析的过程中与它特有的软件平安破绽规那么集进展全面地匹配、查找,从而将源代码中存在的平安破绽扫描出来,并给予整理kok电子竞技。扫描的结果中不但包括详细的平安破绽的信息,还会有相关的平安知识的阐明,以及修复意见的提供。命令执行/代码注入破绽发掘方法白盒审计工具Fortify SCA 命令执行/代码注入破绽发掘方法白盒审计工具SeaySeay源代码审计系统,Seay源代码审计系统目前只支持PHP,功能包括不断在更新: - 高准确度自动白盒审计 ; - mysql数据库管理 ; - 代码高亮; - 黑盒敏感信息泄露一键审计 ; - 函

14、数查询 ; - 正那么调试; - 代码调试 ; - 多种字符编码转换; - 函数/变量定位; - 暂时记录可保管; - 审计kok电子竞技; - 编辑保管文件; - 自定义规那么 ; - 自动晋级检测; - 自定义编辑器 ; - POST数据提交;命令执行/代码注入破绽发掘方法白盒审计工具Seasy命令执行/代码注入破绽发掘方法黑盒审计概述黑盒审计,就是指无法获取到源代码,只能经过现有的WEB运用,进展摸黑测试,测试一切的输入点。通用的方法是运用扫描工具扫描WEB的目录列表以及一切参数列表,并分析扫描kok电子竞技,查看能否有可疑的输入点。黑盒审计工具常用的有wvs、appscan、nessus、w3af等等,有

15、很多,就不一一列举了,下面就简单的引见下这几个软件。命令执行/代码注入破绽发掘方法黑盒审计工具WVS(Web Vulnerability Scanner)是一个自动化的Web运用程序平安测试工具,它可以扫描任何可经过Web阅读器访问的和遵照HTTP/HTTPS规那么的Web站点和Web运用程序。适用于任何中小型和大型企业的内联网、外延网和面向客户、雇员、厂商和其它人员的Web网站。命令执行/代码注入破绽发掘方法黑盒审计工具WVS命令执行/代码注入破绽发掘方法灰盒审计概述灰盒审计,就是指结合前面引见的两种方法白盒和黑盒审计,边黑盒扫描,边白盒审计,这样就能快速的定位到哪个输入点可疑,并且经过白盒

16、审计,就可迅速的找到并编写POC代码。灰盒审计普通依赖阅历,阅历越丰富,普通就能很快的定位到问题所在点以及问题重现,快速的编写出exp代码。命令执行/代码注入破绽攻击防御命令执行/代码注入攻击防御灰盒审计概述基于前面的分析,注入破绽的根源在于过分的置信了每一位用户,总假设用户的输入是正常的、无害的,而没有进展严厉的审查判别以及过滤。由于每一位开发者的阅历有限,这些问题总会不知不觉中就被写入到了代码之中,给恶意阅读者有可乘之机。防御方法普通是加强开发者的平安认识,以及规范开发流程和代码质量的严厉审核。假设是采用第三方的运用时,在代码质量是无法控制的情况下,就可以采用部署入侵检测防御系统或防火墙进展实时防护。总结引见了命令执行/代码注入破绽的本质引见了命令执行/代码注入破绽分类引见了命令执行/代码注入破绽发掘方法引见了命令执行/代码注入破绽攻击防御措施总结sangfor

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论