ХакерДом: CTF/UCSBiCTF2007/services/therapy ...

Null Page | Каталог | Изменения | НовыеКомментарии | Пользователи | Регистрация | Вход:  Пароль:  
Therapy

Начну и надеюсь что Kost продолжит, всё-тки это он нашел багу и писал эксплоитер (к томуже у меня нет исходников).


Сервис Therapy распологался по адресу http://10.7.1.3:8080/Therapy/ и позволял регистрироваться 2 типам пользователей: пациенты и консультанты. При регистрации и те и другие указывали (first name, last name, e-mail, login, pass).
После регистрации пациенты могли опубликовать историю своей жизни/болезни и дополнительные личные данные. Каждому пациенту случайным образом назначался консультант. После регистрации консультант получал ссылки на истории всех назначенных ему пациентов.


Сервис был написан на Java и скомпилирован, исходников не было. Он крутился на Apache Tomcat c поддержкой Java и использовал для хранения данных СУБД MySQL. Флаги хранились в дополнительных личных данных пациентов. Kost нашел там багу типа открытой SQL инъекции.


Суть была в том, что история и дополнительная информация попадала в базу данных без фильтрации.
Методом проб мы придумали 2 варианта использования этой уязвимости. Первый – это заменить у всех пациентов – назначенного им консультанта на нашего специально созданного. Этот вариант давал нам истории всех пациентов но не флаги. Второй – поменять логин и пароль каждого пользователя на id. Таким образом мы могли подсоединится от имени любого пользователи и посмотреть его личные данные (флаг). Передавалось значение: blabla', username=id, password=id WHERE 1=1 /*
В ручную так воровать флаги – это адская работа, поэтому Kost с Ильёй написали скрипт, автоматизирующий эти действия, но использовать его так и не успели.


К сожалению, не имея исходников, закрыть уязвимость с нашей стороны не смогли. В настройках Apache Tomcat не оказалось настроек связанных с обработкой данных.


Код рабочего эксплоита:



 
Файлов нет. [Показать файлы/форму]
Много комментариев (6). [Показать комментарии/форму]