一、教学指导思想
通过本次课程的学习,使学生理解Web漏洞的基本概念、Web服务器工作原理和典型应用;掌握Web防护的构建,包括:防止ASP源代码的泄漏,防止文件对象组件篡改FAT分区的文件,防止HTML或JavaScript改变输出结果,解决ASP程序密码验证漏洞,解决索引服务漏洞。
二、教材分析
1、教材版本
《网络安全》,黄传河,杜瑞颖,张沪寅等编著,武汉大学出版社。
2、本节课在教材中的地位
起到承上启下的作用,前有操作系统漏洞及攻防,后有访问控制技术,将系统中的漏洞、不足,由不可控向可控过度。Web漏洞是常见漏洞的一种表现形式,也引入了后面的内容,为加强系统安全、防范漏洞,做了准备工作。同时将防范转为主动控制系统中可能出现的危险。
3、教材处理
从实践出发,以基本理论的应用和网络安全工具的使用为中心,以理论讲述为基础,避免了一些传统网络安全理论过多、理论过难、操作性不强、理论和实际联系不紧的问题,重点介绍Web漏洞的最新问题和工具的运用。
4、教学目标
通过本次课程的学习,使学生理解Web漏洞的基本概念、Web服务器工作原理和典型应用;掌握Web防护的构建,包括:防止ASP源代码的泄漏,防止文件对象组件篡改FAT分区的文件,防止HTML或JavaScript改变输出结果,解决ASP程序密码验证漏洞,解决索引服务漏洞。
5、教学重点与难点
重点:ASP及IIS的安全性。
难点:防止HTML或JavaScript改变输出结果。
三、学情分析
1、授课对象
2、针对不同授课对象采取相应措施
四、法指导
1、课前阶段
回忆常见Web页面错误、无法登录、页面无法正常加载等问题。
2、课堂阶段
理论知识的讲解,加上案例教学的配合。
3、课后阶段
要求学生在自己的计算机上做好Web攻击的防御工作,解决实际问题,提高其分析Web攻击的种类的能力,增强其实际操作的能力。
五、教法选择
1、启发引导法
2、案例法
3、沟通交流
4、激励法
5、归纳总结
六、教学程序
1、前一次课程内容回顾
DNS欺骗攻击、Email欺骗攻击、Web欺骗攻击、IP欺骗攻击。
2、本次课内容引入并讲解
(1)介绍Web服务器常见漏洞(演示法)
a.Web入侵
①收集资料
②取得普通用户的权限
③远程登录
④取得超级用户的权限
⑤留下后门
⑥清除日志
b.Web的三种安全问题
①服务器向公众提供了不应该提供的服务
②服务器把本应私有的数据放到了公开访问的区域
③服务器信赖了来自不可信赖数据源的数据
c.Web安全问题的来源
①管理员为了管理方便而设立远程管理功能
②为了方便用户使用而设立上传/下载机制
③由于疏忽而缺乏应有的安全检查
④为了省钱而使用不足够安全的软件和硬件
d.常见Web安全问题
①物理路径泄露
②CGI源代码泄露
③目录遍历
④执行任意命令
⑤缓冲区溢出
⑥拒绝服务
(2)CGI的安全性
CGI:公共网关接口。
它在Web服务器上定义了Web客户请求与应答的一种方式,是外部扩展应用程序与WWW服务器交互的一个标准接口
CGI的安全性
– Web服务器的安全
– CGI语言的安全
CGI的安全问题
①暴露敏感或不敏感信息。
②缺省提供的某些正常服务未关闭。
③利用某些服务的漏洞执行命令。
④应用程序存在远程溢出。
⑤非通用CGI程序的编程漏洞。
常见漏洞
①配置错误
安装完CGI程序后没有删除安装脚本,这样攻击者就可能远程重置数据
②边界条件错误
C语言编写的CGI
③访问验证错误
安全的验证:账号和密码,Session认证
不安全的验证:Userid ,Cookie
④来源验证错误
利用CGI程序没有对文章的来源进行验证,从而不间断的发文章,最后导致服务器硬盘充满而挂起。
⑤异常情况处理失败
没有检查文件是否存在就直接打开设备文件导致拒绝服务;没有检查文件是否存在就打开文件提取内容进行比较而绕过验证。
⑥策略错误
原始密码生成机制脆弱导致穷举密码导致在Cookie中明文存放账号密码导致敏感信息泄露;使用与CGI程序不同的扩展名扩展名存储敏感信息导致该文件被直接下载;丢失密码模块在确认用户身份之后直接让用户修改密码而不是把密码发到用户的注册信箱;登录时采用账号和加密后的密码进行认证导致攻击者不需要知道用户的原始密码就能够登录。
(3)ASP及IIS的安全性(案例法)
①泄漏ASP源代码
ASPSamp/Samples/code.asp
code.asp source=/directory/file.asp
②Access MDB数据库有可能被下载的漏洞
http://url//book.mdb
③利用FileSystemObject操作文件
IIS3、IIS4,FAT/NTFS
④asp程序密码验证漏洞
sql=“select * from user where username =”& username & “and pass=“& pass
⑤在输入中嵌入语句
<a herf=”http://someurl” onMouseover=”while(1){window.close('/')}”>请看这里
</a>
⑥Index Server服务漏洞ASP源程序
http://someurl/null.htw?CiWebHitsFile=/default.asp%20&CiRestriction=none&CiHiliteType=Full
⑦NT Index Server存在返回上级目录的漏洞
http://somerul/iissamples/issamples/oop/qfullhit.dll?CiWebHitsFile=/../../winnt/system32/logfiles/w3svc1/ex000121.log&CiRestriction=none&CiHiliteType=Full
http://url/default.htm%20.htwCiWebHitsFile=/../../winnt/system32/logfiles/w3svc1/ex000121.log&CiRestriction=none&CiHiliteType=Full
(4)练习与思考:设计Web安全方案(启发引导法)
问题1:简述网站的常见攻击方式有哪些?
问题2:假如你现在要攻陷一个UNIX + CGI + Perl的网站,请描述一下你的初步想法、攻击步骤和策略。
3、本节内容小结(归纳总结法)
(1)内容的回顾
①介绍Web服务器常见漏洞
②CGI的安全性
③ASP及IIS的安全性
(2)重点、难点问题的强调
重点:ASP及IIS的安全性。
难点:防止HTML或JavaScript改变输出结果。
(3)典型问题的解决方法说明
七、 课后分析
本次课所使用的五种教学方法的反思,如针对不同类型的知识(概念、原理等)是否采用了相应的方法,以及教学方法与教学目标的适合性,可以反思学生的学习行为得失,反思教学目标的达成情况;从教学进行的步骤看,可以反思教学的导入,教学各环节的衔接;从教学内容看,可以反思教学目标设置的合适性,教材内容重点、难点的处理是否得当。