• XSS.stack #1 – первый литературный журнал от юзеров форума

[Vkontakte] Qspamer by Chaak

SQL

(L3) cache
Пользователь
Регистрация
15.02.2006
Сообщения
162
Реакции
20
e7e7709090ca.png


Контакт не банит одинаковые сообщения, не выводит капчи, поэтому требуется только аккаунт с включенным сервисом "ВОПРОСЫ"

Требуется аккаунт вида email:pass с включенным сервисом "вопросы"

+Требует на хостинге поддержка cURL


Возможности:
Возможность отправлять коментарии к более чем 1938112 вопросам
Возможность установить задержку
Поддержка прокси
Поддержка логирования
Вывод в реальном времени

Видео Мануал

Код:
<?php 
set_time_limit(0); 
error_reporting(0); 
?> 
<html> 
    <head> 
        <title>Vkontakte Qspamer by Chaak (icq: #868922)</title> 
        <style> 
            body{ 
                background-color: #555555; 
            } 
            .header{ 
                font-size: 25px; 
                color: white; 
            } 
            table.main, table.main td { 
                border: 2px solid #7AC72D; 
                border-collapse: collapse; 
                margin: 0px auto;                 
            } 
            .sh{ 
                color: #375E9A; 
                background-color: #E0E0E0; 
            } 
            .button{ 
                display: block; 
                background:#36638E; 
                color:#fff; 
                text-align: center; 
                cursor: pointer; 
                width: 100%;                             
            } 
            .button:hover{ 
                display: block;                 
                background: #58A50B; 
                text-align: center; 
                cursor: pointer; 
            } 
            .log{ 
                overflow: scroll; 
                width: 500px; 
                height: 300px; 
                background-color: white; 
            } 
        </style> 
        <script> 
        function UseProxy() 
        { 
                if(document.forms.form.up.checked) 
                { 
                    document.getElementById('proxy').style.visibility = "visible"; 
                } 
                else 
                { 
                    document.getElementById('proxy').style.visibility = "hidden"; 
                } 
        } 
        </script> 
    </head> 
<body> 
<center> 
<table class="main"> 
<form method="POST" name="form"> 
<tr><td class="sh" align="center">Аккаунт:</td></tr> 
<tr><td><input type="text" value="<?php if($_POST['account']) 
    echo $_POST['account'] ?>" name="account" style="width: 100%; text-align: center;"></td></tr> 
<tr><td class="sh" align="center">Сообщение:</td></tr> 
<tr><td><textarea name="message" cols="45" rows="5"><?php if($_POST['message']) 
        echo $_POST['message'] ?></textarea></td></tr> 
<tr><td class="sh">Настройки:
 
<b style="margin-left: 35px; margin-top: 7px">Количество: </b><input type="text" size="5" name="count" value="<?php echo $_POST['count'] ?>">(рекомендуется не более 500)
 
<b style="margin-left: 35px; margin-top: 7px">Задержка:     </b><input type="text" size="2" name="delay" value="<?php echo $_POST['delay']; ?>" style="text-align:center; margin-top: 7px"> (рекомендуется 12 секунд)<hr> 
<input type="checkbox" name="up" onclick="UseProxy();" style="margin-left: 75px; margin-top: 3px"><b> Использовать прокси</b>
 
<input type='text' name="proxy" id="proxy" style="visibility:hidden;margin-left: 150px; margin-top: 5px; width: 170px;" value="<?php if($_POST['proxy']) 
    echo $_POST['proxy'] ?>">

 
</td></tr> 
<tr><td><input type="submit" name="go" class="button" value="Start spam"></td></tr> 
</form> 
</table> 


 
<?php 
    if(isset($_POST['go'])) { 
        function getCookie($email,$pass,$proxy = NULL) { 

            $ch = curl_init('http://vkontakte.ru/login.php?email='.$email.'&pass='.$pass); 

            curl_setopt($ch,CURLOPT_FAILONERROR,0); 
            curl_setopt($ch,CURLOPT_FOLLOWLOCATION,0); 
            curl_setopt($ch,CURLOPT_RETURNTRANSFER,1); 
            curl_setopt($ch,CURLOPT_TIMEOUT,10); 
            curl_setopt($ch,CURLOPT_HTTPGET,1); 
            curl_setopt($ch,CURLOPT_COOKIE,'remixlang=0;'); 
            curl_setopt($ch,CURLOPT_REFERER,'http://vkontakte.ru/login.php'); 
            curl_setopt($ch,CURLOPT_HEADER,1); 
            if($proxy) 
                curl_setopt($ch,CURLOPT_PROXY,$proxy); 
            $res = curl_exec($ch) or die(curl_error($ch)); 
            curl_close($ch); 

            if(strstr($res,'302 Found') || strstr($res,'302 Moved')) { 
                preg_match_all('#Set-cookie: (.*?;) ex#UiS',$res,$cookie); 
                return implode('',array_unique($cookie['1'])).'remixlang=0;'; 
            } else { 
                return false; 
            } 
        } 


        function sendMessage($message,$id,$cookie,$proxy = NULL) { 
            $ch = curl_init('http://vkontakte.ru/questions.php?act=s&id='.$id); 

            curl_setopt($ch,CURLOPT_FAILONERROR,0); 
            curl_setopt($ch,CURLOPT_FOLLOWLOCATION,1); 
            curl_setopt($ch,CURLOPT_RETURNTRANSFER,1); 
            curl_setopt($ch,CURLOPT_TIMEOUT,10); 
            curl_setopt($ch,CURLOPT_HTTPGET,1); 
            curl_setopt($ch,CURLOPT_COOKIE,$cookie); 
            if($proxy) 
                curl_setopt($ch,CURLOPT_PROXY,$proxy); 

            $res = curl_exec($ch) or die(curl_error($ch)); 
            curl_close($ch); 

            preg_match("#hashArray\[$id\] = '(.*?)';#",$res,$hash); 
            $hash = $hash['1']; 


            $ch = curl_init('http://vkontakte.ru/questions.php?act=getcomms&ahash='.$hash); 
            curl_setopt($ch,CURLOPT_FAILONERROR,0); 
            curl_setopt($ch,CURLOPT_FOLLOWLOCATION,1); 
            curl_setopt($ch,CURLOPT_RETURNTRANSFER,1); 
            curl_setopt($ch,CURLOPT_TIMEOUT,10); 
            curl_setopt($ch,CURLOPT_COOKIE,$cookie); 
            curl_setopt($ch,CURLOPT_REFERER,'http://vkontakte.ru/questions.php?act=s&id='.$id.'&p=1'); 
            curl_setopt($ch,CURLOPT_POST,1); 
            if($proxy) 
                curl_setopt($ch,CURLOPT_PROXY,$proxy); 
            curl_setopt($ch,CURLOPT_POSTFIELDS,'seed='.iconv('  windows-1251','utf-8',$message).'&mid='.$id.'&n=3'); 

            $res = curl_exec($ch) or die(curl_error($ch)); 
            curl_close($ch); 

            if(strstr($res,'Слишком быстро...')) 
                return 'ld'; //маленькая задержка 
            elseif(strstr($res,'Ошибка безопасности')) 
                return 'nf'; //вопрос не найден 
            else 
                return 'ok'; //Сообщение отправлено 
        } 

        function getQuestions($count,$cookie,$proxy = NULL) { 
            $pages = round($count / 10,0); 
            $par = array(); 

            for($i = 0; $i < $pages + 1; $i++) { 
                $ch = curl_init('http://vkontakte.ru/questions.php?act=all&st='.($i * 10).'&type='.rand(0,16)); 
                curl_setopt($ch,CURLOPT_FAILONERROR,0); 
                curl_setopt($ch,CURLOPT_FOLLOWLOCATION,1); 
                curl_setopt($ch,CURLOPT_RETURNTRANSFER,1); 
                curl_setopt($ch,CURLOPT_TIMEOUT,10); 
                curl_setopt($ch,CURLOPT_HTTPGET,1); 
                curl_setopt($ch,CURLOPT_COOKIE,$cookie); 
                curl_setopt($ch,CURLOPT_REFERER,'http://vkontakte.ru/questions.php'); 
                if($proxy) 
                    curl_setopt($ch,CURLOPT_PROXY,$proxy); 

                $res = curl_exec($ch) or die(curl_error($ch)); 
                curl_close($ch); 

                preg_match_all('#questions\\.php\\?act=s&id=([0-9]+)&p=2#',$res,$prom); 
                $par = array_merge($par,$prom['1']); 
                sleep(1); 
            } 
            $par = array_slice(array_unique($par),0,$count); 

            if($par) { 
                return $par; 
            } else { 
                return false; 
            } 
        } 


        $acc = explode(':',trim($_POST['account'])); 
        $email = $acc['0']; 
        $pass = $acc['1']; 
        $d1 = trim($_POST['d1']); 
        $d2 = trim($_POST['d2']); 
        $proxy = trim($_POST['proxy']); 
        $count = trim($_POST['count']); 
        $delay = trim($_POST['delay']); 
        $message = trim($_POST['message']); 
        $type = trim($_POST['type']); 

        echo '<div class="log">'; 


        if($cookie = getCookie($email,$pass,$proxy)) { 
            $questions = getQuestions($count,$cookie,$proxy); 
            $c = count($questions); 
            echo '<font color="blue">Найдено '.$c.' вопрос(ов)</font>
'; 
            flush(); 
            ob_flush(); 
            foreach($questions as $quest) { 
                $res = sendMessage($message,$quest,$cookie,$proxy); 
                if($res == 'ok') { 
                    echo '<font color="green">Коментарий к вопросу '.$quest.' успешно отправлен</font>
'; 
                } elseif($res == 'nf') { 
                    echo '<font color="orange">Вопрос '.$quest.' не найден</font>
'; 
                } elseif($res == 'ld') { 
                    echo '<font color="red">Слишком малая задержка</font>
'; 
                } 

                flush(); 
                ob_flush(); 
                 
                sleep($delay); 
            } 
        } else 
            die('Левый акк</div>'); 
        echo '</div>'; 
    } 
?> 

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


Напишите ответ...
  • Вставить:
Прикрепить файлы
Верх