缔冠期刊网

跨站脚本攻击实验环境搭建和详析

2022-06-08

秦宇

(广东外语艺术职业学院,广东 广州 510640)

【摘 要】高职院校的网络安全类课程教学中,需要学生既具有扎实的基础理论知识,又要求在教学中给学生提供一个模拟或者真实的操作环境帮助学生全面的掌握网络安全知识。如何防范跨站脚本攻击是当前网络安全工作中的一个重要课题,本文结合了日常教学的经验,在详细分析跨站脚本攻击原理的基础上,在php+mysql环境上搭建出一个真实的实验环境,帮助学习者深刻理解跨站脚本攻击的相关知识,并学会如何进行有效防范。

教育期刊网 http://www.jyqkw.com
关键词 跨站脚本攻击; 网络安全; 实验平台

【Abstract】The students in vocational college are required to have enough knowledge about the principle of network security, and an experimental platform is also needed to help students lean network security. Cross Site Script(XSS) attack and defense is an important subject in network security field. An experimental platform is developed to help learner understand about XSS attack and defense, and the principle of XSS attack and defense is also analyzed. The platform is developed using php+mysql tools. This article is based on the author’s regular teaching experience.

【Key words】Cross site script attack; Network security; Experimental platform

跨站脚本攻击在各种网络安全漏洞中,一直被OWASP(Open Web Application Security Project) 组织评为十大安全漏洞中的第二威胁漏洞。2011年,国内最热门的信息平台“新浪微博”爆发跨站脚本攻击,仅持续16分钟,感染的用户就达33000个,可见其危害之大。

高职院校的《网络安全与防范》课程也把跨站脚本攻击作为一个重点的教学内容。为了让学生充分掌握跨站脚本攻击的防范方法,就必须透彻的了解跨站脚本攻击的原理和具体的实施过程。

我们开展了一项课题,旨在搭建一个网络攻防的应用平台,帮助学习者更深刻的理解各种网络攻防的原理和了解其实施的步骤,以采取更高效的防范措施,来杜绝网络攻击的产生。跨站脚本攻击就是其中的一项任务。

本文中,我们会对跨站脚本攻击进行详细的分析,并结合搭建的网络平台重建攻击过程,并提出防范方法。

跨站脚本攻击是由于网站的后台系统对用户的输入过滤不严而产生的。攻击者利用这一点把恶意代码加入到网站的后台系统中(通常是网页之中),当用户浏览这些网页时,那些隐含在正常网页中的恶意代码就会在用户的机器中得以执行,从而达到各种攻击用户电脑的目的。

为了理解跨站脚本攻击,有必要先了解用户访问一个没有恶意代码的简单网页的过程。访问如图 1所示的一个网页,用wireshark工具进行网络数据的捕获。

总共捕获到两个数据包,一个是浏览器发送给网站的请求数据包,其内容如图 2:

在请求数据包中,比较重要的一个字段是cookie字段,其具体内容记录了用户平时登录各种网站的账号和密码信息。跨站脚本攻击往往会通过这个字段获取到用户的账号等重要信息。

网站回送给浏览器的响应数据包如图 3:

在响应数据包中,除了一些头信息外,还附带上了网页的内容。可见,一个基本的网页访问过程就是由一个请求数据包和响应数据包组成的。

接下来,在我们搭建的实验平台上,对一个网站进行跨站脚本攻击,以实现一个不断弹出的窗口,迫使正常的网页浏览无法继续下去。在一个存在有漏洞的商品评价网页中,通过对商品添加评价进行攻击。如图 4:

在评论内容里面,写下如下的代码:

发表评论后,当其他用户登录网站,通过点击“查看该商品评论”查看评论时,就会出现如图 5所示的情况:

并且无论点击多少次“确定”按钮,都无法关闭此弹出窗口,表明此用户已经受到了跨站脚本攻击。打开由网站传送回来的网页源代码,可以发现这样一句代码:“”,这段代码已经被插入到网页中,当浏览器解析到这一段代码时,因为“”。

当用户“qy1”登录网站查看这一个评论时,其账号和密码就会发送到攻击者a所指定的机器上,并存储在“cookie.txt”文件中,其中的内容如图 10:

由此攻击者就利用跨站脚本攻击获取到了被攻击者的账号和密码等重要信息。

分析此次跨站脚本攻击,攻击者在商品评论里面并没有写入评论性的语句,而是写入了一段javascript代码,这段代码并没有经过过滤就被写到了网站的后台数据库中,如图 11:

当受攻击者浏览这个商品的评论时,这段代码没有经过任何过滤就被传送给了浏览器,而浏览器当解析到所包括的语句时,会认为这是一段javascript语句,会执行语句中的内容。而这段代码的作用就是读取被攻击者机器上所存储的cookie信息,并且把此信息发送给攻击者所指定的网站的指定接收页面。我们再来看,这个接收页面的内容如下:

$cookie=$_GET[´zhanghao´];

$cookierec=fopen("cookie.txt","a");

fwrite($cookierec,$cookie."\n");

fclose($cookierec);

?>

其作用就是接收被攻击者发送过来的账号信息,并把它存储在文件“cookie.txt”里面。

被攻击者的机器在不知不觉中向攻击者指定的机器发送了数据包,其内容如图 12:

数据包中的GET语句包括了用户的账号等重要信息。

到此为止,一个详细的跨站脚本攻击过程就已经详细的展现出来。如何防止此种跨站脚本攻击呢。通过分析以上攻击过程,发现实现此类攻击,要具备以下条件:

(1)网站存在供用户输入数据的页面,类似留言板,商品评论,搜索框等。

(2)用户浏览了被攻击者恶意修改过的网页。

(3)用户的机器允许执行这些恶意代码。

(4)网站没有对用户的输入内容进行有效的过滤,即过滤掉那些攻击性的代码,并且在输出用户的评论或者搜索内容时也没有进行过滤。

对于以上的第一点,由于现在绝大多数网页都会有和用户交互的需要,所以给用户输入信息的功能,不能取消。

对于第二点,用户可以提高警惕,对于一些非法网站,尽量不要去访问。

对于第三点,用户可以禁止浏览器的活动脚本的执行,可以如图 13设置:

对于第四点,要求网站开发人员对用户的输入信息进行过滤,过滤掉恶意的代码。或者在输出时进行过滤,过滤掉恶意代码。

例如,可以建立一个如下的函数:

function unhtml($content){

$content=str_replace("&","&",$content);

$content=str_replace("<","<",$content);

$content=str_replace(">",">",$content);

$content=str_replace(" ," ",$content);

$content=str_replace(chr(13),"
",$content);

$content=str_replace("\\","\\\\",$content);

$content=str_replace(chr(34),""",$content);

return $content;

}

利用此函数把”<” ,”>”, “&”等字符转化为<, >, &等字符。这样浏览器在输出时,遇到<, >, &等字符时,就会在网页上显示”<” ,”>”, “&”等字符,而不会把这些字符对中所包含的内容当作可运行的代码进行执行了。

在实验平台的网站后台页面代码中加入unhtml函数,例如在显示商品评论的网页showpl.php中加入如下代码

成功对商品评论中的输出内容进行了过滤,避免了跨站脚本攻击,用户看到的输出结果如图 14:

结论:

为了让学习者理解如何防范跨站脚本攻击,搭建了一个基于php+mysql的实验平台,在对跨站脚本攻击进行了原理上的详诉后,对攻击中的每个步骤进行了模拟,每一步的模拟都是一个真实攻击的再现。最后,讲解如何防范跨站脚本攻击,对于后台防范代码做了详解,演示了防范后的效果。我们搭建的实验环境让学习者不再局限于对跨站脚本攻击原理上的了解,而是有了一个实操的环境,极大的提高了学习者的学习兴趣,增加了学习效率。基于我们搭建的实验平台,将来还可以开展更多的实验。

教育期刊网 http://www.jyqkw.com
参考文献

[1]赵彬.黑客攻防Web安全实战详解[M].北京:中国铁道出版社,2014.

[2]肖遥.大中型为了入侵要案直击与防御[M].北京:电子工业出版社,2011.

[3]武新华,陈艳艳,王英英.矛与盾:黑客攻防与脚本编程[M].北京:机械工业出版社,2010.

[责任编辑:汤静]

论文中心更多

期刊百科
期刊投稿 期刊知识 期刊审稿 核心期刊目录 录用通知 期刊版面费 投稿期刊推荐 学术问答
基础教育
小学语文 中学语文 小学数学 中学数学 小学英语 中学英语 物理教学 化学教学 生物教学 政治教学 历史教学 地理教学 科学教学 音乐教学 美术教学 体育教学 信息技术 班主任管理 校长管理 幼教 教育管理 微课教学 作文教学 德育教学 教学设计
医学论文
内科医学 外科医学 预防医学 妇科医学 检测医学 眼科医学 临床医学 药学论文 口腔医学 中西医 中医学 外科 护理 基础医学 急救医学 老年医学 医学实验 儿科医学 神经医学 兽医学 肿瘤医学 综合医学
职业教育
教育学原理 电影文学教育 学前教育 教育学管理 高等教育学 教育技术学 职业技术教育 成人教育学 特殊教育学 教育心理学 家庭教育 教育毕业 中专中职教育 教学设计 国学教育 学术研究 大学教育
药学卫生
社区门诊 医药学 医患关系 医院管理 疾病预防 保健医学 公共卫生 医学教育
文科论文
农业经济 工商管理毕业 会计毕业 行政管理 法律毕业 市场营销 经济毕业 汉语言文学 财务管理 物流管理 人力资源 旅游管理 国际贸易 物业管理 新闻学 企业管理 金融银行 社会科学 食品安全 办公档案 审计学 税务税收学 外国文学 哲学
理科论文
机电毕业 土木工程 计算机毕业 电气毕业 建筑毕业 电子商务 工程毕业 设计毕业 机械制造 汽车毕业 园林毕业 农学毕业 数控毕业 软件技术 水利工程 环境生态 畜牧渔业 化工毕业 科技创新 石油矿藏
论文格式
开题报告 论文题目 摘要关键词 目录提纲 论文致谢 参考文献 附录其他 论文答辩
职业论文
教育论文 经济论文 科技论文 财会论文 管理论文 医学论文 法学论文 文学论文 工业论文 建筑论文 农业论文 水利论文 计算机论文 社科论文 机械论文 生态环境 中西文化

先发表后付款 不成功可退款

权威机构认证 专注期刊10余年 1000余家杂志社长期合作

缔冠期刊网

首页 网站地图 返回顶部
Copyright © 1998- 缔冠期刊网