→ RuCTF-2010: SVN

| 5 Comments | No TrackBacks
Рассмотрим еще один сервис, по которому никто не добыл ни одного флага. Это сервис svn. Невероятно, но на его анализ и поиск основной уязвимости у меня ушло ДЕСЯТЬ минут, и еще десять на написание эксплойта, который получает флаги с сервиса. В хаскеле я так и не разобрался, поэтому вероятно есть и другие уязвимости. Вероятно все посмотрели, что сервис написан на хаскеле и забили, так сделали и мы, а зря.

Все очень просто, сервис хранит флаги в файлах каталога /home/svn/repo/. Сервис поддерживает следующие команды:
l - получение списка файлов
+<filename> <char> - добавить в файл "+<char>"
-<filename> <char>  - добавить в файл "-<char>"
*<filename> <pos> <char>  - добавить в файл "*<pos> <char>"
<filename> <rev> - получить определенную ревизию файла
<filename> - получить последнюю ревизию файла

Эксплойт состоит в том, что бы сначала послать "l\n", а потом посылать имена файлов полученные на пред. этапе для получения флагов.

Итого:
  • хаскел я так и не знаю
  • команды испугалась незнакомого языка и упустили прекрасную возможность получить флаги.
  • exploit svn.py

No TrackBacks

TrackBack URL: http://smokedchicken.org/m/mt-tb.cgi/28

5 Comments

Мы не забили, просто не додумались перебирать все ревизии (да и это долговато как-то?). Последняя ревизия на флаг не очень похожа была..
Мы только роняли всем сервис, с помощью '+../svn.hs a'

Ну про "ни одного флага" -- это грубо :) Мы слили с svn три флага, а в сумме их было 7, кажется (хотя кто-то говорит, что аж целых 15).

Проблема с автоматизацией ретривинга флагов состояла в том, что GHC под виртуальной машиной к концу игры жутко тормозил и сервис svn закрывался по таймауту после одной-двух команд. Так что все было не так гладко, как здесь описано. :)

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

About this Entry

This page contains a single entry by Антон Сапожников published on April 28, 2010 1:07 AM.

RuCTF-2010: CA was the previous entry in this blog.

RuCTF-2010: Histograph is the next entry in this blog.

Find recent content on the main index or look in the archives to find all content.