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

Авторегер gmail

Noctambulaar

(L3) cache
Пользователь
Регистрация
06.06.2008
Сообщения
257
Реакции
5
<?php 
    /// w4rezarena.com
        $password = "vv12345";
        set_time_limit(300);

        function generateCode($length=6) {
            $chars = "abcdefghijklmnopqrstuvwxyz";
            $code = "";
            $clen = strlen($chars) - 1;
            while (strlen($code) < $length) {
                $code .= $chars[mt_rand(0,$clen)];
              }
            return $code;                   
        }
        function generateDigits($length=6) {
            $chars = "0123456789";
            $code = "";
            $clen = strlen($chars) - 1;
            while (strlen($code) < $length) {
                $code .= $chars[mt_rand(0,$clen)];
              }
            return $code;
        }


        $proxies;
        $proxiesFile = fopen("proxies.txt","r+");
          while(!feof($proxiesFile)){
        $proxy = fgets($proxiesFile,4096);
        $delimPos = strpos($proxy, ":");
        $ip = substr($proxy, 0, $delimPos);
        $port = substr($proxy, $delimPos+1, strlen($proxy));       
                $proxies[]= array($ip,$port);
    }

        $lastURL="";
    function getPageWithProxy($URL,$data,$referer,$badString,$proxyType='') {
            global $lastURL;
        global $proxies;
            $proxyArrSize = count($proxies);

        $cp = curl_init($URL);
        $useragent="Mozilla/5.0 (Windows; U; Windows NT 5.0; us; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.666";
        curl_setopt($cp, CURLOPT_USERAGENT, $useragent);
        curl_setopt($cp, CURLOPT_RETURNTRANSFER,1);
        curl_setopt($cp, CURLOPT_CONNECTTIMEOUT,3);
        curl_setopt($cp, CURLOPT_FOLLOWLOCATION,1);
        curl_setopt($cp, CURLOPT_SSL_VERIFYPEER, false);
        curl_setopt($cp, CURLOPT_SSL_VERIFYHOST, 2);
                curl_setopt($cp, CURLOPT_VERBOSE, 1);

        $cookieFilename = "cookies.txt";
                if(substr(PHP_OS, 0, 3) == 'WIN' && strpos($cookieFilename,"/")===FALSE){
            $cookieFilename = str_replace('\\','/', getcwd().'/'.$cookieFilename);
        }

       
        curl_setopt($cp, CURLOPT_COOKIEJAR, $cookieFilename);
        curl_setopt($cp, CURLOPT_COOKIEFILE, $cookieFilename);
       
        if($data!=""){
                curl_setopt($cp, CURLOPT_POST, 1);
            curl_setopt($cp, CURLOPT_POSTFIELDS,$data);
        }
        if($referer!=""){
                curl_setopt($cp, CURLOPT_REFERER, $referer);
        }
        if($proxyType=="socks4"){
            curl_setopt($cp,CURLOPT_PROXYTYPE,4);
        }

        $success = false;
        for($i=0; $i<2*$proxyArrSize; $i++){
                $num = rand(0,$proxyArrSize-1);
            $ip = $proxies[$num][0];
            $port = $proxies[$num][1];
                        curl_setopt($cp, CURLOPT_PROXY, "$ip".":"."$port");
            $code = curl_exec($cp);       
                        $lastURL = curl_getinfo($cp,CURLINFO_EFFECTIVE_URL);

            if(curl_errno($cp)==0 &&  curl_getinfo($cp,CURLINFO_HTTP_CODE)==200){
                    $badPos = 0;
                    if($badString != ""){
                    $badPos = strpos($code, $badString);                       
                }
                if($badPos==0){
                    $success = true;
                    break;
                }           
            }
        }

        curl_close($cp);
                if ($success == true){
            return $code;                   
        }else{
            return false;
        }
    }
if(!isset($_POST["go"])){
    $code = getPageWithProxy("http://gmail.com","","","","socks4");
    $code = getPageWithProxy("http://mail.google.com/mail/signup","",$lastURL,"","socks4");
        $doc = new DOMDocument();
    $doc->loadHTML($code);
                                                                       

    function getInputByName($domDocument,$name){
            $inputList = $domDocument->getElementsByTagName("input");
        for($c=0; $c<$inputList->length; $c++){
                $atts = $inputList->item($c)->attributes;
            if($atts->getNamedItem("name")->nodeValue==$name){
                return $atts->getNamedItem("value")->nodeValue;
                break;
        };
        }
    }


    $captchaURL = getInputByName($doc,"newaccounturl");
    $continue = getInputByName($doc,"continue");

    $data  = "continue=".urlencode($continue)."&";
    $data  = $data."service=mail&type=2&t=null&";
        $data  = $data."dsh=".getInputByName($doc,"dsh")."&";
        $data  = $data."edk=gmail.com&p=&";
    $data  = $data."Passwd=$password&PasswdAgain=$password&PersistentCookie=no&";
        $data  = $data."rmShown=1&smhhk=1&&smhck=1&nshk=1&selection=What+is+your+primary+frequent+flyer+number&";
    $data  = $data."ownquestion=&IdentityAnswer=".generateDigits(rand(2,3))."&SecondaryEmail=&hl=en&loc=US&";
    $data  = $data."newaccounttoken=".getInputByName($doc,"newaccounttoken")."&";
    $data  = $data."newaccounturl=".urlencode($captchaURL)."&";
    $data  = $data."newaccounttoken_audio=".getInputByName($doc,"newaccounttoken_audio")."&";
    $data  = $data."newaccounturl_audio=".urlencode(getInputByName($doc,"newaccounturl_audio"))."&";
        $data  = $data."program_policy_url=".urlencode(getInputByName($doc,"program_policy_url"))."&";
        $data  = $data."privacy_policy_url=".urlencode(getInputByName($doc,"privacy_policy_url"))."&";
        $data  = $data."requested_tos_location=US&requested_tos_language=en&";
    $data  = $data."served_tos_location=US&served_tos_language=en&";
    $data  = $data."submitbutton=".urlencode(getInputByName($doc,"submitbutton"));
?>
<html>
<head/>
<body>
<form method="post" action="gmreger.php">
    <input type="hidden" name="continue" value="<?php echo $continue ?>" />
    <input type="hidden" name="data" value="<?php echo $data ?>" />
    <input type="hidden" name="lastURL" value="<?php echo $lastURL ?>" />
    <table>
    <tr>
        <td>
            Enter keyword:
        </td>
        <td>
            <input name="keyword" value=""></input>
        </td>
    </tr>
    <tr>
        <td>
           
        </td>
        <td>
            <img alt="captcha" src="<?php echo $captchaURL ?>" />
        </td>
    </tr>
    <tr>
        <td>
            Enter captcha:
        </td>
        <td>
            <input name="captcha"></input>
        </td>
    </tr>
    <tr>
        <td>
           
        </td>
        <td>
                <input type="submit" name="go" width="150" value="go"/>
        </td>
    </tr>
    </table>
</form>
</body>
</html>
<?php
}else{                               
    $words = preg_split('/ /',$_POST["keyword"]);
       
    $firstname = $words[0];
    $lastname;
    $login = substr($firstname,0,9);
    if(count($words)>1){
        $lastname = $words[1];
            $login = $login . substr($lastname,0,4);
    }else{
            $lastname = $words[0];
            $login = $login . substr($lastname,1,7);
    }
    $login = strtolower($login . generateCode(2).generateDigits(2));

          $data  = "FirstName=".$firstname."&LastName=".$lastname."&";
    $data  = $data."UsernameSelector=header&Email=".$login."&";
    $data  = $data."newaccountcaptcha=".$_POST["captcha"]."&";
    $data  = $data.$_POST["data"];

    $regURL = "https://www.google.com/accounts/CreateAccount?service=mail&".urlencode($_POST["continue"])."&type=2";
        echo getPageWithProxy($regURL,$data,$_POST["lastURL"],"","socks4");
}
?>
 
Пожалуйста, обратите внимание, что пользователь заблокирован
[mod][Одинокий Волк:] Поправил код в первом посте![/mod]
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Одинокий Волк
он капчу сам, распознает ?
Не-а, не распознаёт, выводит картинкой для ручного ввода :)
 


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