ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Программирование > PHP, PERL, MySQL, JavaScript
   
 
 
Опции темы Поиск в этой теме Опции просмотра

  #11  
Старый 24.03.2007, 01:18
Аватар для Ch3ck
Ch3ck
Познавший АНТИЧАТ
Регистрация: 09.06.2006
Сообщений: 1,359
Провел на форуме:
5301021

Репутация: 1879


По умолчанию

PHP код:
<?

/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~[ xxx ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
/*                                                                       
/*                    Forum Dump Parser v0.2 (FDPv0.2)                   
/*                              by Re@ctor                               
/*                    http://truenet.net.ru/security/                       
/*                                                                       
/*                                                                       
/*       Скрипт предназначен для частного использования и позволяет      
/*    привести имеющиеся дампы баз данных в единый удобный формат для    
/*    дальнейшего анализа в программе Passwords Pro, либо просто           
/*    в списки для других программ.                                       
/*                                                                       
/*      Скрипт запрещается использовать в корыстных целях и автор не       
/*    несёт ответственности за возможный ущерб, причинённый от исполь-   
/*    зования данного скрипта.                                           
/*                                                                       
/*      Скрипт запрещается использовать в противозаконных целях, либо       
/*    целях, ведущих к умышленному или неумышленному нарушению законода- 
/*    тельства Российской Федерации.                                       
/*                                                                       
/*                Хорошего дня и доброго насроения! ;-)                   
/*                Помните про существование TrueNET! =)                   
/*                                                                       
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~[ xxx ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/

###### 1. выходной формат файлов ######
# для брута, формат Passwords Pro
#$sort = array('username','password','salt'); # пользователи
#$sort = array('email','password','salt'); # мыльники
$sort = array('icq','password','salt'); # аськи
# помните, что формат PPro - имя:хэш:сальт:расшифр.пароль:комментарий
# поэтому надо писать от 2 до 3 значений, т.к. меньше или больше
# будет воспринято неверно программой.

# просто базы
#$sort = array('email'); # e-mail
#$sort = array('icq'); # icq

###### 2. формирование строк ######
$delim "¤"# разделитель между значениями
$br "\n"# чем заканчивать строку (\n - перенос строки)

###### 3. промежуточный вывод ######
$makefiles 1# делать ли отдельные файлы для каждого дампа
$ext "txt"# расширение выходного файла этих файлов

###### 4. параметры сбора информации ######
$site 1# если $makefiles = 0;, то получать сведения о сайте
# из титла и мета-тегов (необоходимо подключение к сети) и записывать в начало файла
# ( удобно при составлении тематических спам-баз )
# формат файла должен быть префиксАДРЕС_САЙТАрасширение, где префикс и расширение любые
$site_prefix ''# если $site=1, указать префикс файлов
$site_ext '.sql'# если $site=1, указать расширение файлов
$convert 0# конвертировать полученный текст в win-1251, если оно не в нём (отключить при багах)

###### 5. общий файл с данными ######
$hashmake 1# делать ли единый файл со всеми хэшами
$hash_filename '!PasswordsPro.Hashes'# имя файла с хэшами

###### 6. выборка из дампов админов в отдельный файл ######
$admins 1# сделать файл с хэшами админов дампов
$admin_pass 'password'# имя ячейки с хэшем пароля
$admin_salt 'salt'# имя ячейки с салом пароля
$admin_comment = array('username','email','icq'); # то что будет в комментарии в полях пассворс-про
$admin_filename '!admin.PasswordsPro.Hashes';

###### 7. (WARNING!) имя первой ячейки в таблице ######
$firstintable 'userid'# название первой ячейки в таблице (важно!)

ini_set("max_execution_time","86400");
set_time_limit(0);

function 
make($value) { return preg_replace("'\'(.*?)\''i",'\\1',$value); }
function 
checksalt($salt) { if(strlen($salt)>3) return str_replace(array("\\\\",'\"',"\'"),array("\\",'"',"'"),$salt); else return $salt; }
function 
koi($txt) { return convert_cyr_string($txt,'k','w'); }
function 
iso($txt) { return convert_cyr_string($txt,'i','w'); }
function 
myau() { echo "\n\nDone! ;-D\n\nNice day. Visit http://truenet.net.ru/ !\n\n"; }

$d=opendir('.');
while((
$e=readdir($d))!=false) {
    if(
$e=='.'||$e=='..'||$e==$admin_filename||$e==$hash_filename||$e==$argv[0]) continue;
    if(
is_file($e)) {
        if(
$makefiles==1)$f fopen("$e.$ext","w+");
        echo 
"[+] $e (".filesize($e)." bytes)\n";
        
$file file($e);
        
        foreach(
$file as $a) {
            
$tmp explode(' ',$a); $tablesuf=$tmp[1];
            if(!
$vars) { if($tablesuf==$firstintable) { $vars[]=array('name'=>$firstintable,'num'=>0); } continue; }
            foreach(
array_unique(array_merge($sort,$admin_comment)) as $s) {
                if(
$tablesuf==$s) { $vars[]=array('name'=>$s,'num'=>count($vars)); $y=1; }
            }
            if(!
$y$vars[]='b'; else unset($y);
            if(
strstr($a,'PRIMARY KEY')) break;
        }
        
        foreach(
$file as $a) {
            if(
strstr($a,"INSERT INTO")) {
                
$tmp preg_replace("'INSERT INTO (.*?) VALUES\((.*?)\);'i",'\\2',$a);
                
$values explode(',',$tmp);
                foreach(
$values as $v) { $m[] = str_replace(array("\r","\n"),'',$v); }
                foreach(
$sort as $s) {
                    if(!
$vars) { echo "[!] Can't get table values from $e =[\n"; break; } else foreach($vars as $v) {
                        if(
$admins==1&&$hashmake==0&&$makefiles==0) {
                            if(!
$tr$tr[]=$e;
                            if(
$v['name']==$admin_pass$tr[]=make($m[$v['num']]);
                            elseif(
$v['name']==$admin_salt$tr[]=checksalt(make($m[$v['num']]));
                            foreach(
$admin_comment as $comm) if($comm==$v['name']) $comment[] = make($m[$v['num']]);
                            
$admok=1;
                        } else {
                            if(
$s==$v['name']) {
                                if(
$s=='salt'$tm[] = checksalt(make($m[$v['num']])); 
                                else 
$tm[] = make($m[$v['num']]);
                            }
                            if(
$admins==1&&!$admok) {
                                if(!
$tr$tr[]=$e;
                                if(
$v['name']==$admin_pass$tr[]=make($m[$v['num']]);
                                elseif(
$v['name']==$admin_salt$tr[]=checksalt(make($m[$v['num']]));
                                foreach(
$admin_comment as $comm) if($comm==$v['name']) $comment[] = make($m[$v['num']]);
                            }
                        }
                    }
                    if(
$admok==1) break; $admok=2;
                }
                if(
$tm[0])$globhash[]=$towrite[]=@implode($tm,$delim); if($admins==1)if($tr[0])$odmen[]=@implode($tr,$delim).$delim.$delim.@implode($comment,', ');
                unset(
$tr); unset($m); unset($tm); unset($comment);
                if(
$admok==1) break;
            }
        }
        if(
$makefiles==1) {
            if(
$site==1) {
                
$host preg_replace("'$site_prefix(.*?)$site_ext'i",'\\1',$e);
                echo 
"[:] connecting to $host..\n";
                
$fp fsockopen($host,80,&$errno,&$errstr,5);
                if(!
$fp) echo "[:] Error connecting $host ($errno - $errstr)\n";
                
fputs($fp,"GET / HTTP/1.0\r\nUser-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; en)\r\nHost: $host\r\nAccept-Language: ru\r\nAccept-Charset: windows-1251, utf-8, utf-16, iso-8859-1;q=0.6, *;q=0.1\r\n\r\n");
                while(!
feof($fp)) {
                    
$tmp=fgets($fp,1000);
                    if(
preg_match("'charset='i",$tmp)||!$schar) {
                        
$ch=preg_replace("'(.*?)charset=(.*?)\r\n'i",'\\2',$tmp);
                        if(
preg_match("'koi8-r'i",$ch)) $koi=1;
                        elseif(
preg_match("'iso8859-5'i",$ch)) $iso=1$schar=1;
                    }
                    elseif(
preg_match("'<title>(.*?)</title>'i",$tmp)) {
                        
$title=preg_replace("'(.*?)<title>(.*?)</title>(.*?)'i",'\\2',$tmp);
                        echo 
"[:] TITLE ok..\n";
                    }
                    elseif(
preg_match("'<meta (.*?)keywords(.*?)>'i",$tmp)) {
                        
$kiwords=preg_replace("'(.*?)<meta (.*?)content=(\"|\')(.*?)(\"|\')(.*?)>(.*?)'i",'\\4',$tmp);
                        echo 
"[:] KEYWORDS ok..\n";
                    }
                    elseif(
preg_match("'<meta (.*?)description(.*?)>'i",$tmp)) {
                         
$descr=preg_replace("'(.*?)<meta (.*?)content=(\"|\')(.*?)(\"|\')(.*?)>(.*?)'i",'\\4',$tmp);
                         echo 
"[:] DESCRIPTION ok..\n";
                    }
                    elseif(
preg_match("'</head>'i",$tmp)||preg_match("'<body'i",$tmp)) break;
                }
                
fclose($fp);
                if(
$koi||$convert==1) { $title=koi($title); $kiwords=koi($kiwords); $descr=koi($descr); }
                if(
$iso||$convert==1) { $title=iso($title); $kiwords=iso($kiwords); $descr=iso($descr); }
                
$info="Site: $host\nTitle: $title\nDescription: $descr\nKeywords: $kiwords\n\n"$title=$host=$descr=$kiwords='';
            }
            echo 
"[~] sorting and writing hashes in $e.$ext..\n"; @asort($towrite); fwrite($f,$info.@implode($towrite,$br)); fclose($f); unset($info);
        }
        unset(
$vars); unset($file); unset($towrite); unset($admok);
    }
}
if(
$hashmake==1) { echo "[*] sorting & writing all hashes..\n"; @asort($globhash); $f fopen($hash_filename,"w+");fwrite($f,@implode($globhash,$br));fclose($f);}
if(
$admins==1) { echo "[*] sorting & writing admin hashes..\n"; @asort($odmen); $f fopen($admin_filename,"w+"); fwrite($f,@implode($odmen,$br)); fclose($f);}

myau();
?>
 
Ответить с цитированием
 





Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ