<?php set_time_limit(0); ini_set('max_execution_time',0); ini_set('output_buffering',0); $from=$_REQUEST['from']; $text=$_REQUEST['text']; $php=$_REQUEST['php']; $go=$_REQUEST['go']; $fulltime=$_REQUEST['fulltime']; $fullqty=$_REQUEST['fullqty']; $self=basename($_SERVER['PHP_SELF']); echo "<html>\n"; echo "<head>\n"; echo "<title>MD5 crack</title>\n"; echo "</head>\n"; echo "<body bgcolor='#181818' text='#FFFFFF'>\n"; echo "<form action=$self name=main>\n"; echo "<center><h1>MD5 crack</h1></center>"; if (empty($go)) { echo "<b>MD5</b>: <input type=text name=text value='$text' size=40> (только 32 знака: 0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f)<br>"; echo "<b>Диапазон</b>: <input type=text name=php value=\"".htmlspecialchars($php)."\" size=90><br>"; $chars=array( 'a-z'=>"abcdefghijklmnopqrstuvwxyz", 'a-z,A-Z'=>"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ", 'a-z,0-9'=>"abcdefghijklmnopqrstuvwxyz0123456789", 'a-z,A-Z,0-9'=>"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789", 'a-z,A-Z,0-9,other'=>"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789~` !@#\$%^&*()_+-=[]{};:,<.>/\"'\\"); $i=0; foreach ($chars as $k=>$v) { echo "<script>str$i=\"".str_replace("\"","\\\"",str_replace("\\","\\\\",$v))."\"</script> <a href='' onclick=\"document.main.php.value=str$i;return false\">$k</a> "; $i++; } echo " <br><b>Начальная позиция</b>: <input type=text size=70 name=from value='$from'><br> <input type=hidden name=go value=1> <input type=hidden name=fullqty value=$fullqty> <input type=hidden name=fulltime value=$fulltime> <input type=submit value=\"СТАРТ\"></form>"; } else { function mdgetword() { global $php,$from,$word; $word=""; for ($i=0; $i<count($from); $i++) $word.=$php[$from[$i]]; } $fulltime=intval($fulltime); $fullqty=intval($fullqty); $text=strtolower($text); if (!preg_match("!^[0-9a-f]{32}$!",$text)) exit("Неправильный формат MD5! Должен быть: Только 32 знака - 0-9,a,b,c,d,e,f"); if (empty($php) || strlen($php)==0) $php="qwertyuiopasdfghjklzxcvbnm"; if (empty($from) || !preg_match("!^([0-9]+):(([0-9]+,)*[0-9]+)$!",$from,$ok)) { $pos=0; $from=0; } else { $pos=$ok[1]; $from=$ok[2]; } $from=explode(",",$from); if (!is_array($from) || !count($from) || count($from)==1 && $from[0]==0) { $from=array(0); if (md5("")===$text) exit("** DONE **<br><br>md5('')=$text<br><br>(Пустая строка!)"); } $phplen=strlen($php); mdgetword(); $poslen=strlen($word); if ($pos<0 || $pos>=$poslen) $pos=0; for ($i=0; $i<10; $i++) { echo "<!-- -->\r\n"; flush(); } echo "<h3><a href='$self". "?from=".urlencode("$pos:".implode(",",$from)). "&text=".urlencode($text). "&php=".urlencode($php). "&fulltime=$fulltime&fullqty=$fullqty". "'>Сохранить позицию и выйти</a></h3>"; flush(); echo " MD5 HASH=$text<br> CURRENT WORD=$word<br> CURRENT DIGIT=$pos:".implode(",",$from)."<br> RANGE=".htmlspecialchars($php)."<br> Process Time=$fulltime sec (".(floor($fulltime/60/60))."h)<br> Calculation (qty)={$fullqty}0000<br><br>"; flush(); $fullsum=pow($phplen,$poslen); $time1=time(); $i=0; while (1) { $i++; if ($i>50000) { $time=time()-$time1; if ($time>20) break; $i=0; $sum=0; for ($j=1; $j<count($from); $j++) $sum+=$from[$j]*pow($phplen,$j); printf("<nobr><b>%02.2f%%</b> ($word) %02dsec |</nobr> \r\n", $sum*100/$fullsum,$time); flush(); $fullqty+=5; } if (md5($word)===$text) exit("<br><font color=red size=+1><b>** DONE **<br><br><tt>$word = $text</tt></b></font> <script> window.focus(); window.focus(); setTimeout(\"alert('Done!')\",100);</script></body></html>"); $from[$pos]++; if ($from[$pos]==$phplen) { $flag=1; $from[$pos]=0; $word[$pos]=$php[0]; for ($pos=$pos+1; $pos<$poslen; $pos++) { if ($from[$pos]+1<$phplen) { $from[$pos]++; $word[$pos]=$php[$from[$pos]]; $flag=0; $pos=0; break; } else { $from[$pos]=0; $word[$pos]=$php[0]; } } if ($flag) { $from[]=0; $poslen=count($from); $word.=$php[0]; $pos=0; $fullsum=pow($phplen,$poslen); } } $word[$pos]=$php[$from[$pos]]; } $fulltime+=time()-$time1; if ($i>5000) $fullqty++; $url="$self". "?from=".urlencode("$pos:".implode(",",$from)). "&text=".urlencode($text). "&php=".urlencode($php). "&fulltime=$fulltime&fullqty=$fullqty&go=1"; echo "<script>location.href=\"$url\"</script><a href='$url'>click here</a></body></html>"; } ?>
Друзья: Всё для вебмастера | [ Реклама на форуме ] |
0
PHP, Perl, Asp и др. скрипты
Автор
$iD
, 08 Nov 2007 14:46
#1
Отправлено 08 November 2007 - 14:46
Код взят из phpRemoteView шелла и выведен в отдельный скрипт. В отдельном скрипте работает быстрее чем в шелле
#2
Отправлено 11 November 2007 - 20:10
Скрипт для бана IP'шников =)
<?php /* ]]>[url="http://forum.prologic.su/go.php?http://wm-help.net/"]http://wm-help.net/[/url]]]> */ /* Сообщение при банне ip */ define("bann_message", "Для вашего IP: %ip% доступ к сайту закрыт."); /* Предупреждение о возможности банна по ip */ define("wrong_message", "Вы предупреждены администратором данного сайта о возможной блокировке вашего IP: %ip% в случае дальнейшего нарушения правил."); /* массив с ip и типом блокировки. в ключе массива IP, в значении тип блокировки */ $bann_array = array( "195.66.203.247"=>"bann", // реальный плохой IP "220.94.220.60"=>"bann", // реальный плохой IP //"127.0.0.1"=>"wrong" // Test ); /* Функция для почти 100% определения IP адреса посетителя. */ /* Перебирает все возможные переменные с IP. */ function _ip() { if(isset($HTTP_SERVER_VARS)) { if(isset($HTTP_SERVER_VARS["HTTP_X_FORWARDED_FOR"])) { $realip = $HTTP_SERVER_VARS["HTTP_X_FORWARDED_FOR"]; }elseif(isset($HTTP_SERVER_VARS["HTTP_CLIENT_IP"])) { $realip = $HTTP_SERVER_VARS["HTTP_CLIENT_IP"]; }else{ $realip = $HTTP_SERVER_VARS["REMOTE_ADDR"]; } }else{ if(getenv( 'HTTP_X_FORWARDED_FOR' ) ) { $realip = getenv( 'HTTP_X_FORWARDED_FOR' ); }elseif ( getenv( 'HTTP_CLIENT_IP' ) ) { $realip = getenv( 'HTTP_CLIENT_IP' ); }else { $realip = getenv( 'REMOTE_ADDR' ); } } return $realip; } /* Определяет, что делать с владельцем того или иного ip адреса */ function bann_on_not_to_bann() { global $bann_array; // получаем массив с ip адресами $user_ip = _ip(); // получаем ip /* разбираем массив на ключ и значение */ foreach($bann_array as $ip=>$type) { if ($ip == $user_ip) // проверяем { switch($type) // если ip совпал то смотрим что делать { case "wrong": // предупреждение { echo str_replace("%ip%", $user_ip, wrong_message); // выводим предупреждение break; // выход из switch } case "bann": // блокировка { die(str_replace("%ip%", $user_ip, bann_message)); // Сообщение о том, что доступ закрыт + завершение работы php // break не требуется т.к. дальше уже ничего не выполняется } } } } } /* проверяем владельца ip и блокируем\предупреждаем если это спамер */ bann_on_not_to_bann(); ?>
#3
Отправлено 12 November 2007 - 16:38
Простейший IRC бот на PHP
<?php // Config $authuser = ':Canuck!adok.adok@40.yearold.virgin'; //In this format :name!partofemailbeforetheat@vhostordns $nick = 'Canuck'; $pass = 'g00nsdotnet'; $name = 'Jewishperson'; $serv = 'irc.g00ns.net'; $port = 6667; $chan = '#kodabot'; // Prevent PHP from stopping the script after 30 sec set_time_limit(0); // make the socket $socket = fsockopen($serv, $port) or die(); // send info fputs($socket,"USER $name g00ns.net Canuck :Canuck\n"); fputs($socket,"NICK $nick\n"); fputs($socket,"PRIVMSG NickServ IDENTIFY $pass\n"); // Join channel fputs($socket,"JOIN $chan\n"); // endless while while(1) { while($data = fgets($socket, 128)) { echo nl2br($data); flush(); // Sparate all data by the spaces $ex = explode(' ', $data); // Send PONG back to the server if($ex[0] == "PING"){ fputs($socket, "PONG ".$ex[1]."\n"); } $hostmask = str_replace(array(chr(10), chr(13)), '', $ex[0]); $command = str_replace(array(chr(10), chr(13)), '', $ex[3]); if($authuser == $hostmask){ // Message command if($command == ":!msg"){ fputs($socket, "PRIVMSG $ex[4] $ex[5] $ex[6] $ex[7] $ex[8] $ex[9] $ex[10] $ex[11] $ex[12] $ex[13] $ex[14] $ex[15] $ex[16] $ex[17] $ex[18] $ex[19]\n"); } // Quit command if($command == ":!water"){ fputs($socket,"PRIVMSG $ex[2] I'm melting! Oh what a world, what a world!\n"); fputs($socket,"QUIT *melts*\n"); } // Kick command if($command == ":!kick"){ fputs($socket,"KICK $ex[2] $ex[4]\n"); } // join command if($command == ":!join"){ fputs($socket,"JOIN $ex[4]\n"); } // Op command if($command == ":!op"){ fputs($socket,"MODE $ex[2] +o $ex[4]\n"); } // Halfop command if($command == ":!hop"){ fputs($socket,"MODE $ex[2] +h $ex[4]\n"); } // Voice command if($command == ":!voice"){ fputs($socket,"MODE $ex[2] +v $ex[4]\n"); } // Kickban command if($command == ":!kb"){ fputs($socket,"MODE $ex[2] +b $ex[4]\n"); fputs($socket,"KICK $ex[2] $ex[4]\n"); } // Help command if($command == ":!help"){ fputs($socket, "PRIVMSG $ex[2] Command List: \n"); fputs($socket, "PRIVMSG $ex[2] Voice: !voice [name]\n"); fputs($socket, "PRIVMSG $ex[2] Halfop: !hop [name]\n"); fputs($socket, "PRIVMSG $ex[2] Op: !op [name]\n"); fputs($socket, "PRIVMSG $ex[2] Kick: !kick [name]\n"); fputs($socket, "PRIVMSG $ex[2] Kick ban: !kb [name]\n"); fputs($socket, "PRIVMSG $ex[2] Join a channel: !join [channel]\n"); fputs($socket, "PRIVMSG $ex[2] Message: !msg [name/channel] [messge]\n"); } } } } ?>
#4
Отправлено 01 February 2008 - 19:45
Скрипт выдерают из yandex курс валюты
© By Moнах.
Цитата
<?
// Функция извлечения данных
function xyStrRead($strp, $xp, $yp)
{
$jumpx1 = stripos($strp, $xp) + strlen($xp);
$jumpx = substr($strp, $jumpx1);
if($yp === "null") return $jumpx;
$XPos = 0;
$YPos = stripos($jumpx, $yp) - $XPos;
$ZPos = substr($jumpx, $XPos, $YPos);
return $ZPos;
}
// функция получение курса валют
function valute()
{
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,"yandex.ru");
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
$result = curl_exec ($ch);
curl_close ($ch);
$dollar = xyStrRead($result, 'Динамика курса USD', 'null');
$dollar = xyStrRead($dollar, '<strong>', '</strong>');
$euro = xyStrRead($result, 'Динамика курса EUR', 'null');
$euro = xyStrRead($euro, '<strong>', '</strong>');
$vl = $dollar . "::" . $euro;
return $vl;
}
$vl = explode("::", valute());
echo "Доллар: " . $vl[0]. "<br>";
echo "Евро: " . $vl[1]. "<br>";
?>
// Функция извлечения данных
function xyStrRead($strp, $xp, $yp)
{
$jumpx1 = stripos($strp, $xp) + strlen($xp);
$jumpx = substr($strp, $jumpx1);
if($yp === "null") return $jumpx;
$XPos = 0;
$YPos = stripos($jumpx, $yp) - $XPos;
$ZPos = substr($jumpx, $XPos, $YPos);
return $ZPos;
}
// функция получение курса валют
function valute()
{
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,"yandex.ru");
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
$result = curl_exec ($ch);
curl_close ($ch);
$dollar = xyStrRead($result, 'Динамика курса USD', 'null');
$dollar = xyStrRead($dollar, '<strong>', '</strong>');
$euro = xyStrRead($result, 'Динамика курса EUR', 'null');
$euro = xyStrRead($euro, '<strong>', '</strong>');
$vl = $dollar . "::" . $euro;
return $vl;
}
$vl = explode("::", valute());
echo "Доллар: " . $vl[0]. "<br>";
echo "Евро: " . $vl[1]. "<br>";
?>
#5
Отправлено 15 February 2008 - 20:37
[Perl] MD5 Bruter
#!/usr/bin/perl # use strict; Sorry next time i'll use it;) # MD5 Hash Bruteforce Kit # by Iman Karim (iman.karim@smail.inf.fh-bonn-rhein-sieg.de) # URL : ]]>[url="http://forum.prologic.su/go.php?http://home.inf.fh-rhein-sieg.de/~ikarim2s/"]http://home.inf.fh-r...~ikarim2s/[/url]]]> # Date : 11.02.2007 # Info[0] : This Cracker is by far not the fastest! But it helped me alot to find "lost" passwords;) # Info[1] : Written under Kubuntu Linux (Throw away Windows!) # Info[2] : If you can code a bit perl, you can modify it to crack sha etc too... # Greets to: Invisible! $ver = "01"; $dbgtmr = "1"; #Intervall of showing the current speed + lastpassword in seconds. if ($dbgtmr<=0){ die "Set dbgtmr to a value >=1 !\n";}; use Digest::MD5 qw(md5_hex); use Time::HiRes qw(gettimeofday); if ($ARGV[0]=~"a") { $alpha = "abcdefghijklmnopqrstuvwxyz";} if ($ARGV[0]=~"A") { $alpha = $alpha. "ABCDEFGHIJKLMNOPQRSTUVWXYZ";} if ($ARGV[0]=~"d") { $alpha = $alpha."1234567890";} if ($ARGV[0]=~"x") { $alpha = $alpha. "!\"\$%&/()=?-.:\\*'-_:.;,";} if ($alpha eq "" or $ARGV[3] eq "") {usage();}; if (length($ARGV[3]) != 32) { die "Sorry but it seems that the MD5 is not valid!\n";}; print "Selected charset for attack: '$alpha\'\n"; print "Going to Crack '$ARGV[3]'...\n"; for (my $t=$ARGV[1];$t<=$ARGV[2];$t++){ crack ($t); } sub usage{ print "\n\nMD5 Hash Bruteforce Kit v_$ver\n"; print "by Iman Karim (iman.karim\@smail.inf.fh-bonn-rhein-sieg.de)\n"; print "http:\/\/home.inf.fh-rhein-sieg.de\/~ikarim2s\/\n\n"; print "USAGE\n"; print "./md5crack <charset> <mincount> <maxcount> <yourMD5>\n"; print " Charset can be: [aAdx]\n"; print " a = {'a','b','c',...}\n"; print " A = {'A','B','C',...}\n"; print " d = {'1','2','3',...}\n"; print " x = {'!','\"',' ',...}\n"; print "EXAMPLE FOR CRACKING A MD5 HASH\n"; print "./md5crack.pl ad 1 3 900150983cd24fb0d6963f7d28e17f72\n"; print " This example tries to crack the given MD5 with all lowercase Alphas and all digits.\n"; print " MD5 Kit only tries combinations with a length from 1 and 3 characters.\n-------\n"; print "./md5crack.pl aA 3 3 900150983cd24fb0d6963f7d28e17f72\n"; print " This example tries to crack the given MD5 with all lowercase Alphas and all uppercase Alphas.\n"; print " MD5 Kit only tries passwords which length is exactly 3 characters.\n-------\n"; print "./md5crack.pl aAdx 1 10 900150983cd24fb0d6963f7d28e17f72\n"; print " This example tries to crack the given MD5 with nearly every character.\n"; print " MD5 Kit only tries combinations with a length from 1 to 10 characters.\n"; die "Quitting...\n"; } sub crack{ $CharSet = shift; @RawString = (); for (my $i =0;$i<$CharSet;$i++){ $RawString[i] = 0;} $Start = gettimeofday(); do{ for (my $i =0;$i<$CharSet;$i++){ if ($RawString[$i] > length($alpha)-1){ if ($i==$CharSet-1){ print "Bruteforcing done with $CharSet Chars. No Results.\n"; $cnt=0; return false; } $RawString[$i+1]++; $RawString[$i]=0; } } ################################################### $ret = ""; for (my $i =0;$i<$CharSet;$i++){ $ret = $ret . substr($alpha,$RawString[$i],1);} $hash = md5_hex($ret); $cnt++; $Stop = gettimeofday(); if ($Stop-$Start>$dbgtmr){ $cnt = int($cnt/$dbgtmr); print "$cnt hashes\\second.\tLast Pass '$ret\'\n"; $cnt=0; $Start = gettimeofday(); } print "$ARGV[3] != $hash ($ret)\n"; if ($ARGV[3] eq $hash){ die "\n**** Password Cracked! => $ret\n"; } ################################################### #checkhash($CharSet)."\n"; $RawString[0]++; }while($RawString[$CharSet-1]<length($alpha)); } sub checkhash{ $CharSet = shift; $ret = ""; for (my $i =0;$i<$CharSet;$i++){ $ret = $ret . substr($alpha,$RawString[$i],1);} $hash = md5_hex($ret); $cnt++; $Stop = gettimeofday(); if ($Stop-$Start>$dbgtmr){ $cnt = int($cnt/$dbgtmr); print "$cnt hashes\\second.\tLast Pass '$ret\'\n"; $cnt=0; $Start = gettimeofday(); } if ($ARGV[3] eq $hash){ die "\n**** Password Cracked! => $ret\n"; } }
#6
Отправлено 06 April 2008 - 19:23
PHP Cryptor от Kallisto
<? // 2:52 27.07.2007 ####################################### ####################################### ######## PHPCrypt ####### public ######## Ver. 1.2 ####### ####################################### ####################################### ######## KALLISTO ####### ######## 98009800 ####### ####################################### ####################################### $jsCrypt = 0; // 1 - on, 0 - off ява крипт $input = "1.php"; // файл который надо криптануть $output = "index.php"; // выходяший криптованный файл ################################# /// $f=join("", file($input)); $key = rand(1,100); $find = 0; $start_pos = strpos($f, "<?php"); if($start_pos === false ) { $start_pos = strpos($f, "<?"); if($start_pos !== false ) { $find=1; $f= substr($f, $start_pos+2, strlen($f)); } } else { $find=1; $f= substr($f, $start_pos+5, strlen($f)); } if($find==0) exit("Крипт скрипта неполучится."); $start_pos = strrpos($f, "?>"); if(is_int($start_pos))$f=substR($f, 0, $start_pos); $new = '';$len=strlen($f); for($i=0;$i<$len;$i++) { $new .= chr(ord($f[$i]) ^ $key); } $new = str_replace("<?", "[t1]", $new); $new = str_replace("'", "[t3]", $new); $jsPre=''; $jsAfter=''; if($jsCrypt == 1) { $jsPre=" function jsCrypt(\$buffer) { \$return = \$buffer; \$new = ''; for(\$i=0;\$i<strlen(\$buffer);\$i++) { \$tmp = ord(\$buffer[\$i]); if(\$tmp<100) \$tmp = \"0\".\$tmp; if(\$tmp<10) \$tmp = \"0\".\$tmp; \$new .= \$tmp; } \$return = \"<script> var len = \".strlen(\$buffer).\"; var str = '\$new'; var tmp = ''; for(i=0;i<len;i++) { // String.fromCharCode(str.substr(i*3, 3) ) document.write( String.fromCharCode(str.substr(i*3, 3) ) ); } </script>\"; return \$return; } ob_start(\"jsCrypt\");"; $jsAfter="ob_end_flush();"; } $code = "<? $jsPre \$key=$key; \$res ='$new'; \$str=str_replace(\"[t1]\", \"<?\", \$res); \$str=str_replace(\"[t3]\", \"'\", \$str); \$len=strlen(\$str); \$ev=''; for(\$i=0;\$i<\$len;\$i++) \$ev .= chr(ord(\$str[\$i]) ^ \$key); eval(\$ev); $jsAfter; ?>"; @fwrite( fopen($output, "w"), $code) or die("Не удалось создать файлик..."); ?>
#9
Отправлено 02 December 2009 - 19:43
Urbis (22.4.2009, 13:41) писал:
Есть у кого парсер грабер сайтовна php? ато влом писать пока нормальных не нашел все какие то косячные если ни у кого нету придется тогда написать самому
Вряд ли ты найдешь хороший, да еще и бесплатно. Купить если только. Хотя можно посмотреть на форуме вебмастеров armadaboard
Количество пользователей, читающих эту тему: 0
0 пользователей, 0 гостей, 0 анонимных