Guest User

index.php

a guest
Sep 2nd, 2011
1,133
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. <?php
  2. $max_req = 4;
  3.  
  4. // ограничить кол-во запросов для сессии: 1 запрос на 4 секунд
  5. session_start();
  6. if ( isset($_SESSION['last_request_time']) )
  7. {
  8.     if ($_SESSION['request_count'] > $max_req)
  9.     {
  10.         #var_dump($_SESSION['last_request_time'], mktime()) ;
  11.        if ( ($_SESSION['last_request_time'] + 3) > mktime() )
  12.         {
  13.             $data['error'] = "You can do 1 search query in 3 seconds. Want more? Send your suggestion to harpywar@gmail.com.";
  14.             die ( json_encode($data) );
  15.         }
  16.         else{
  17.              $_SESSION['last_request_time'] = mktime();
  18.              $_SESSION['request_count'] = 0;
  19.         }
  20.     }
  21.     else
  22.     {
  23.         $_SESSION['request_count']++;
  24.     }
  25.  
  26.  
  27. }
  28. else
  29. {
  30.     $_SESSION['last_request_time'] = mktime();
  31.     $_SESSION['request_count'] = 0;
  32. }
  33.  
  34.  
  35.  
  36.  
  37.  
  38.  
  39. $hash =  ( isset($_REQUEST["hash"]) ) ? $_REQUEST["hash"] : false;
  40. $search_in = ( isset($_REQUEST["search_in"]) ) ? $_REQUEST["search_in"] : false;
  41.  
  42. if ( $hash )
  43. {
  44.     require_once("inc/HashCrack.class.php");
  45.  
  46.     $db_steps = 0; // кол-во шагов для поиска
  47.     $db_size = 0; // размер бд в байтах
  48.     $db_rows = 0; // кол-во записей
  49.     $db_elapsed = 0; // поисковое время
  50.     $db_bytes_read = 0; // считано байтов
  51.  
  52.     // TODO: cache? для последних 100 запросов
  53.     //       если запрос есть в файле кеша, то отправить пароли оттуда
  54.  
  55.     // поиск в одном файле за один запрос
  56.     switch ($search_in)
  57.     {
  58.         // dictionary
  59.         case '1':
  60.             $passList = SearchDictionary($hash);
  61.             break;
  62.         // 1-6 symbols
  63.         case '2':
  64.             $passList = SearchAlpha6($hash);
  65.             break;
  66.         // 7-9 symbols
  67.         case '3':
  68.             $passList = SearchDigits9($hash);
  69.             break;
  70.         // 10 symbols
  71.         case '4':
  72.             $passList = SearchDigits10($hash);
  73.             break;
  74.         default:
  75.             $passList = false;
  76.     }
  77.  
  78.     //$passList2 = SearchNum9($hash);
  79.     //$passList = array_merge($passList1, $passList2);
  80.  
  81.     //var_dump($db_elapsed);
  82.     //var_dump($passList);
  83.     //foreach ($passList as $p)
  84.     //  echo $p . '<br>';
  85.  
  86.     #if (!$passList)
  87.     #   $passList = SearchNum($hash);
  88.  
  89.     $data = array
  90.     (
  91.         'error' => ($passList === false) ? 'Not found' : '',
  92.         'passwords' => $passList,
  93.  
  94.         'database' => array (
  95.             'size' => $db_size, //$db_size,
  96.             'rows' => $db_rows,
  97.             'steps' => $db_steps,
  98.             'passwords_found' => count($passList),
  99.             'bytes_read' => $db_bytes_read,
  100.             'elapsed' => $db_elapsed
  101.         ),
  102.         'server' => array (
  103.             'processor' => 'P4 3.06GHz',
  104.             'memory' => '256Mb',
  105.             'disk' => '250Gb',
  106.             'os' => 'Debian 6',
  107.             'hosted' => 'Naki-BoT'
  108.         )
  109.  
  110.     );
  111.  
  112.  
  113.  
  114.     #var_dump($data);
  115.  
  116.     //$s = serialize($data);
  117.     //echo $s;
  118.     echo json_encode($data);
  119. }
  120.  
  121.  
  122.  
  123. // искать хеш в паролях из букх и цифр 0-9a-z, 1-6 символов
  124. function SearchAlpha6($hash)
  125. {
  126.     $filename = "../250g/hash_data/1-6alpha";
  127.     $pass_length = 6;
  128.     $pass_compressed = false;
  129.     $hash_length = 3;
  130.     $hash_compressed = true;
  131.     $meta1_length = 2;
  132.     $meta2_length = 6;
  133.  
  134.     $pass = CrackIt($hash, $filename, $pass_length, $pass_compressed, $hash_length, $hash_compressed, $meta1_length, $meta2_length);
  135.     return $pass;
  136. }
  137. // искать хеш в паролях из цифр 0-9, 7-9 символов
  138. function SearchDigits9($hash)
  139. {
  140.     $filename = "../250g/hash_data/7-9digits";
  141.     $pass_length = 5;
  142.     $pass_compressed = true;
  143.     $hash_length = 3;
  144.     $hash_compressed = true;
  145.     $meta1_length = 2;
  146.     $meta2_length = 6;
  147.  
  148.     $pass = CrackIt($hash, $filename, $pass_length, $pass_compressed, $hash_length, $hash_compressed, $meta1_length, $meta2_length);
  149.     return $pass;
  150. }
  151. // искать хеш в паролях из цифр 0-9, 10 символов
  152. function SearchDigits10($hash)
  153. {
  154.     $filename = "../250g/hash_data/10digits";
  155.     $pass_length = 5;
  156.     $pass_compressed = true;
  157.     $hash_length = 3;
  158.     $hash_compressed = true;
  159.     $meta1_length = 2;
  160.     $meta2_length = 6;
  161.  
  162.     $pass = CrackIt($hash, $filename, $pass_length, $pass_compressed, $hash_length, $hash_compressed, $meta1_length, $meta2_length);
  163.     return $pass;
  164. }
  165. // искать хеш в паролях из словаря (32 символа)
  166. function SearchDictionary($hash)
  167. {
  168.     $filename = "../250g/hash_data/dictionary";
  169.     $pass_length = 32;
  170.     $pass_compressed = false;
  171.     $hash_length = 3;
  172.     $hash_compressed = true;
  173.     $meta1_length = 1;
  174.     $meta2_length = 5;
  175.            
  176.     $pass = CrackIt($hash, $filename, $pass_length, $pass_compressed, $hash_length, $hash_compressed, $meta1_length, $meta2_length);
  177.     return $pass;
  178. }
  179.  
  180. function CrackIt($hash, $filename, $pass_length = 5, $pass_compressed = false, $hash_length = 3, $hash_compressed = true, $meta1_length = 2, $meta2_length = 6)
  181. {
  182.     global $db_steps, $db_size, $db_rows, $db_elapsed, $db_bytes_read;
  183.     $h = new HashCrack($filename, $hash_length, $hash_compressed, $pass_length, $pass_compressed, $meta1_length, $meta2_length);
  184.     $pass = $h->Search($hash);
  185.  
  186.  
  187.     $db_size += $h->GetDbSize();
  188.     $db_rows += $h->GetDbRows();
  189.     $db_steps += $h->GetDbSteps();
  190.     $db_bytes_read += $h->GetDbBytesRead();
  191.     $db_elapsed += $h->GetDbElapsed();
  192.  
  193.     if ( $pass !== false  )
  194.         return $pass;
  195.     else
  196.         return false;
  197. }
RAW Paste Data

Adblocker detected! Please consider disabling it...

We've detected AdBlock Plus or some other adblocking software preventing Pastebin.com from fully loading.

We don't have any obnoxious sound, or popup ads, we actively block these annoying types of ads!

Please add Pastebin.com to your ad blocker whitelist or disable your adblocking software.

×