Имя пользователя:
Пароль:
 | Правила  

Компьютерный форум OSzone.net » Компьютеры + Интернет » Вебмастеру » [решено] Раскодировать обратно php

Ответить
Настройки темы
[решено] Раскодировать обратно php

Аватара для zion87

Старожил


Сообщения: 263
Благодарности: 69

Профиль | Отправить PM | Цитировать


Доброго времени суток, вот такая вот задачка: есть кусок кода
Код: Выделить весь код
# reg  
  function create_url()
  {
  $arr = array('a','b','c','d','e','f',
                 'g','h','i','j','k','l',
                 'm','n','o','p','r','s',
                 't','u','v','w','x','y',
                 'z',
                 'A','B','C','D','E','F',
                 'G','H','I','J','K','L',
                 'M','N','O','P','R','S',
                 'T','U','V','W','X','Y',
                 'Z',
                 '1','2','3','4','5','6',
                 '7','8','9','0');
    $url = "";
    for($i = 0; $i < 6; $i++) {
      $random = rand(0, count($arr) - 1);
      $url .= $arr[$random];
    } return $url;
  }
if(@$_GET['do']=='reg')
я так понимаю что это кодирует символы - у мну из 12345 получилось 827ccb0eea8a706c4c34a16891f84e7b, так вот мне надо обратно - как ???

Отправлено: 02:38, 12-02-2012

 

Аватара для Coutty

Кот Ти


Сообщения: 7318
Благодарности: 1204

Профиль | Отправить PM | Цитировать


Цитата zion87:
из 12345 получилось 827ccb0eea8a706c4c34a16891f84e7b »
Это в результате md5("12345") получается такая строка. К вышеприведённой функции не имеет никакого отношения.

Отправлено: 08:41, 12-02-2012 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для zion87

Старожил


Сообщения: 263
Благодарности: 69

Профиль | Отправить PM | Цитировать


Да ? странно.. а что делает эта функция??

Отправлено: 19:25, 12-02-2012 | #3


Аватара для Coutty

Кот Ти


Сообщения: 7318
Благодарности: 1204

Профиль | Отправить PM | Цитировать


http://ru.wikipedia.org/wiki/Md5 - это про md5.
А если вы о вышеприведённой, то она просто генерирует случайную приставку к URL'у.
Это сообщение посчитали полезным следующие участники:

Отправлено: 20:55, 12-02-2012 | #4


Аватара для zion87

Старожил


Сообщения: 263
Благодарности: 69

Профиль | Отправить PM | Цитировать


Немного уточню ситуевину, есть многопользовательский сниффер (работает с бд mysql) вот выдержка из кода регистрации:
Код: Выделить весь код
<font color="#6495ED"> Заполните все окна рагистрации<br><br></font>
  <tr><td><font color="#6495ED" size="2">Логин:</font></td><td><input type="text" name="user" style="width:150px; height:22px; background:#000000; border:1px solid #00cc99; color:#ffffff;"></td></tr>
  <tr><td><font color="#6495ED" size="2">Пароль:</font></td><td><input type="password" name="pass" style="width:150px; height:22px; background:#000000; border:1px solid #00cc99; color:#ffffff;"></td></tr>
  <tr><td><font color="#6495ED" size="2">Повтор:</font></td><td><input type="password" name="pass2" style="width:150px; height:22px; background:#000000; border:1px solid #00cc99; color:#ffffff;"></td></tr>
  <tr><td><a title="" onclick="javascript:document.images.cap.src='captcha.php'">
  <img id="cap" src='captcha.php'></a></td><td><input type="text" name="cap" style="width:150px; height:22px; background:#000000; border:1px solid #00cc99; color:#ffffff;"></th></td></tr>
  <tr><td><input type="submit" value="ок" id="reg" style="width:56px; height:25px;"></td></tr>
  </form>
<?  
    if(isset($_POST['user']) && isset($_POST['pass']) && isset($_POST['pass2']) && isset($_POST['cap'])) {
    if($_POST['user']!=='')
      if($_POST['pass']==$_POST['pass2']) {
       if($_SESSION['cap_code']==null) {
                echo '<meta http-equiv="Refresh" content="1; url=index.php?do=reg "/>';
         } elseif($_POST['cap']=="") {
                echo 'Введите код';
         }
         elseif($_POST['cap'] == $_SESSION['cap_code']) {          
              $user=mysqli_real_escape_string($c,htmlspecialchars($_POST['user']));
              $q=mysqli_query($c,"SELECT * FROM `sniffuser` where user='$user'");
              if(mysqli_num_rows($q)>0) {
                echo 'Пользователь с таким именем <br>уже зарегистрирован';
              } else {  
                $pass=md5($_POST['pass']);
                $url=create_url();
                do {
                   $q = mysqli_query($c,"SELECT * FROM `sniffuser` WHERE url = '$url'");           
                }
                while(mysqli_num_rows($q)>0);
                  mysqli_query($c,"INSERT INTO sniffuser(url,user,pass) VALUES('$url','$user','$pass')");
                  echo 'Registration complete. Now you please be moved ..';
                  echo '<meta http-equiv="Refresh" content="1; url=index.php "/>';
               }
          } 
         } else {
                echo 'Пароли не совпадают';               
         }
        }     
  }
вот что в базе на выходе
Код: Выделить весь код
-- Дамп данных таблицы `sniffuser`
--

INSERT INTO `sniffuser` (`id`, `url`, `user`, `pass`, `email`, `emailon`, `image`, `header`, `headeron`) VALUES
(2, 'POfpg4', 'user', '827ccb0eea8a706c4c34a16891f84e7b', '', 0, '', '', 0);

/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
2-номер п\п
POfpg4-
Цитата Coutty:
случайная приставка к URL'у »
user-логин
827ccb0eea8a706c4c34a16891f84e7b-подозреваю что пароль ....(но в нормальном виде пароль = 12345)

где тут пароль или как сделать что бы он тут отображался(нормально)???

а вот авторизации
Код: Выделить весь код
<a href="index.php?do=reg"><font color="#6495ED">Регистрация</font></a><br><br>
<form action="" method="post">
<input type="text" name="user" style="width:150px; height:22px; background:#000000; border:1px solid #00cc99; color:#ffffff;" value="<?=htmlspecialchars(strip_tags($_POST['user']))?>"><br><br>
<input type="password" style="width:150px; height:22px; background:#000000; border:1px solid #00cc99; color:#ffffff;" name="pass"><br><br>
<input type="submit" value="войти" style="width:150px; height:25px; border:1px solid #00cc99; color:#ffffff;">
</form>
<?
  if (isset($_POST['user']) && isset($_POST['pass'])) {
     $user = mysqli_real_escape_string($c,$_POST['user']);
     $pass = md5($_POST['pass']);
     $query = "SELECT * FROM `sniffuser` WHERE `user`='{$user}' AND `pass`='{$pass}' LIMIT 1";
     $sql = mysqli_query($c,$query) or die(mysql_error());
     if (mysqli_num_rows($sql) == 1) {      
        $row = mysqli_fetch_array($sql);
        $_SESSION['hash'] = $row['url'];
        $_SESSION['user']= $row['user'];
        echo '<meta http-equiv="Refresh" content="1; url=index.php?do=set "/>';
     } else {
        echo 'Проверте правильность запонения полей';
     }

Последний раз редактировалось zion87, 13-02-2012 в 16:44.


Отправлено: 12:00, 13-02-2012 | #5


Аватара для Coutty

Кот Ти


Сообщения: 7318
Благодарности: 1204

Профиль | Отправить PM | Цитировать


Ну очевидно, что в поле pass хранится пароль. Обычно его и хэшируют в md5. Поскольку md5 - односторонняя функция, восстановить можно либо перебором, либо с использованием готовых таблиц паролей, где хранятся пары "пароль" - "хэш" (собственно, из такой онлайновой таблицы я и взял обратное восстановление).
Это сообщение посчитали полезным следующие участники:

Отправлено: 17:41, 13-02-2012 | #6


Аватара для zion87

Старожил


Сообщения: 263
Благодарности: 69

Профиль | Отправить PM | Цитировать


можно по подробнее
Цитата Coutty:
восстановить можно либо перебором, либо с использованием готовых таблиц паролей »
где хранятся пары ?
Цитата Coutty:
"пароль" - "хэш" »
что такое
Цитата Coutty:
онлайновой таблицы я и взял обратное восстановление »

Отправлено: 20:39, 13-02-2012 | #7


Аватара для Coutty

Кот Ти


Сообщения: 7318
Благодарности: 1204

Профиль | Отправить PM | Цитировать


Перебор: ставите скрипт что-то в духе
PHP код: Выделить весь код

for ($i 0; ; $i++) {

  if (
md5($i) == "827ccb0eea8a706c4c34a16891f84e7b")
     die(
"Эврика! Пароль: $i");


Естественно, это примитивный вариант перебора и только по числам (не найдёт то, что начинается с нуля). Нужно добавить ещё буквы и т.д.
Пароль длиной до 6 символов вполне реально восстановить. Больше - вряд ли. Можно использовать словари паролей (текстовые файлы, где в строке содержится 1 пароль). Их можно найти на всяких хакерских сайтах. Но, в общем-то, это подходит только для простых паролей.
Если известна длина пароля, можно попробовать метод Монте-Карло (загуглите сами) - должно немного ускорить перебор, хотя математически это выглядит замедлением (но статистически работает).
Но вообще, перебор - бесперспективное дело.

Таблицы пароль-хэш - это по сути те же словари, только для каждого пароля рядом приводится его хэш md5, но поиск на порядки быстрее, чем перебором по словарю. Такие таблицы можно составить самому по словарю, либо воспользоваться онлайновой службой.
Опять же, сработает только для простых и распространённых паролей.

И вообще, нехорошо взламывать чужие пароли. А всё, что я рассказал выше, рассказано лишь из-за малой эффективности этих методов Хороший пароль этим не вскрыть.

Отправлено: 21:15, 13-02-2012 | #8


Аватара для zion87

Старожил


Сообщения: 263
Благодарности: 69

Профиль | Отправить PM | Цитировать


понял просто перебор, а можно что то изменить в коде чтобы пароль сохранялся в нормальном виде(чтобы сильно не коверкать то помимо хешированного еще нормальный сохранялся) ну или сделать чтобы просто в отдельном текстовике сохранялся логин и пароль???
Код: Выделить весь код
(2, 'POfpg4', 'user', '827ccb0eea8a706c4c34a16891f84e7b', нормальный пароль, '', 0, '', '', 0);

Отправлено: 21:35, 13-02-2012 | #9


Аватара для zion87

Старожил


Сообщения: 263
Благодарности: 69

Профиль | Отправить PM | Цитировать


всем спасибо вроде сам разобрался (теперь сохраняется просто без хеш)

Отправлено: 19:50, 14-02-2012 | #10



Компьютерный форум OSzone.net » Компьютеры + Интернет » Вебмастеру » [решено] Раскодировать обратно php

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
[решено] Раскодировать footer wordpress aggressor_ Вебмастеру 4 03-11-2011 17:27
[решено] Помогите раскодировать шаблон WP vita727 Вебмастеру 5 10-09-2011 13:32
Разное - [решено] PHP - Передача полезного значения(части) массива из одного скрипта php, в другой. ilka Программирование и базы данных 8 02-11-2010 19:37
[решено] Apache 2.2.8 + Php 5.2.6 + MySQL 5.0.51b (win) - не работает php v0f41k Вебмастеру 4 11-05-2008 22:08
Раскодировать чтото типа ASCII для мобильника mcm Мобильные ОС, смартфоны и планшеты 1 13-04-2005 15:05




 
Переход