HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > ИНФО > Статьи
   
 
 
Опции темы Поиск в этой теме Опции просмотра

  #4  
Старый 04.06.2021, 23:27
Svan
Познающий
Регистрация: 24.09.2020
Сообщений: 68
С нами: 2967446

Репутация: 2
По умолчанию

[QUOTE="Baskin-Robbins"]

Сайт - get-simple.info
Версия 3.3.16 - Latest Stable Version.
Интернеты говорят вот так:
View attachment 13250
В админке имеем возможность редактирования шаблонов - php файлы.
Удаляем стопер, пишем phpinfo и у нас RCE)
Осталось теперь как-то попасть в эту самую админку.
View attachment 13251


Auth bypass или предсказываем значение rand()

Система использует xml файлы для хранения данных, скулей не увидим.
Посмотрим на то как проходит аутентификация.
admin/inc/login_functions.php
PHP код:
[COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#007700"]if ( ([/COLOR][COLOR="#0000BB"]$userid[/COLOR][COLOR="#007700"]==[/COLOR][COLOR="#0000BB"]$USR[/COLOR][COLOR="#007700"]) && ([/COLOR][COLOR="#0000BB"]$password[/COLOR][COLOR="#007700"]==[/COLOR][COLOR="#0000BB"]$PASSWD[/COLOR][COLOR="#007700"]) ) {
[/
COLOR][COLOR="#0000BB"]$authenticated[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]true[/COLOR][COLOR="#007700"];
[/
COLOR][/COLOR
Слабое сравнение(type jugling), но:
1) GetSimple использует sha1, брутить слишком много вариантов
2) Юзер == админ, поэтому их количество будет не большим)
3) Нужный юзер скорее всего имеет пароль отличный от необходимого нам диапозона
С одной стороны вроде как и нет баги. С другой, если мы заглянем на страницу
восстановления пароля, увидим, что этот процесс происходит таким образом:
1) Запрос на восстановление
2) Смена пароля
3) Отправка нового пароля на email
На email не отправляется линк на смену пароля, пароль меняется и отправляется на почту.
Отсюда можно решить 2 и 3 проблемы таким способом:
-- отправляем на аутентификацию всегда пароль, хэш которого 0e[0-9]{38} - например aaK1STfY
-- расстреливаем запросами на смену пароля
Но проблема слишком большого количества вариантов мешает получить сколько-нибудь
значимые результаты. Плюс ко всему, ситуация ослажняется вот этим:
admin/resetpassword.php
PHP код:
[COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#007700"]...
[/
COLOR][COLOR="#0000BB"]$randSleep[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]rand[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]250000[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]2000000[/COLOR][COLOR="#007700"]);[/COLOR][COLOR="#FF8000"]// random sleep for .25 to 2 seconds
[/COLOR][COLOR="#007700"]...
[/
COLOR][COLOR="#0000BB"]usleep[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$randSleep[/COLOR][COLOR="#007700"]);
...
[/
COLOR][/COLOR
Но раз в нашем случае мы можем поменять пароль, посмотрим что это за пароль и
как он генерируется:
admin/inc/template_functions.php
[PHP]
[COLOR="#000000"]functioncreateRandomPassword() {
$chars="Ayz23mFGHBxPQefgnopRScdqrTU4CXYZabstuDEhijkIJKMNV Wvw56789";
srand((double)microtime()*1000000);
$i=0;
$pass='';
while (
$i[COLOR="#007700"]
 
Ответить с цитированием
 



Предыдущая тема Следующая тема

Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.