Ho letto questo articolo link sulla funzione crack di php rand (). e ho coinvolto alcuni problemi sui metodi di test menzionati nell'articolo. Ho usato php 5.5.16 (versione x64 di Windows) per il test.
t1.php:
<?php
include 'test.php';
$t = Token::gen(10);
echo $t;
echo "\n";
test.php:
<?php
class Token {
public static function gen($len = 5)
{
$token = '';
while($len--){
$choose = rand(0, 2);
if ($choose === 0)
$token .= chr(rand(ord('A'), ord('Z')));
else if($choose === 1)
$token .= chr(rand(ord('a'), ord('z')));
else
$token .= chr(rand(ord('0'), ord('9')));
}
return $token;
}
}
Ho generato alcuni token CSRF in applicazioni vulnerabili come segue:
> php.exe .\t1.php
308AXoL3zs
> php.exe .\t1.php
g18tZZHgv3
> php.exe .\t1.php
Chk7ir55g4
> php.exe .\t1.php
33oRvjqqYf
Ho preso 308AXoL3zs e l'ho usato nel file wincrackseed.c. Ho modificato quel file un po '. qui il mio file modificato:
il mio problema è quando ho provato a rompere i semi usando questo attacco, l'attacco era attivo circa 2-3 ore ma non c'era nulla di simile! nel mio portatile ha controllato oltre 34 milioni di semi in quel periodo di tempo. ma nell'articolo Sjoerd Langkemper ha detto:
This will take about 10 minutes for the Windows version