Название объекта Разоблачение - Программа ответственного раскрытия информации ING Bank

Заголовок: имя объекта или внутренняя архитектура, открытая из-за ошибки десериализации

ПРИМЕЧАНИЕ: Обычно я копирую / вставляю только свой разговор в среду, у меня не хватает времени, чтобы правильно писать эти сообщения в блоге, я делюсь этим только в учебных целях, а не для того, чтобы зарабатывать моих подписчиков. 😐 👊

Привет, меня зовут Рохит Кумар, исследователь в области безопасности и охотник за ошибками из Индии.

Уязвимость: раскрытие информации и раскрытие внутренней архитектуры

— — — — — — — — — — — — — — — -

Этапы воспроизведения

— — — — — — — — — — — — — — — -

1. Войдите в = › https://developer.ing.com

2. Теперь перейдите в свой профиль, чтобы обновить его.

3. Отредактируйте свое имя и сохраните его (на этом шаге перехватите ваш запрос с помощью пакета burp).

4. Теперь, в этой конечной точке

ПАТЧ / индивиды / 791345bc-9444–4edc-9955–1b78e86fddfd / индивидуальные имена / EifQPFiEYfMiU- 3FODj3sT736QkPuGe4nigpckH2fEqkaitoTfuLjGG3Lu9UDN84fc8crGf 1.15

Хост: api.developer.ing.com

Вы заметите текст json в теле запроса, подобный этому

{«IndividualName»: {«lastUpdateUser»: «external-id-means», «firstName»: «Geeky bbc»}}

5. Теперь измените ключ «firstName» на что-нибудь вроде «test». Итак, окончательное тело запроса будет иметь вид

{«IndividualName»: {«lastUpdateUser»: «external-id-means», «test»: «Geeky bbc»}}

6. Теперь перешлите или повторите этот запрос. это вызовет ошибку

Нераспознанное поле «test» (класс com.ing.tpa.onepam.exchange.model.IndividualName), не помеченное как игнорируемое (11 известных свойств: «startDate», «lastName», «salutation», «endDate», «type» , «FirstName», «secondName», «ссылки», «lastUpdateUser», «инициалы», «_links»])

в [Источник: (org.glassfish.jersey.message.internal.ReaderInterceptorExecutor $ UnCloseableInputStream); строка: 1, столбец: 65] (через цепочку ссылок: com.ing.tpa.onepam.individual.json.model.IndividualNameInputMessage [«индивидуальное имя»] - ›com.ing.tpa.onepam.exchange.model.IndividualName [« контрольная работа"])

7. Теперь это возможно. видите, это раскрывает имена полей, имена внутренних объектов и архитектуру.

Дополнительная информация

Здесь, в этом отчете, я также хотел бы упомянуть, что я сообщил еще об одной уязвимости до этого, которая была получена вами 30 августа 2018 года.

Я отправил вам снимки PoC, и после получения этого отчета вы, ребята, отклонили его и упомянули, что это ложное срабатывание и этой ошибки не существует. Теперь скажите мне, если это ложное срабатывание, как я его воспроизвел? Допустим, мои снимки подделки, понятно? Теперь расскажите мне, как я могу вставить 7 тысяч символов в вашу базу данных, и у меня есть веские доказательства: вы можете проверить мою учетную запись developer.ing.com, и вы получите десятки созданных мной приложений, в которых есть около 6 тысяч символов. . Я сообщил об этом этично, но не верю, что вы, ребята, делаете это этично.

Мы должны выполнять свою работу этично. Если ваше сообщество будет вести себя этично, все будут вести себя этично.

Спасибо,

Рохит Кумар