2.3 XSS跨站脚本攻击的分析本文来自辣~文\论|文/网,毕业论文 www.751com.cn 加7位QQ324'9114找源文
XSS(Cross Site Script)它指的是恶意攻击者往Web页面里插入恶意html代码,当用户浏览该页之时,会执行嵌入其中Web里面的html代码,从而达到恶意用户的攻击目的。
1.XSS攻击的原理
跨站脚本主要被攻击者利用读取网站用户的cookies或者其他个人数据,伪装成此用户来登录网站,获得此用户的权限。
跨站脚本攻击属于被动式的攻击。攻击者先构造一个跨站页面,利用script、<IMG>、<IFRAME>等各种方式使得用户浏览这个页面时,触发对被攻击站点的http请求。此时,如果被攻击者如果已经在被攻击站点登录,就会持有该站点cookie。这样该站点会认为被攻击者发起了http请求。而实际上这个请求是在被攻击者不知情的情况下发起的,由此攻击者在一定程度上达到了冒充被攻击者的目的。
跨站脚本攻击主要分为两类:
一类是来自内部的攻击,主要指的是利用WEB程序自身的漏洞,提交特殊的字符串,从而使得跨站页面直接存在于被攻击站点上,这个字符串被称为跨站语句。另一类则是来来自外部的攻击,主要指的自己构造XSS跨站漏洞网页或者寻找非目标机以外的有跨站漏洞的网页。[2]
2.XSS攻击的过程
跨站脚本攻击的一般步骤:
1、攻击者以某种方式发送xss的http链接给目标用户
2、目标用户登录此网站,在登陆期间打开了攻击者发送的xss链接
3、网站执行了此xss攻击脚本
4、目标用户页面跳转到攻击者的网站,攻击者取得了目标用户的信息
5、攻击者使用目标用户的信息登录网站,完成攻击
3.XSS攻击的危害
1)篡改和伪造页面
攻击者可以通过恶意代码改变页面上的元素,比如可以改变 <img>标签的src属性,使页面显示攻击者的图片。攻击者也可以改变这个页面,通过 <iframe>把宽度和高度都设成100%,攻击者可以嵌入自己的网页。
2)欺骗内网客户端
很有公司都有自己的内网,内网之间的机器是互相信任的,而外网的机器是不被信任的。XSS攻击可以使外网的服务器欺骗内网的客户端,是它成为一个可信任的机器执行一段恶意代码。
3)会话劫持
攻击者可通过恶意代码窃取用户的cookie信息,以用户的身份登录到网站,以达到进一步窃取或修改用户敏感信息或者以有效地身份请求服务的目的。[5]
4)其他辅助攻击
XSS攻击还可以配合其他的攻击手段,达到修改系统配置,查看系统文件,下载并运行木马程序或者在终端执行恶意代码。