PHP : Membuat Kombinasi (Mengacak) String untuk Bruteforce - Elang Sakti
Download Ebook Belajar Arduino PDF, Arduino untuk pemula
Jasa Pembuatan Program Arduino, pemrograman Arduino
# Hack Your Skills! to be Professional Mechatronics

PHP : Membuat Kombinasi (Mengacak) String untuk Bruteforce

Tidak ada komentar
Script PHP : Membuat Kombinasi (Mengacak) String untuk Bruteforce
Analisis Cara Generate
Pernah berpikir untuk membuat atau meng-generate kombinasi dari string untuk keperluan menebak-nebak password (bruteforce)? Atau ingin menggenerate angka acak untuk range tertentu? Atau ingin menebak password dengan panjang string tertentu? Mari saya tunjukkan salah satu toolnya.

Engngng... algoritma untuk menggenerate string ini sekedar hasil analisis dari oret-oretan seperti gambar. Jadi tidak mengacu atau terkait dengan algoritma yang sudah dipublish pada jurnal internasional.

Berikut ini adalah script singkat dari tool yang saya maksud. Script berikut untuk mengacak atau lebih tepatnya mengkombinasikan string sesuai panjang karakter yang diiinginkan. Berikut adalah versi awal yang butuh debug sana-sini, tapi secara sepintas script ini berfungsi dengan baik. Untuk yang mau mencobanya, silakan informasikan jika ada error dlsb dari script berikut.

Berikut isi dari class SCGenerator.php

<?php
/*
 *
 * Wed, Jan 22 - 2014, 06.00 WIB. Malang - Indonesia
 * coder haripinter - hari\at/elangsakti.com
 * String Combination Generator v0.1
 * 
 * $Format : format string
 *           ex. xxx => all string will combine
 *               xx4 => all string combine except 4, 4 is default value
 *
 * $Chars : list of character to generate
 *           ex. '0123456789' or 'abcde... etc'
 * 
 * $Result : the result
 */
class SCGenerator{
 var $Result;
 var $Format;
 var $Chars;
 
 function setFormat($str){
     $this->Format = $str;
 }
 
 function setChars($str){
     $this->Chars = $str;
 }
 
    function Generate(){
  $chars = $this->Chars;
  $format = $this->Format;
  
        $formatlen = strlen($this->Format);
        $charlen = strlen($chars);
  
  if($formatlen<1 or $charlen<1){
   echo "You must define both Chars and Format first!";
   exit();
  }
  
        $pis = array();
        for($a=0; $a<$formatlen; $a++){
            $pis[$a] = 0;
        }
        
        $result = array();
        $loop = false;
        do{
            $tmp = '';
         $xyz = true;
         for($x=0; $x<$formatlen; $x++){
          if($chars[$pis[$x]]==''){
           $tmp .= $chars[0];
          }else{
           if(strtolower($format[$x])!='x'){
            $tmp .= $format[$x];
           }else{
            $tmp .= $chars[$pis[$x]];
           }
          }
          $xyz = (($chars[$pis[$x]]==$chars[$charlen]) && $xyz);
          $loop = $xyz;
          if($chars[$pis[$x]]==$chars[$charlen]){
           $pis[$x+1]++;
           $pis[$x] = 0;
          }
          if($x==0){
           $pis[$x]++;
          }
         }
         if(!$xyz){
          $result[$tmp] = $tmp;
         }
        }while(!$loop);
  
        $tmx = array();
        foreach($result as $res){
            array_push($tmx,$res);
        }
  $this->Result = $tmx;
        return $tmx;
    }
}
?>


Berikut ini adalah cara menggunakannya :

<?php
include_once('SCGenerator.php');

$scg = new SCGenerator();

// -- number
$char = 'abc';
$format = 'xxx';

$scg->setChars($char);
$scg->setFormat($format);
$scg->Generate();
print_r($scg->Result);

// -- alpabet
$char = '012';
$format = 'xx9';

$scg->setChars($char);
$scg->setFormat($format);
$scg->Generate();
$res = $scg->Result;
print_r($res);

// Trying another format
//$char = '0123456789abcdefghijklmnopqrstuvwxyz';
//$format = 'xxxxx';
?>


Berikut ini adalah contoh hasil generate dari script di atas :

Array
(
    [0] => aaa
    [1] => baa
    [2] => caa
    [3] => aba
    [4] => bba
    [5] => cba
    [6] => aca
    [7] => bca
    [8] => cca
    [9] => aab
    [10] => bab
    [11] => cab
    [12] => abb
    [13] => bbb
    [14] => cbb
    [15] => acb
    [16] => bcb
    [17] => ccb
    [18] => aac
    [19] => bac
    [20] => cac
    [21] => abc
    [22] => bbc
    [23] => cbc
    [24] => acc
    [25] => bcc
    [26] => ccc
)
Array
(
    [0] => 009
    [1] => 109
    [2] => 209
    [3] => 019
    [4] => 119
    [5] => 219
    [6] => 029
    [7] => 129
    [8] => 229
)

Semoga berguna.

Written by ElangSakti
PHP : Membuat Kombinasi (Mengacak) String untuk Bruteforce
Bahasan: Analisis Cara Generate Pernah berpikir untuk membuat atau meng-generate kombinasi dari string untuk keperluan menebak-nebak password (...
Published at Rabu, 22 Januari 2014, Updated at Rabu, 22 Januari 2014
Reviewed by dr. on
Rating: 4.7

Tidak ada komentar :

Posting Komentar