跨站脚本攻击XSS-危害

  sre, 开发

4.1Cookie泄露
XSS攻击可以通过读取浏览器的Cookie对象,从而发起“Cookie劫持”攻击。
Cookie中一般加密保存了当前用户的登录凭证。如果Cookie丢失,则意味着用户的登录凭证丢失,也就是说黑客可以不通过密码,而直接登录进用户的账号。
4.2构造GET与POST请求
一个网站的应用,只需要接受HTTP协议中的GET或者POST请求,就可以完成所有操作。对于黑客来说,仅仅通过JavaScript,就可以让浏览器发起这两种请求。
GET请求
黑客可以通过插入一张图片来发起一个GET请求:
var img = document.createElement(“img”);
img.src = url;
img.width=0;
img.height=0;
document.body.appendChild(img);
其中url为页面的请求链接。
POST请求
黑客可以通过XMLHttpRequest发送一个POST请求:
var url=url;
var xmlhttp;
if (window.XMLHttpRequest){
xmlhttp=new XMLHttpRequest();
}else{
xmlhttp=new ActiveXObject(“Microsoft.XMLHTTP”);
}
xmlhttp.onreadystatechange=function(){
if (xmlhttp.readyState==4 && xmlhttp.status==200){
alert(xmlhttp.responseText);
}
}
xmlhttp.open(“POST”,url,true);
xmlhttp.send(postStr);
其中url为请求链接,postStr为请求内容。
4.3XSS钓鱼
黑客为了窃取密码,可以将XSS与“钓鱼”相结合。
实现思路很简单:利用Javascript在当前页面上“画出”一个伪造的登录框,当用户在登录框中输入用户与密码后,其密码将被发送至黑客的服务器上。
4.4XSS Worm
XSS Worm是XSS的一种终极利用方式,他的破坏力和影响力是巨大的。但是发起XSS Worm攻击也有一定的条件。
一般来说,用户之间发生交互行为的页面,如果存在存储型XSS,则比较容易发起XSS Worm攻击。
黑客通过XSS Payload进行POST请求,比如发表文章,同时发表内容中又包含了XSS Payload。当用户看到该文章后,则会自动发表带有XSS Payload的文章。实现了蠕虫的传播。
4.5其他
获取用户浏览器信息
在很多时候,攻击者为了获取更大的利益,往往需要准确的收集用户的个人信息。比如,如果知道用户使用的浏览器、操作系统,攻击者就可能实施一次精准的浏览器内存攻击,最终给用户电脑植入一个木马。XSS可以读取浏览器的navigator对象,该对象有很多客户端的信息。
识别用户安装的软件
在IE中,可以通过判断ActiveX控件的classid是否存在,来推测用户是否安装了该软件。黑客通过判断用户安装的软件,选择对应的浏览器漏洞,最终达到植入木马的目的。
获取用户的真实IP地址
一般来说,XSS攻击需要借助第三方软件来完成。比如,客户端安装了Java环境,那么XSS就可以通过调用Java Applet的接口获取客户端的本地IP地址。

LEAVE A COMMENT

Captcha Code