版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
《Web安全漏洞及代码审计(第2版)(微课版)》课程教案课题:基于DVWA的漏洞分析与代码审计教学目的:知识目标:掌握OWASPTop10等主流Web安全威胁模型,理解常见漏洞的成因、危害和利用方式;熟悉DVWA的架构设计、安全级别设置、漏洞模块功能,理解其作为教学平台的价值;学习静态代码分析、动态调试、输入输出追踪等代码审计技术,能够定位和识别安全漏洞;掌握各类漏洞的安全防护措施,包括输入验证、输出编码、参数化查询、权限控制等技术。能力目标:能够独立搭建DVWA环境,复现SQL注入、XSS、文件上传等常见Web漏洞;代码审计能力:具备分析PHP代码、识别安全缺陷、定位漏洞位置的能力;渗透测试能力:能够使用渗透测试工具(如BurpSuite、SQLMap)对DVWA进行安全测试;能够编写安全代码修复漏洞,实现从攻击到防御的完整闭环;能够撰写漏洞分析报告、安全建议文档。素养目标:树立"安全第一"的开发理念,培养主动发现和修复安全问题的意识;理解网络安全法律法规要求,培养合规开发习惯;认识安全漏洞的严重性,培养对用户数据安全的责任感;关注安全领域新技术、新漏洞,保持知识更新;在安全测试、代码审计等工作中能够有效协作。实践目标:能够完成DVWA所有漏洞模块的复现和代码审计;能够独立编写安全代码修复DVWA中的漏洞;能够使用渗透测试工具对Web应用进行安全评估;能够撰写完整的安全测试报告和修复方案;能够将所学知识应用到实际项目开发中,提升代码安全性。课型:新授课课时:本章安排14个课时。教学重点:重点:熟悉DVWA的架构设计、安全级别设置、漏洞模块功能,理解其作为教学平台的价值。教学难点:难点:能够撰写漏洞分析报告、安全建议文档。教学过程:教学形式:讲授课,教学组织采用课堂整体讲授和分组演示。教学媒体:采用启发式教学、案例教学等教学方法。教学手段采用多媒体课件、视频等媒体技术。板书设计:本课标题基于DVWA的漏洞分析与代码审计课次7授课方式理论课□讨论课□习题课□其他□课时安排14学分共2分授课对象普通高等院校学生任课教师教材及参考资料1.《Web安全漏洞及代码审计(第2版)(微课版)》;电子工业出版社。2.本教材配套视频教程及学习检查等资源。3.与本课程相关的其他资源。教学基本内容教学方法及教学手段课程引入DVWA(DamnVulnerableWebApplication)是一个专门用于安全教学和渗透测试的Web应用程序,它包含了多种常见的安全漏洞,为安全研究人员、开发人员和测试人员提供了一个安全的学习和实践环境。参考以下形式:1.衔接导入2.悬念导入3.情景导入4.激疑导入5.演示导入6.实例导入7.其他形式项目知识准备一、寻找漏洞签名漏洞签名是指经常伴随漏洞出现的特征代码,简单来说,就是经常伴随漏洞出现的函数,如SQL注入的mysql_query()函数及命令注入的shell_exec()函数等。二、功能点定向审计当我们有了一定的代码审计经验后,通常可以掌握常见的漏洞触发场景,因此,我们也可以通过这种方式进行代码审计,并在程序部署成功后查看系统中存在哪些功能模块,了解对应功能的程序文件是什么样的。三、通读全文使用通读全文的方式可以快速了解整个程序的业务逻辑,使审计更加全面。在人工审计代码时,通常需要收集系统的设计文档、系统开发说明书等技术资料,以便更好地了解系统的业务功能。首先,需要了解程序代码的目录结构,包括主目录文件、功能模块文件、静态资源目录文件及日志文件等,而index.php、admin.php文件通常是整个程序的入口,通过读取index.php文件可以知道程序的架构、运行流程、包含的配置文件、包含的过滤文件及包含的安全过滤文件等,从而了解程序的业务逻辑。任务1功能点定向审计一、任务目标二、任务实施1.寻找漏洞签名这里选择使用Seay源代码审计系统来演示如何寻找漏洞签名。2.功能点定向审计下面简单介绍几个经常会出现漏洞的功能点。1)程序安装在进行程序安装时,如果未严格过滤配置文件,则攻击者可以在安装过程中向配置文件中插入恶意代码以执行任意命令,甚至可以直接获取Webshell。2)文件上传导致文件上传漏洞的原因有很多,主要原因如下。服务器配置不当。开源编辑器上传漏洞。本地文件上传限制被绕过。过滤不严格或被绕过。文件解析漏洞导致文件执行。文件路径截断。3)文件操作文件操作函数是常见的任意文件读取漏洞。4)登录验证在进行登录验证时,经常会出现的漏洞包括Cookie身份验证漏洞、SessionID固定漏洞、注入漏洞(万能密码)、越权漏洞和逻辑漏洞。5)找回密码在找回密码的过程中,虽然看起来没有文件包含这种可以危害到服务器安全的漏洞,但是如果攻击者可以重置管理员的密码,则可以间接控制业务权限甚至拿到服务器权限。3.通读全文这里使用熊海CMS1.0进行演示,此系统功能比较简单,也比较容易理解。主要目录及文件说明如下。admin:存放后台相关文件。css:存放静态资源文件。files:存放相关功能函数文件。images:存放图片文件。inc:存放配置文件。install:存放安装文件。seacmseditor:第三方编辑器。template:存放模板文件。upload:文件上传目录。index.php:入口文件。任务2暴力破解漏洞与审计一、任务目标二、任务实施漏洞说明:暴力破解(BruteForce)是攻击者使用大量猜测和枚举的方法来获取用户密码的攻击。1.Low等级2.Medium等级3.High等级4.Impossible等级任务3命令注入漏洞与审计一、任务目标二、任务实施漏洞说明:命令注入(CommandInjection)是由开发人员考虑不周全而引起的。1.Low等级通过分析上述Low等级代码可以发现以下内容。(1)使用预定义变量$_POST[]接收从form表单中传来的数据,并使用isset()函数判断该值是否传入。(2)将接收到的数据中的ip的值赋给变量$target。(3)进行主机系统判断,使用php_uname()函数获取服务器操作系统的信息。在Windows10系统中,php_uname('s')函数返回的值是WindowsNT。(4)stristr(a,b,c)函数用于搜索字符串b在另一个字符串a中第一次出现的位置,并返回字符串剩余的部分,且不区分大小写。如果不存在,则返回空值。c的值为true或false,默认为false,如果为true,则返回字符串之前的部分。(5)通过if语句判断是否为空后,执行shell_exec()函数并将所有输出流作为字符串返回。2.Medium等级3.High等级4.Impossible等级漏洞防范说明如下。(1)防命令注入函数。(2)参数白名单。任务4跨站请求伪造漏洞与审计一、任务目标二、任务实施漏洞说明:跨站请求伪造(Cross-SiteRequestForgery,CSRF)攻击是指在用户不知情的情况下对当前登录的Web应用程序执行非本意操作的攻击。1.Low等级2.Medium等级3.High等级4.Impossible等级漏洞防范说明如下。(1)利用token。(2)Referer。任务5文件包含漏洞与审计一、任务目标二、任务实施漏洞说明:程序开发人员通常会把重复使用的函数写入到单个文件中,当需要使用这个函数时直接调用此文件,而无须再次写入函数代码。1.Low等级2.Medium等级3.High等级4.Impossible等级任务6文件上传漏洞与审计一、任务目标二、任务实施漏洞说明:文件上传(FileUpload)漏洞是非常容易理解的漏洞,因为代码都是在文件中执行的,如果Web应用程序允许用户通过文件上传功能将文件上传到服务器中的任意目录下,并且对上传文件没有进行限制,则攻击者可以通过上传伪装的可执行的脚本文件来获取服务器的Webshell权限。1.Low等级漏洞挖掘:文件上传漏洞非常容易理解,也比较容易挖掘。2.Medium等级3.High等级%00的增加方式有以下两种。(1)使用BurpSuite抓包,在Row模式下的文件名中间增加空格,之后切换到Hex编码,找到20并将其改成00。(2)在Row模式下的文件名中增加“%00”,之后右击“%00”,选择相应命令,进行URLDecode编码。4.Impossible等级通过分析上述Impossible等级代码可以发现以下内容。(1)文件名、Content-Type都增加了白名单校验。(2)文件重命名避免了%00截断漏洞。(3)虽然使用token可以避免CSRF攻击和工具暴力重试,但是增加了重试难度。漏洞防范:利用文件上传漏洞的主要方法有两种,分别为对上传文件类型的不正确验证和对文件的不规则写入。针对这两种方法,本书给出以下两种防范计划。(1)使用白名单的方式过滤文件扩展名,并使用in_array()函数或3个等号(===)比较扩展名。(2)保存上传文件时重命名的文件。文件重命名采用拼接时间戳和随机数的MD5值方法,格式为md5(time()+rand(,10000))。任务7SQL注入漏洞与审计一、任务目标二、任务实施漏洞说明:在程序开发过程中,程序开发人员没有注意标准化SQL语句的编写和特殊字符的过滤,从而导致客户端通过全局变量以POST和GET方式提交的一些SQL语句被正常执行。SQL注入漏洞是目前被利用最多的漏洞,相应地,SQL注入方法也有很多种。(1)基于布尔的盲注。(2)基于时间的盲注。(3)基于错误信息的注入。(4)联合查询注入。1.Low等级sqlmap常用的指令如下。(1)-u:指定目标URL,SQL注入点。(2)-cookie:当前会话的Cookie值。(3)-b:获取数据库类型,检索数据库管理系统(DatabaseManagementSystem,DBMS)的标识。(4)-current-db:获取当前数据库信息。(5)-current-user:获取当前登录数据库的用户信息。2.Medium等级3.High等级4.Impossible等级下面来看一下这两种方法。(1)过滤函数和类。(2)PDOprepare预编译。PDOprepare与.NET中的SqlParameter及Java中的prepareStatement的作用是相同的,都是使用预编译的方式来处理数据库查询的。任务8SQL盲注漏洞与审计一、任务目标二、任务实施漏洞说明:SQL盲注[SQLInjection(Blind)]也是SQL注入,只是SQL盲注在未直接收到(如以错误信息或泄露信息的形式收到)数据库的数据时,也可能提取数据库中的数据(每次一位)或者以恶意的方式修改查询。1.Low等级2.Medium等级3.High等级4.Impossible等级任务9脆弱会话漏洞与审计一、任务目标二、任务实施漏洞说明:密码、证书等认证手段,一般仅用于用户登录账户的过程。在用户访问服务器时,服务器一般都会分配一个身份证明(SessionID)给用户,用于认证。1.Low等级2.Medium等级3.High等级4.Impossible等级任务10反射型XSS漏洞与审计一、任务目标二、任务实施漏洞说明:跨站脚本(XSS)攻击通常指的是攻击者利用网页开发时留下的漏洞,通过巧妙的方法将恶意指令代码注入到网页中,使用户加载并执行攻击者恶意制作的网页程序的攻击。XSS攻击分为以下3类。反射型XSS:攻击者需要提前制作好攻击链接,诱导用户自己单击链接,从而触发XSS代码执行(服务器中没有这样的页面和内容)。反射型XSS一般容易出现在搜索页面中。存储型XSS:代码是存储在服务器中的,例如,在个人信息或发表文章等地方加入代码,如果没有对这些代码进行过滤或者过滤不严格,则这些代码将被存储到服务器中,每当有用户访问该页面时都会触发XSS代码执行。这种存储型XSS非常危险,容易造成蠕虫、Cookie被大量盗窃。DOM型XSS:基于文档对象模型(DocumentObjectModel,DOM)的一种漏洞。DOM是一个与平台、编程语言无关的接口,它允许程序或脚本动态地访问和更新文档内容、结构及样式,且处理后的结果被当作显示页面的一部分。1.Low等级2.Medium等级3.High等级4.Impossible等级任务11存储型XSS漏洞与审计一、任务目标二、任务实施1.Low等级2.Medium等级通过分析上述Medium等级代码可以发现,该代码使用了如下函数。addslashes(string):返回在预定义字符之前添加反斜线的字符串,预定义字符包括'、"、\、NULL。strip_tags(string):剥除string字符串中的HTML标签、XML标签及PHP标签。htmlspecialchars(string):将预定义字符<(小于)、>(大于)、&、‘’、“”转义为HTML实体字符,防止浏览器将其作为HTML元素。3.High等级4.Impossible等级漏洞防范:由于XSS漏洞在不同的浏览器中具有不同的利用方式,尤其是当有业务需要使用富文本编辑器时,其防范方法会更加复杂。因此,防御XSS攻击应从多个方面入手,尽量减少XSS漏洞。常见方式如下。(1)特殊字符的HTML实体转码。(2)标签事件属性的黑名单或白名单。任务12不安全的验证流程漏洞与审计一、任务目标二、任务实施漏洞说明:不安全的验证流程(InsecureCAPTCHA)主要用
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年秋季开学高三手机断舍离主题班会课件
- 2026年初中《无题相见时难别亦难》深情绵邈古诗备课教案
- 2025年港口行业装卸部装卸工港口装卸管理手册
- 零售业门店部店长突发事件应急处理手册
- 小学五年级冀教版折线统计图专项训练卷
- 服装行业裁缝部裁缝员服装制作手册(执行版)
- 2026-2027学年第一学期家长换季养生与疾病预防专题培训课件
- 2026年师生自然灾害预警信号的识别课件
- 基于荧光猝灭法溶解氧传感器校准的检测实验报告
- 基于计算机视觉的焊接质量缺陷检测焊缝表面缺陷识别与焊缝内部质量间接评估相关性研究可行性分析
- 中国人寿保险集团笔试题目
- 2026年河南中职对口升学机电类专业试题含答案
- 2026年浙江省宁波慈溪观海卫镇人民政府招聘编外13人易考易错模拟试题(共500题)试卷后附参考答案
- AI大模型训练大规模智算中心建设整体方案
- 2026年儿科三基题库及答案
- (2026年秋)外研社版六年级英语上册单词默写表(汉译英)
- (完整版)医疗质量与安全管理培训考核试卷试题及答案
- 一年级下口算题卡2000道打印版每日100道
- 安全教育培训记录
- 2026年全国大学生市场调查大赛-通关题库【突破训练】附答案详解
- 小学英语教学颜色课件
评论
0/150
提交评论