版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 温州医学院妇产科护理学课件
- DB65T 5000-2025春大豆膜下滴灌栽培技术规程(兵团)
- 灭火器培训讲解
- 潜力图斑摸排培训
- 2026上海市聋哑青年技术学校招聘4人备考题库及参考答案详解(新)
- 2026中煤环保公司徐州分公司社会招聘工作人员59人备考题库附答案详解(a卷)
- 2026四川成都都江堰首嘉医院2月招聘12人备考题库带答案详解(精练)
- 2026天津能源投资集团有限公司社会招聘创新服务中心副主任的1人备考题库及参考答案详解1套
- 2026年计算机基础应用能力考试题及答案
- 农业机械综合试题与答案
- 医用手术器械讲解
- 冰芯气泡古大气重建-洞察及研究
- DB37∕T 5031-2015 SMC玻璃钢检查井应用技术规程
- 旅行社计调职业技能模拟试卷含答案
- 口腔肿瘤手术配合方案
- 新疆金川矿业有限公司堆浸场扩建技改项目环评报告
- 2025至2030年中国武汉餐饮行业市场现状调查及发展趋向研判报告
- JG/T 155-2014电动平开、推拉围墙大门
- 模特外包服务合同协议书
- 艾灸治疗腰部疼痛
- 运输居间协议书范本
评论
0/150
提交评论