• XSS.stack #1 – первый литературный журнал от юзеров форума

H1 ctf

BabaDook

(L1) cache
Забанен
Регистрация
20.04.2015
Сообщения
734
Реакции
524
Пожалуйста, обратите внимание, что пользователь заблокирован
Пару часиков посидел на H1 ctf. Могу написать решения, кому-нибудь будет инересно? На сколько я знаю в паблике нету решения этого цтф. Но мне надо время, где-то половинку только сделал.
 
Пили канешн, как закончишь, подробненько, чтоб даже ньюби вьехал почему и отчего. Полезно будет однозначно, т.к. врайтапы всегда интересны, тем более на h1 более менее ctf. Да и вообще они неплохо подстегивают интерес к сабжу.
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Думал всё пройти и потом написать прохождение всех тасков, но я веб не люблю, и могу проходить только когда впиздит, а это можно ждать долго. К тому же задания проявляются по мере прохождения. Не смотря что задания большую часть идиотские, но есть в них что-то, что-то такое, классно. оставайся с нами и мыть может и ты поймёшь. У каждого автора цтф своя философия.
На данный момент статистика такая:
1549980487028.png
Первое задание
Trivial (1 / flag)
Открываем сылку, http://35.227.24.107:5001/6e35f06c23/ у вас она будет другой
перед нами сообщение (Welcome to level 0. Enjoy your stay. )
И тут меня понесло, Я же супер мен, я же знаю что надо делать. Я начал брутить диры, искать бекап файлы, итд.
Но ларчик работал по другому. И кода я отчаялся совсем открыл исходный код.
Код:
<!doctype html>
<html>
    <head>
        <style>
            body {
                background-image: url("background.png");
            }
        </style>
    </head>
    <body>
        <p>Welcome to level 0.  Enjoy your stay.</p>
    </body>
</html>

background-image: url("background.png"); Это же КТФ.
Переходим по урлу
view-source:http://35.227.24.107:5001/6e35f06c23/background.png
Гребём флаг
^FLAG^4effb4f60c8fba6f90df6a4d945cb8f6a81f3909694abae42354969cd2313c69$FLAG$
На самом деле я бы никогда не додумался. просто меня возмутил тот факт что не было картинки... Чисто случайно.
Задание 2
Easy (2 / flag)Micro-CMS v1
На самом деле одно из лучший. Мне оч понравилось. Не смотря на то что когда я запустил бурп, он сам собрал все флаги. Я не шучу.

сыль: http://35.190.155.168:5001/33e1f62be5/
1549981021164.png
Такая начальная страница. Переходим по сылкам.

Имеем
page/create
page/2
/page/1
page/edit/1
page/edit/2
И сылклу https://github.com/adam-p/markdown-here/wiki/Markdown-Cheatsheet
первое что мне попало в глаз белая жидкость, похожа на водичку из трубочки. Из трубенции если честно
Это поле
http://35.190.155.168:5001/33e1f62be5/page/create
По привычки вставляем в поля "><script>alert();</script>
1549981547547.png
Отправляем, ииииии получаем 500 ошибку. А потому-что русские буквы, но вам не надо этот текст писать.
Отправляем "><script>alert();</script>
Переходим на начальную стринаци и в алерте прилетаем наш флаг
1549981698945.png
FLAG: ^FLAG^cff3db53081ee2cc4a0cd8d551c4a86be697a31838ce57f9833d6dd534482cc9$FLAG$
Нашей страницы присвоино значение 13 Можно назвать Id, хоть параметра явного нету
То есть есть страница 1,2,13 ... Что то тут не то, я прогнал через бурп, от 1 до 1000
1549982036352.png
Выходит, что есть ещё страница page/6
Но она недоступна. ЧТож. летим дальше
Идём на станицу редактирования
Вставляем... Тестируем на хсс При событии
<svg/onload=alert('XSS')>
<IMG SRC=/ onerror="alert()"></img> ИТД
1549982278659.png
Обновляем страницу, но алерта нету...
Открывает исходную страницу
1549982554955.png
FLAG: ^FLAG^1b06812d8466dba0beea799cc396c2067a2a0cdce4433d95f6a11b2d3b2d6f79$FLAG$

Дальше обращаем внимание на
http://35.190.155.168:5001/33e1f62be5/page/edit/1 <- id
1549982745005.png
Доступны все страницы, и нету никакой проверки на права доступа, помните про ту станицу.. Которая недоступна была для просмотра..... Вы тоже подумали. А как на счёт отредактировать её. Ведь мы получим не только возможность редактировать, но и просмотрим содержимое.
1549982851541.png

FLAG ^FLAG^d177347cca0e22a15e4c78442ea19b39b21022b545a9652f8303bbf1c1f118f0$FLAG$
Вот на этом все. Это было легко, но надо было проявить.... То что называют смекалку. Самое трудное для меня было это хсс по событию.... А самое классное конечно последний наш флаг. Логика....
Отпишите на сколько всё понятно, если что-то не айс, буду исправлять.

п.с проебался с флагами.
Самой Изи флаг

http://35.190.155.168:5001/33e1f62be5/page/edit/2' самый первый который я нашёл. Точнее.... Помните, я про бурп говорил

FLAG ^FLAG^5c8dfb5bda55310dc9cc74abfd89dec62767aebb0ccf89c66f12ab2e4de9c0ba$FLAG$


Petshop Pro следующие будет. Сейчас устал.
 

Вложения

  • 1549981006312.png
    1549981006312.png
    7 КБ · Просмотры: 35
  • 1549982021607.png
    1549982021607.png
    13 КБ · Просмотры: 35
  • 1549982208889.png
    1549982208889.png
    11.2 КБ · Просмотры: 33
  • 1549982230302.png
    1549982230302.png
    11.2 КБ · Просмотры: 33
Последнее редактирование:
BabaDook
Молодец. + Веди этот "бложек" по мере возможности, новичкам всегда легче учиться на наглядных примерах, пробовать себя в ктф а потом при стопоре читать врайтапы, заодно изучая сабж пошагово (а не хватаясь за все сразу). Все предельно ясно написано.
 
Пожалуйста, обратите внимание, что пользователь заблокирован
На самом деле нет.Решил повременить с Petshop Pro. И так вчера и сегодня нашёл время, на самом деле мне написал индус, он тоже делает этот цтф, решили вместе поебашить, ну, как вместе, он мне хинтанул с флагом, а я ему почти весь уровень слил. Как говорится совместными усилиями, кто на что способен.
И так на старте
Moderate (5 / flag)Cody's First Blog 3 флага
сейчас статистика такова
1550157180619.png

Переходим на уровень Открывается страница
1550157315534.png
Бросается в глаза PHP большими буквами и include()
?page=admin.auth.inc
и форма отправки,
Подмечаем под себя
PHP , include,page=admin.auth.inc
Намек на что-то с php, не многое на самом деле
это передать массив, выполнение кода разных вариаций , lfi\rfi разных вариаций.

тестируем форму
вписываем <?php phpinfo();?>
1550157646478.png
Отправляем и забираем флаг, есть есть один вариант получить этот флаг.
FLAG ^FLAG^7f8e7dd5d07d2a61549a516a964c5415c5f496543e23ea36aa48ff6fba5bb774$FLAG$

Дальше запускаем фазинг
ищем файлы, диры. И через время находим
1550158916670.png
Но, это нам ничего не даёт.
Начинаем искать зацепки:
Переходим page=admin.auth.inc....
инклудится форма авторизации. пробуем её атаковать
1550159081732.png
К сожалению перечислить юзеров или пароль не получается, так как при неверном значение одна и та же ошибка
Incorrect username or password
sql- inj тоже отсутствует. пробуем самое очевидное. А перед этим глянем что сылка не заканчивается на .php
Пробуем ?page=index
И тут облом
1550159439694.png
пробуем RFI, тоже облом.

И тут я присмотрелся к ?page=admin.auth.inc
Если так подумать, то можно предположить что
admin.auth.inc <- это страница авторизации. а вот admin.inc <- страница админ панели, пробуем

1550159687982.png
Такс, ошибка, флага нету, но страница есть.... Пробуем получить доступ к страницы

?page=admin.inc
1550159837132.png
FLAG ^FLAG^ecc8f32f4f29cea832bf6c9d4ca5b1ae4585d566fa70cbc0432665eb5627efa8$FLAG$
Да , флаг у нас. У нас ещё есть Approve Comment
Который
1550159911357.png
Который. просто одобряет посты юзера.
теперь что?
Мы имеем пользователя, который может отправлять посты, Мы так же можем их одобрить, поскольку являемся админом. Значит, если мы напишем от юзера php код, то из админ панели мы его сможем одобрить, дальше этот код попадёт на страницу.
1550160063074.png
Ну, не совсем так. К сожалению код php не обрабатывается. Так что же делать?
У нас есть LFI в той или иной степени, который исполняет файлы и мы может каким-то образом поместить на страницу код.
Проблема заключается в том что нам надо не обратиться к страницы, а проинклудеть То есть подключить его
?page=index, но вы же помните что у нас ошибка.
техника проста. мы обратимся к локалхосу, дальше поскольку у нас на конце принудительно добавится .php то нужна ещё страница. Index
и того имеем следующие
первое, от юзера создаём постс
второе от админа одобряем этот поста ?page=admin.inc
третье инклудим index ?page=http://127.0.0.1/index

1550160746695.png
Результат исполнение кода который мы писали . phpinfo и чтение всех файлов
Теперь открывает исходный код страницы и ищем слово флаг
И находим
1550160884198.png

FLAG ^FLAG^3d20f26675e821abcb97357f7981d33505fe3a243f3ae3b2138295016a129773$FLAG$
П.С если сделать норм теги и хештеги, и вылощить в твит, то может будет наплыв, любители стф часто гуглят солюшены.
решения этого таска я нигде не видел
 
Последнее редактирование:
пЕши исчО. первая часть вообще элементарная, подозрительно легко, а вот дальше чуть сложнее и интереснее, понравился шаг с page=admin.inc
 
Пожалуйста, обратите внимание, что пользователь заблокирован
пЕши исчО. первая часть вообще элементарная, подозрительно легко, а вот дальше чуть сложнее и интереснее, понравился шаг с page=admin.inc
Если пишу без ошибок значит это не я. Там всё просто. Тут маза в фазинге. и тестирования,нету тут сложных техник, это ещё больше сводит с ума
 
Ну, норм тему в болталку кинули. Кто-то сделал это не подумав наверное.
Из за названия наверное (не очень информативно). А так ты большой молодец :smile12:
Вообще круто было бы сделать отдельную общую тему про ЦТФ и там постить свои "прохождения" и обсуждать.
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Из за названия наверное (не очень информативно). А так ты большой молодец :smile12:
Вообще круто было бы сделать отдельную общую тему про ЦТФ и там постить свои "прохождения" и обсуждать.
Ага, надо. Согласен.
 
Пожалуйста, обратите внимание, что пользователь заблокирован
И так , всё ещё запускаем бурп.

Таска
Moderate (5 / flag)TempImage

Переходим по сылки,
там одна кнопка, загрузка файла
Грузим php shell
3196


хм, вы знайте что надо делать?
Идём в бурп грузим PNG можно через пеинт нарисовать и меняем расширение на php. Тудаже пихаем код
3197

Загружаем, всё гуд
получаем результат
3198


Херня, нет выполнение php.
Но возможность создать php файл, уже что-то. Курим дальше
Теперь самое время подумать, что там может быть, на стороне ебучего сервера, допустим там Эйчиаксес, который запрещает выполнение кода.
Что мы можем сделать,
1) поменять расширение файла.
2) иследовать
3) курнуть бухнуть итд
4) Определить на что мы можем влиять.
3199

Замечаем что есть два параметра и 3 это содержимое файла.
Есть такая тема, что можно пробовать выйти за предел каталога.
что это значит
site/upfile/filename.php
Где в уп upfile запрет на выполнение скриптов
в теории можно с такой проблемой много чего провернуть
начинаем тестить
3200

False
3201

Ошибка и флаг
FLAG : ^FLAG^dc08b8e21a5a63a186c5d241d20a8f67fcca91ccbc0854b017a68d9b6141a314$FLAG$
Теперь тестим, ошибка эта или уязвимость
имеем путь 0f2e6487e5/files/44eba60859980cba44e43fdb34b06e1e_hui.php
пробуем подняться на каталог выше, и ещё выше
3202

3203

Уязвимость есть. Дело за малым, пропихнуть код
3204


Грузим, переходим по сыле
0f2e6487e5/pidr.php и ищем флаг


FLAG:
^FLAG^526d6184c6839e6d1d046a7f117fc048c92e3dc621d3393a82ec41d14d910fbd$FLAG$
На самом деле могли бы сделать лучше
Например https://www.idontplaydarts.com/2012/06/encoding-web-shells-in-png-idat-chunks/
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Что-бы вы не думали что я только бурп умею запускать, хотя так оно и есть. Я ещё одну прогу научился запускать,буквально вчера.
TASK:
Easy (2 / flag)H1 ThermostatAndroid2 / 2
Переходим по сылки
3205

Открываем исходник, и жмём F5 И качаем APK thermostat.apk

Дальше я запустил androidStudio Вчера научился запускать
Открываем проект. Нам интересен Classes.dex, Далее переходим в com->hacker101->level11
3206

В глаза бросился незамославатое название PayloadRequest.java P.S Нам нужен тот что в верху
3207

Открываем
3208

Обратил внимание на такое
3209

Смотрим дальше
Если честно я заюзал поиск по слову флаг
FLAG:^FLAG^b21d27ddbd21d9e7e2336035c88f6d5e1fb685c05530ed47732da5259865d948$FLAG$
3210

И ещё
FLAG:^FLAG^8b3e4d43b72da1bb28045b43a48d63a40286c4724e29d5b7332742ec6018bd60$FLAG$
3211

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


Напишите ответ...
  • Вставить:
Прикрепить файлы
Верх