第十一章 靶机反序列化漏洞与审计_第1页
第十一章 靶机反序列化漏洞与审计_第2页
第十一章 靶机反序列化漏洞与审计_第3页
第十一章 靶机反序列化漏洞与审计_第4页
全文预览已结束

下载本文档

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

文档简介

《Web安全漏洞及代码审计(第2版)(微课版)》课程教案课题:靶机反序列化漏洞与审计教学目的:知识目标:掌握反序列化漏洞的产生机制,包括对象反序列化过程中的危险操作、魔术方法调用、POP链构造等核心原理。学习不同编程语言(Java、PHP、Python等)环境下的反序列化攻击手法,理解Payload构造方法和利用链挖掘技巧。掌握反序列化漏洞的修复方案,包括白名单验证、签名校验、禁用危险类、最小权限原则等核心防御措施。能力目标:通过靶机环境实践,培养发现、验证和利用反序列化漏洞的实际操作能力,掌握ysoserial、phpggc等工具的使用。培养代码审计思维,能够识别反序列化操作、危险类、魔术方法等敏感汇点,理解POP链的构造过程。能够针对发现的反序列化漏洞提出有效的修复方案,并验证修复效果。素养目标:树立"安全第一"的开发理念,理解反序列化漏洞在OWASPTop10中的高危性,培养主动防御的安全意识。了解相关安全标准和法律法规要求,培养合规开发的安全习惯。掌握反序列化漏洞的最新攻击手法和防御技术,培养跟踪安全动态、持续学习的能力。课型:新授课课时:本章安排4个课时。教学重点:重点:掌握反序列化漏洞的修复方案,包括白名单验证、签名校验、禁用危险类、最小权限原则等核心防御措施。教学难点:难点:能够针对发现的反序列化漏洞提出有效的修复方案,并验证修复效果。教学过程:教学形式:讲授课,教学组织采用课堂整体讲授和分组演示。教学媒体:采用启发式教学、案例教学等教学方法。教学手段采用多媒体课件、视频等媒体技术。板书设计:本课标题靶机反序列化漏洞与审计课次2授课方式理论课□讨论课□习题课□其他□课时安排4学分共2分授课对象普通高等院校学生任课教师教材及参考资料1.《Web安全漏洞及代码审计(第2版)(微课版)》;电子工业出版社。2.本教材配套视频教程及学习检查等资源。3.与本课程相关的其他资源。教学基本内容教学方法及教学手段课程引入反序列化漏洞是Web应用程序中常见的高危安全漏洞,攻击者通过构造恶意的序列化数据,在目标系统反序列化时触发任意代码执行。本文系统分析反序列化漏洞的原理机制,探讨在靶机环境中的渗透测试方法,并详细阐述代码审计与防御策略。参考以下形式:1.衔接导入2.悬念导入3.情景导入4.激疑导入5.演示导入6.实例导入7.其他形式项目知识准备一、漏洞介绍当程序对用户输入的内容(不可信数据)进行反序列化处理时,攻击者可以通过构造恶意输入,利用反序列化产生非预期的对象,而非预期的对象在产生过程中就会造成反序列化漏洞。二、基础知识1.序列化与反序列化序列化:将对象转换为字节序列的过程称为对象的序列化。反序列化:将字节序列恢复为对象的过程称为对象的反序列化。常见的PHP序列化和反序列化方式主要包括使用serialize()、unserialize()、json_encode()、json_decode()等函数。2.常用魔术方法serialize()函数在对象被序列化之前会检查类中是否存在__sleep()魔术方法,如果存在,则会先调用该方法,再执行序列化操作,并返回一个包含对象中所有应被序列化的变量名称的数组。__toString()魔术方法是在一个对象被当作一个字符串使用时被调用的,如果该方法返回了字符串,则表明是该对象转换为字符串的结果,如果没有定义该方法,则该对象无法被当作字符串使用,此魔术方法也是比较常见的。unserialize()函数在反序列化之前会检查是否存在__wakeup()魔术方法,如果存在,则会先调用__wakeup()魔术方法,并预先准备对象需要的资源,再返回void。__wakeup()魔术方法常用于反序列化操作中需要重新建立数据库连接或执行其他初始化操作的情况。3.构造POP链面向属性编程(Property-OrientedProgramming)用于构造特定调用链,类似于二进制利用中的面向返回编程(Return-OrientedProgramming),二者都是先从现有运行环境中寻找一系列代码或指令调用,然后根据需求构造一组连续的调用链,在控制代码或程序的执行流程后,就能够使用这组调用链来执行一些操作。要想利用PHP的反序列化漏洞,需要满足两个条件:一个是可以控制传入unserialize()函数的参数;另一个是存在魔术方法和危险函数。三、审计思路在审计反序列化漏洞时,一般可以通过全局搜索__wakeup()和__destruct()等魔术方法追踪整个调用过程,判断反序列化数据是否可控,以及被利用的危险函数是否在魔术方法中执行。任务1反序列化漏洞分析一、任务目标能够进行反序列化漏洞的分析;了解世界技能大赛中的网络安全项目和我国选手的参赛情况,弘扬劳动光荣、技能宝贵、创造伟大的时代风尚。二、任务实施1.serialize()函数serialize(mixed$value)函数用于序列化对象或数组,并返回一个字符串。其中,参数$value就是要序列化的对象或数组。2.unserialize()函数unserialize(mixed$value)函数用于将序列化的对象或数组反序列化,恢复为原始的对象。任务2反序列化漏洞代码审计一、任务目标能够进行反序列化漏洞的代码审计;了解网络安全众测的发展状况。二、任务实施1.环境搭建2.漏洞分析3.构造PoC4.漏洞利用项目复盘1.本地搭建实验环境。2.掌握反序列化漏洞的利用场景及审计思路。3.独立分析任务2中的项目源代码。4.复现任务2中漏洞分析的反序列化漏洞。1.教学以学生学习教材的基本内容为主,系统全面地了解如何尝试创业实践。2.整个教学过程中,各教学点可根据实际情况,进行拓展知识的讲解。本章小结:反序列化漏洞作为OWASPTop10中的高危漏洞类型,其危害性不容忽视。通过靶机环境进行渗透测试,可以帮助安全人

温馨提示

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

评论

0/150

提交评论