网站大量收购闲置独家精品文档,联系QQ:2885784924

项目9 文件包含漏洞实践.pptxVIP

  1. 1、本文档共32页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

Web安全基础及项目实践郑丽

项目9文件包含漏洞实践任务1认识文件包含漏洞任务2使用DVWA平台实践文件包含漏洞任务3绕过攻击及防御建议

项目9文件包含漏洞实践项目导读文件包含指的是一种文件调用过程,也就是在一个文件中调用另一个文件的函数。一般情况下,重复使用的函数会定义到单个的文件中,需要使用时直接调用该文件即可,而不需要再重复编写函数。如果没有对文件来源进行严格的审查,就可能会导致调用恶意文件,执行恶意命令,从而造成文件包含漏洞。本项目将介绍文件包含漏洞的原理,使用实例来模拟文件包含漏洞的攻击过程及绕过攻击方法,并探讨文件包含漏洞的防御措施。

项目9文件包含漏洞实践教学目标掌握文件包含漏洞的原理熟悉文件包含漏洞攻击的过程熟悉文件包含漏洞攻击的绕过方法了解文件包含漏洞的防御方法

任务1认识Web安全任务描述在Web后台开发中,开发人员为了提高效率并使代码看起来更加简洁,通常会把重复使用的函数封装到文件中,然后通过“包含”函数进行文件调用。有些网站会在前端让用户选择需要包含的文件或在前端的功能中使用“包含”功能,但是因为后台开发人员没有对要包含的文件进行严格的安全过滤,攻击者就可能通过修改包含文件的位置而让后台来执行恶意文件或代码。本任务将介绍文件包含漏洞的原理、常见的包含函数,并使用实例来演示文件包含漏洞。环境:Windows1064位虚拟机、PhpStudy。

任务1认识Web安全任务要求掌握文件包含漏洞的原理熟悉文件包含漏洞攻击的过程熟悉文件包含漏洞攻击的绕过方法了解文件包含漏洞的防御方法

知识链接1.文件包含漏洞的原理文件包含函数的参数没有经过严格的过滤,并且参数可以被用户控制,就可能包含非预期的文件。如果被包含的文件中存在恶意代码,文件被解析执行后会造成严重后果。文件包含漏洞可能会造成服务器网页被篡改、网站被挂马、服务器被远程控制、被安装后门等危害。文件包含漏洞有本地文件包含漏洞和远程文件包含漏洞两种。其中本地文件包含漏洞又分为无限制本地文件包含漏洞和有限制本地文件包含漏洞。远程文件包含有无限制远程文件包含和有限制远程文件包含。

知识链接无限制本地文件包含漏洞是指代码中没有为包含文件指定特定前缀或者.php、.html等特定的扩展名,因此攻击者可以利用文件包含漏洞读取本地文件系统中的其他文件获取敏感信息,或者执行其他文件中的代码。有限制本地文件包含漏洞是指代码中为包含文件指定了特定的前缀或者.php、.html等扩展名,攻击者需要绕过前缀或者扩展名过滤才能利用文件包含漏洞进行攻击。常见的有限制本地文件包含过滤绕过的方式主要有%00截断文件包含、路径长度截断文件包含和点号截断文件包含3种。如果文件的位置并不在本地服务器,而是通过URL形式进行包含其他服务器上的任意文件,执行文件中的恶意代码,这种就是无限制远程文件包含。漏洞的利用条件是需要将PHP配置文件中的allow_url_fopen和allow_url_include都设置为On的状态。有限制远程文件包含是指代码中存在特定的前缀或者.php、.html等扩展名过滤,攻击者需要绕过前缀或者扩展名过滤才能执行远程URL文件中的恶意代码。

知识链接2.常见PHP包含函数PHP中常见的与文件包含有关的函数有include、require、include_once和require_once,它们的区别如下:include():只有代码执行到该函数时才会包含文件进来,如果找不到被包含的文件会给出一个警告,脚本将继续执行。include_once():和include()函数功能相似,区别在于当重复调用同一个文件时,程序只调用一次。require():只要程序一执行就包含文件进来,找不到被包含的文件时会产生错误输出,并终止脚本。require_once():和require()功能类似,区别在于当重复调用同一个文件时,程序只调用一次。

实现方法现在使用两个实例来演示本地文件包含漏洞和远程文件包含漏洞。在虚拟机中启动PhpStudy,在网站根目录D:\phpstudy_pro\WWW下创建文件夹fileinclude,用于存放模拟文件包含的代码和相关文件。1.本地文件包含以include()函数为例。首先创建一个文件file1.php,通过GET方式获得file值,通过include()函数来执行该文件。文件内容如图9-1所示。在file1.php文件同一个目录中,创建一个test.txt文件,在里面写一段简单的代码,如图9-2所示。因为include()函数接受的文件参数会以PHP代码来处理,所以在浏览器中访问28:8080/fi

文档评论(0)

xiadaofeike + 关注
实名认证
文档贡献者

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

版权声明书
用户编号:8036067046000055

1亿VIP精品文档

相关文档