Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   Авторские статьи (https://forum.antichat.xyz/forumdisplay.php?f=31)
-   -   [Обзор] Уязвимостей \ Багов вконтакте.ру (https://forum.antichat.xyz/showthread.php?t=65319)

Shawn1x 24.03.2008 23:14

[Обзор] Уязвимостей \ Багов вконтакте.ру
 
[Обзор] Уязвимостей \ Багов вконтакте.ру
Сайт: http://www.vkontakte.ru
Разработчик: Павел Дуров

ВКонтакте.ру - сетевой проект, который поможет Вам узнать больше о людях,
которые Вас окружают,а также найти потерянных друзей и поддерживать с ними связь.
Вы сможете делиться информацией, ограничивая круг лиц, которым она будет доступна.
На данный момент является самым посещаемым ресурсам и имеет более 10 000 пользователей

[Введение]
В этой статье будет рассказано о хитростях, багах, и уязвимостях сервиса вконтакте.ру

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

Смотреть информацию закрытого профиля(фотографии, видео, заметки и т.д.) следующим оброзом:
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&id=13780_39723&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?i...kmusic2gv4.png
Описание:

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

PHP код:

// ==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 
spansdocument.getElementsByTagName("span");
re=/title\d+/;
for (var 
i=0;i<spans.length;i++) {
if (
re.test(spans[i].id)) {
addLyric(spans[i]);
}
}
}

addLyrics();
addDownloads(); 


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


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

PHP код:

<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=;remixpass=;#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_names[2][0]);                             //Убираем мусор 

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

}     
?> 


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

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

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?i...2474150hs4.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(startendcurrent

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

2) Его реализаци. можно посмотреть здесь: http://blog.folone.org.ua/MOCK=130

Shawn1x 24.03.2008 23:16

[Подмена граффити на рисунок на стенах пользователей]
1)Скрипт
Его реализация:
http://www.x3k.ru/vkontakte/
Исходник:
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$errstr30); 
        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)), 01024)); 
            
$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($fp1024)) { 
                    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>"
?>

2) Программы
Vkonpic
http://3po.ru/img/th.jpg
Программа для загрузки картинок на стены друзей на сайте «ВКонтакте.ру».
Распространяется бесплатно и с открытыми исходными кодами.
http://rapidshare.com/files/102042311/VkontaktePicture_1__1_.2.rar.html

[Прочие уязвимости]

Чтобы выложить на стене чужую фотку:

http://vkontakte.ru/wall.php? ... &message=[[photo11111_22222]]

где 11111 ID юзера
22222 - ID его фотографии


[Copyritez]

Shawnix

PS Завтра можеь выложу активную XSS

Lancellot 24.03.2008 23:35

+1 не плохо было бы создать отдельную ветку форума vkontakte.ru
или antichat.vkontakte.ru

desTiny 24.03.2008 23:46

сорри, но
а) где здесь уязвимости?
б) где здесь баги?
в) а не является ли сие повторением Isis'овских Tips and Tricks?

desTiny 24.03.2008 23:54

Цитата:

Сообщение от baltazar
что-то непонял,это типа скопировал все баги,вставил в тему и красивенько оформил?)
просто все что тут есть,давно было сказано на форуме

что ты понимаеш под копирайтом?

Новое оформление, видимо...

CaNNabi$ 24.03.2008 23:56

Произошла ошибка безопасности при попытке добавить пользователя в друзья.
=(
хотел сделать вот это
Цитата:

Наведите курсор "Друзья xxx" и строке появится примерно следующиq текст:
http://vkontakte.ru/friend.php?act=add&id=12345678


iddqd 25.03.2008 00:12

Мля, вчера еще грозился обзор написать... Я думал, реально уязвимости будут...
Лажа

BlackCats 27.03.2008 00:19

бредятина, с фотками - как из превьюхи в норм посмотреть - непашет, точнее пашет только у дурова.

Shawn1x 12.04.2008 17:25

Там Xss активка в группах ;)

Foxtrot1 12.04.2008 23:26

эти уязвимости - лажа нет ниче нового ...

КИНГ 14.04.2008 15:31

Shawnix+++

что-то я очень сомневаюсь

Petr 20.04.2008 02:11

Для скачки видео и мп3 с сайта вконтакте и многих других
http://videosaver.ru/

Zhan 01.05.2008 13:54

С фото все работает, можно альбомы просматривать, проверено. id Можно узнать при попытке добавить человека в друзья, там будет что-то вроде http://vkontakte.ru/friend.php?act=add&id=24377&h=d248ef42, где 24377 его id.

ToniKapuchon 01.05.2008 14:05

а исходники для прожки, которая на стене картинку рисует, та которая не на php - есть??!!

.acme 01.05.2008 15:13

http://vkontakte.ru/swf/Graffiti.swf
Вскроешь любым SWF Decompiler'ом.

cR4FTeR 20.05.2008 03:49

...половина скриптов уже не работает - пофиксил паша дуроФ

X-Venom 20.05.2008 15:05

Недавно слышал что вконтакте распространяется вирус под видом фото

Solide Snake 22.05.2008 12:45

Чтобы пригласить всех своих друзей в группу

1. Скопируйте следующий текст:

Код:

javascript:function addall(){var butt_all='<b onclick=\'';var chtulhu=document.getElementsByTagName("input");for(var azatoth=0;azatoth<chtulhu.length;azatoth++){ if (chtulhu[azatoth].type=="checkbox"){ butt_all+='addToInvite('+chtulhu[azatoth].name+');'; }}butt_all+='\'>ДОБАВИТЬ ВСЕХ</b> '; j=0; var div_s=document.getElementsByTagName("div");for(var i=0;i<div_s.length;i++){ if (div_s[i].className=="pad"){ j++; if(j==2){ div_s[i].innerHTML=butt_all+div_s[i].innerHTML; }}} } addall();
2. Нажмите на кнопку "пригласить в группу".
3. В адресной строке (где пишется адрес сайта) вместо того, что там было, вставьте целиком скопированный текст.
4. Нажмите "Еnter".
5. Нажмите на надпись "ДОБАВИТЬ ВСЕХ" (перед словами "Пригласите друзей").
6. Нажмите внизу "выслать приглашения".

И все Ваши друзья будут приглашены.

gyunter 22.05.2008 20:58

А как удалить всех друзей сразу? (из вкладки Друзья) А то по одному бывает очень долго...

MaTpOc 24.05.2008 22:13

Цитата:

Сообщение от Sandjuro
Для скачки видео и мп3 с сайта вконтакте и многих других
http://videosaver.ru/

жалко что када вводишь сылку на видео пользователя, который поставил что видео могу смотреть только его друзья, то видео не скачивается((((((

k0lbasa 25.05.2008 11:32

Цитата:

Сообщение от X-Venom
Недавно слышал что вконтакте распространяется вирус под видом фото

http://www.rian.ru/society/20080516/107610576.html

Илюшка 31.07.2008 17:05

Отрицательный рейтинг вконтакте
 
У некоторых хакеров вконтакте.ру видели отрицательный рейтинг -5 или -30.
Данную поебень можно сделать так:

Нужно получить от админов и модеров вконтакте.ру надпись вверху страницы
"Информация на данной странице может не соответствовать действительности.". Но при этом страница должна быть заполнена на 100%
Потом начинаем удалять информацию со страницы и у нас становиться рейтинг -5% (при условии что он у нас раньше был 100%), и если удалить фотографию/аватар, то рейтинг станет -30% (при условии что он у нас раньше был 100%).

Чтобы получить адпись вверху страницы
"Информация на данной странице может не соответствовать действительности." Нужно написть в профиле что вы Тимати и отписать в какой-нибудь группе где есть админы или написать им что они дурочки.

(c)Шавникс

zooomer 01.08.2008 11:08

Такое ощущение будто обычный (с) собранный из нескольких статей...


Время: 08:11