![]() |
Внимание, важное сообщение: Дорогие Друзья!
В ноябре далекого 2001 года мы решили создать сайт и форум, которые смогут помочь как начинающим, так и продвинутым пользователям разобраться в операционных системах. В 2004-2006г наш проект был одним из самых крупных ИТ ресурсов в рунете, на пике нас посещало более 300 000 человек в день! Наша документация по службам Windows и автоматической установке помогла огромному количеству пользователей и сисадминов. Мы с уверенностью можем сказать, что внесли большой вклад в развитие ИТ сообщества рунета. Но... время меняются, приоритеты тоже. И, к сожалению, пришло время сказать До встречи! После долгих дискуссий было принято решение закрыть наш проект. 1 августа форум переводится в режим Только чтение, а в начале сентября мы переведем рубильник в положение Выключен Огромное спасибо за эти 24 года, это было незабываемое приключение. Сказать спасибо и поделиться своей историей можно в данной теме. С уважением, ваш призрачный админ, BigMac... |
|
Компьютерный форум OSzone.net » Компьютеры + Интернет » Вебмастеру » [решено] Раскодировать обратно php |
|
[решено] Раскодировать обратно php
|
Старожил Сообщения: 263 |
Доброго времени суток, вот такая вот задачка: есть кусок кода
# 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') |
|
Отправлено: 02:38, 12-02-2012 |
Кот Ти Сообщения: 7318
|
Профиль | Отправить PM | Цитировать Цитата zion87:
|
|
Отправлено: 08:41, 12-02-2012 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Старожил Сообщения: 263
|
Профиль | Отправить PM | Цитировать Да ? странно.. а что делает эта функция??
|
Отправлено: 19:25, 12-02-2012 | #3 |
Кот Ти Сообщения: 7318
|
Профиль | Отправить PM | Цитировать http://ru.wikipedia.org/wiki/Md5 - это про md5.
А если вы о вышеприведённой, то она просто генерирует случайную приставку к URL'у. |
Отправлено: 20:55, 12-02-2012 | #4 |
Старожил Сообщения: 263
|
Профиль | Отправить 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 */; POfpg4- Цитата Coutty:
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 |
Кот Ти Сообщения: 7318
|
Профиль | Отправить PM | Цитировать Ну очевидно, что в поле pass хранится пароль. Обычно его и хэшируют в md5. Поскольку md5 - односторонняя функция, восстановить можно либо перебором, либо с использованием готовых таблиц паролей, где хранятся пары "пароль" - "хэш" (собственно, из такой онлайновой таблицы я и взял обратное восстановление).
|
Отправлено: 17:41, 13-02-2012 | #6 |
Старожил Сообщения: 263
|
Профиль | Отправить PM | Цитировать |
Отправлено: 20:39, 13-02-2012 | #7 |
Кот Ти Сообщения: 7318
|
Профиль | Отправить PM | Цитировать Перебор: ставите скрипт что-то в духе
Естественно, это примитивный вариант перебора и только по числам (не найдёт то, что начинается с нуля). Нужно добавить ещё буквы и т.д. Пароль длиной до 6 символов вполне реально восстановить. Больше - вряд ли. Можно использовать словари паролей (текстовые файлы, где в строке содержится 1 пароль). Их можно найти на всяких хакерских сайтах. Но, в общем-то, это подходит только для простых паролей. Если известна длина пароля, можно попробовать метод Монте-Карло (загуглите сами) - должно немного ускорить перебор, хотя математически это выглядит замедлением (но статистически работает). Но вообще, перебор - бесперспективное дело. Таблицы пароль-хэш - это по сути те же словари, только для каждого пароля рядом приводится его хэш md5, но поиск на порядки быстрее, чем перебором по словарю. Такие таблицы можно составить самому по словарю, либо воспользоваться онлайновой службой. Опять же, сработает только для простых и распространённых паролей. И вообще, нехорошо взламывать чужие пароли. А всё, что я рассказал выше, рассказано лишь из-за малой эффективности этих методов ![]() |
Отправлено: 21:15, 13-02-2012 | #8 |
Старожил Сообщения: 263
|
Профиль | Отправить PM | Цитировать понял просто перебор, а можно что то изменить в коде чтобы пароль сохранялся в нормальном виде(чтобы сильно не коверкать то помимо хешированного еще нормальный сохранялся) ну или сделать чтобы просто в отдельном текстовике сохранялся логин и пароль???
|
Отправлено: 21:35, 13-02-2012 | #9 |
Старожил Сообщения: 263
|
Профиль | Отправить PM | Цитировать всем спасибо вроде сам разобрался (теперь сохраняется просто без хеш)
![]() |
Отправлено: 19:50, 14-02-2012 | #10 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
[решено] Раскодировать 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 |
|