- 1、本文档共5页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
/学年第学期
教案
课程名称:Web应用安全与防护
课程代码:
任课教师:
教务处印制
课次
11
课程类型
理论
项目(模块)
项目2:典型漏洞利用与防御
----任务2.2文件包含漏洞
教学目标
知识目标:
1.了解文件包含、文件包含漏洞定义
2.理解文件包含漏洞的分类、文件包含函数
3.掌握文件包含漏洞利用,防范措施
能力目标:
1.能运用文件包含漏洞获取敏感信息以及加固方法
情感目标:
1.自主、开放的学习能力
2.良好的自我表现、与人沟通能力
3.良好的团队合作精神
教学重点
文件包含漏洞利用与防御
教学难点
文件包含漏洞利用与防御
教学方法
演示法
教学环境
教学楼
授课日期
2021/4/12
授课班级
19信息安全与管理
教学过程设计
课前准备
通过QQ群发布授课PPT,视频
教学内容
1.1文件包含
在web后台开发中,程序员往往为了提高效率以及让代码看起来更加简洁,会使用包含函数功能,比如会把网页引用的标准页眉(head.php)或菜单文件写进一个文件中,之后某个文件需要调用的时候就直接在文件头中写上一句?phpincludehead.php?.
使用文件包含为开发者节省大量的时间。
--当页眉需要更新时,您只更新一个包含文件就可以了,或者向网站添加一张新页面时,仅仅需要修改一下菜单文件(而不是更新所有网页中的链接)
1.2文件包含漏洞
有些时候,由于网站功能的需求,文件包含的代码文件被写成了一个变量,且这个变量可以由前端用户传进来,由于传入的文件名没有合理的校验,或者校验被绕过,从而操作了预想之外的文件,就可能导致意外的文件泄露甚至恶意的代码注入,读取系统给敏感文件。
1.3文件包含代码
?php
$file=$_GET[‘file’];#将参数file的值传递给变量$file
include$file;#使用include函数包含文件
?
原因分析:
文件包含函数加载的参数没有经过过滤或者严格的定义,可以被用户控制,包含其他恶意文件,导致了执行了非预期的代码。
1.4PHP文件包含函数
大部分文件包含的漏洞都出现在php的程序中,因PHP语言提供的文件包含功能太强大,太灵活。
(1)include():包含过程中如果出现错误,会抛出一个警告,程序继续正常执行。
(2)include_once():同include,只包含一次。
(3)require():包含过程中如果出现错误,会退出程序的执行。
(4)require_once():同require,只包含一次。使用与在脚本执行期间同一个文件有可能被包括超过一次的情况下,你想确保它只被包含一次以避免函数重定义、变量重定义赋值等问题。
1.5文件包含漏洞分类
根据不同的配置环境,文件包含漏洞分为如下两种情况:
(1)本地文件包含:当被包含的文件在服务器本地
(2)远程文件包含:当被包含的文件在远程服务器
远程文件包含条件:在php.ini文件中
allow_url_fopen=on#默认打开
allow_url_include=on#默认关闭
1.5.1本地文件包含
1.5.2远程文件包含
2.1文件包含漏洞利用
1.本地文件包含
2.远程文件包含
3.文件上传+文件包含综合利用
2.2文件包含漏洞防御
(1)在功能设计上尽量不要将文件包含函数对应的文件放给前端进行选择和操作
(2)过滤各种../../,http://,https://
(3)配置php.ini配置文件
allow_url_fopen=off
allow_url_include=off
magic_quotes_gpc=on
(4)通过白名单策略,仅允许包含运行指定的文件,其他的都禁止
练习与
作业
1.利用本地文件包含漏洞读取目标系统敏感文件
2.利用文件上传+文件包含漏洞写入webshell
课后反思
注:1.一次课(2课时)写一份上述格式教案,课次为授课先后次序,填1、2、3...等。
2.课程类型:理论或实践。
3.教学环境:包含场所(教学楼、机房、实训室、操场等)和教具(实训设备、教学仪器、教学模型)。
4.课后反思要与相应的授课日期、授课班级的授课实际情况相对应。
文档评论(0)