ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > ИНФО > Статьи > Авторские статьи
   
 
 
Опции темы Поиск в этой теме Опции просмотра

[Обзор] Уязвимостей \ Багов вконтакте.ру
  #1  
Старый 24.03.2008, 23:14
Аватар для Shawn1x
Shawn1x
Banned
Регистрация: 24.08.2007
Сообщений: 201
Провел на форуме:
983157

Репутация: 424
Отправить сообщение для Shawn1x с помощью ICQ
По умолчанию [Обзор] Уязвимостей \ Багов вконтакте.ру

[Обзор] Уязвимостей \ Багов вконтакте.ру
Сайт: 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) Рассмотрим вариант с музыкой, ее можно загрузить с помощью программ и скриптов!
Скрипты:

Описание:

Скрипт для 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 - которая
позволяет автоматизировать поиск аудиозаписей в контакте и скачивание их на ваш компьютер. Авторизации не требуется(Но для более удобного и быстрого
скачивания рекомендуется).


Скачать \ 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
 
Ответить с цитированием
 



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[Обзор уязвимостей в форумных движках] Grey Форумы 48 28.12.2009 20:03
Использование регулярных выражений при поиске уязвимостей php Macro Авторские статьи 24 11.02.2008 23:41
Классификация уязвимостей flintstone Статьи 1 16.01.2008 18:06



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ