




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 新疆乌鲁木齐市天山区2025届三年级数学第二学期期末统考试题含解析
- 重庆医药高等专科学校《统计应用与实务》2023-2024学年第一学期期末试卷
- 白银希望职业技术学院《影视三维光影与质感技术》2023-2024学年第一学期期末试卷
- 工程竣工验收报告建筑外观质量检查
- 涵洞墙身钢筋施工方案
- 车库地面施工方案
- 施工方案预控关键
- 户外石材地面施工方案
- 河道大开挖施工方案
- 网络架空地板施工方案
- YS/T 269-2008丁基钠(钾)黄药
- GB/T 3808-2018摆锤式冲击试验机的检验
- (完整版)《汽车材料》课程标准
- GB 1523-2013绵羊毛
- 2004年考研英语一真题及答案
- 护理安全警示教育警示-课件
- 过程装备控制基础过程装备控制技术及应用
- 基坑支护设计投标技术方案
- DB32∕T 4117-2021 保温装饰板外墙外保温系统技术规程
- 英文投稿流程课件
- 博弈论与信息经济学课件
评论
0/150
提交评论