《计算机网络安全防护技术(第二版)》 课件 第7章 任务7.1.10-7.1.11 实施和避免onload引起的XSS_第1页
《计算机网络安全防护技术(第二版)》 课件 第7章 任务7.1.10-7.1.11 实施和避免onload引起的XSS_第2页
《计算机网络安全防护技术(第二版)》 课件 第7章 任务7.1.10-7.1.11 实施和避免onload引起的XSS_第3页
《计算机网络安全防护技术(第二版)》 课件 第7章 任务7.1.10-7.1.11 实施和避免onload引起的XSS_第4页
《计算机网络安全防护技术(第二版)》 课件 第7章 任务7.1.10-7.1.11 实施和避免onload引起的XSS_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

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

文档简介

第7章Web安全技术编著:

秦燊劳翠金

任务7.1.10-7.1.11实施和避免onload引起的XSS任务7.1.10实施onload引起的XSS一、网页内容及作用。1、网站的网页15.htm内容如下:<body> 请输入一张您推荐图片的网址: <formaction="16.php"method="GET"> <inputtype="text"name="aa"size=35value="/puppy.jpg"> <inputtype="submit"value="提交"> </form></body>如图7-1-71所示,网页的显示效果如下:图7-1-71网站www.上的网页15.htm2、网站的网页16.php内容如下:<?phpsession_start();?><bodyonload="imgUrl('<?phpecho$_GET['aa']?>')"><imgid="img1"alt="小狗"style="width:996px;height:664px;display:block;"/><scriptlanguage="javascript">functionimgUrl(aa){document.images.img1.src=aa;}</script></body>若用户在网页15.htm中输入的参数(推荐图片的网址)是‘/puppy.jpg’,或用相当路径,输入“/puppy.jpg”,参数会被传递给网页16.php的语句:onload="imgUrl('<?phpecho$_GET['aa']?>')"即调用函数:imgUrl('/puppy.jpg'),产生的图片链接能正常显示用户推荐的图片。显示效果如图7-1-72所示。图7-1-72网站www.上的网页16.php二、测试网页是否存在漏洞。如图7-1-73所示,当用户在网页15.htm中输入的是:');alert(document.cookie)//时,图7-1-73网站www.上的网页15.htm点击“提交”按钮后,传递给网页16.php的参数被imgUrl函数调用,相当于执行:imgUrl('');alert(document.cookie)//'),用户的输入以空参数强行结束了imgurl函数,并通过javascript语句弹出窗口显示用户在网站上的cookie值。显示效果如图7-1-74所示。可见漏洞存在。图7-1-74网站www.上的网页弹出cookie值对话框

三、尝试用以前学过的html转义进行防护。1.html转义防护语句如下:htmlspecialchars(@$_POST['aa'],ENT_QUOTES,"UTF-8"),网页16.php的onload语句内容从<bodyonload="imgUrl('<?phpecho$_GET['aa']?>')">变成了:<bodyonload="imgUrl('<?phpechohtmlspecialchars($_GET['aa'],ENT_QUOTES,"UTF-8")?>')">2.更新后的网页16.php,内容如下:<bodyonload="imgUrl('<?phpechohtmlspecialchars($_GET['aa'],ENT_QUOTES,"UTF-8")?>')"><imgid="img1"alt="小狗"style="width:996px;height:664px;display:block;"/><scriptlanguage="javascript">functionimgUrl(aa){document.images.img1.src=aa;}</script></body>3.在网页15.htm中输入');alert(document.cookie)//进行测试,发现漏洞仍然存在。漏洞存在的原因是:网页16.php收到参数');alert(document.cookie)//后,onload语句变为:<bodyonload="imgUrl('');alert(document.cookie)//')">,输入的单引号虽然经过转义变成了“'”,但只在html中与单引号区别对待,在javascript脚本的onload函数中,“'”仍被当做单引号使用,所以漏洞依然存在。7.1.11如何避免onload引起的XSS将的15.htm和16.php改成17.htm和18.php,加入防护内容。具体如下:1.网页17.htm保持与网页15.htm一致:<body> 请输入一张您推荐图片的网址: <formaction="18.php"method="GET"> <inputtype="text"name="aa"value="/puppy.jpg"> <inputtype="submit"value="提交"> </form></body>2.网页18.php在网页16.php的基础上修改完善而成。上一小节中,单引号经过html转义后,javascript脚本的onload函数仍将其看作单引号,漏洞依然存在。3.防止漏洞的方法是先做Javascript转义,再做HTML转义。转义字符对照如表7-1-1所示:原字符Javascript转义后HTML转义后<>’”\<>\’\”\\<>\'\"\\表7-1-1转义字符对照表完善后的18.php网页内容如下:<head> <?php session_start(); functionwaf($s){ returnmb_ereg_replace('([\\\\\'"])','\\\1',$s); } ?></head><bodyonload="imgUrl('<?phpechohtmlspecialchars(waf($_GET['aa']),ENT_QUOTES,"UTF-8")?>')"><imgid="img1"alt="小狗"style="width:996px;height:664px;display:block;"/><scriptlanguage="javascript">functionimgUrl(aa){document.images.img1.src=aa;}</script><

温馨提示

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

评论

0/150

提交评论