1. По причине блокировки роскомнадзором раз в несколько месяцев мы меняем доменное имя. Чтоб не потерять новую ссылку просто зарегистрируйтесь и вы получите сообщение о замене на свою почту!
    Скрыть объявление
Скрыть объявление
По причине блокировки роскомнадзором раз в несколько месяцев мы меняем доменное имя. Чтоб не потерять новую ссылку просто зарегистрируйтесь и вы получите сообщение о замене на свою почту!
Скрыть объявление
Проводите сделки через Гарант-сервис чтоб полностью обезопасить свои покупки.

Эксплуатируем XSS уязвимость на сайте ipay.ua для кражи карточных данных

Тема в разделе "Хакинг", создана пользователем Lomakov, 3 июн 2015.

  1. Lomakov

    Lomakov

    Сообщения:
    21
    Симпатии:
    0
    Баллы:
    1
    Продолжая пинтестинг отечественных платежных систем, я остановился на довольно популярном в Украине платежном сервисе ipay.ua.

    Меня интересовало, на сколько PCI DSS сертификация платежными системами и проводимое ими ежеквартальное ASV-сканирование (в том числе на наличие XSS уязвимостей) гарантирует защиту данных клиентов.

    Моё внимание привлекла форма p2p переводов по адресу www.ipay.ua/ru/p2p. Проверяя форму на фильтрацию вводимых данных, я добрался до поля для комментария (оно по умолчанию скрыто, что бы оно появилось, нужно поставить курсор в поле «Телефон получателя»). Как обычно, для первичной проверки, начал вводить текст:
    [​IMG]

    Мне стала интересна причина такого поведения страницы и я полез в её содержимое.
    Проанализировав javascript код я понял, что виной был следующий кусок:



    А точнее, виной стало незнание разработчика, что jQuery конструктор или метод, который принимает на вход HTML строку, может потенциально выполнить код.

    Далее мне захотелось реализовать способ эксплуатации данной уязвимости, что бы стала возможной кража вводимых карточных данных, а точнее, отправка этих данных на сторонний сервер.

    Анализируя работу страницы для p2p переводов, я обнаружил, что можно при помощи POST запроса сформировать частично заполненную форму, подставив в поле комментария javascript код, который так же не валидировался на сервере (двойной фэйл разработчиков)

    Я создал html страничку со следующим содержимым:
    [​IMG]

    Отправив данные на сервер, я получил форму с заполненным полем для комментария.

    [​IMG]

    Теперь для того, что бы внедренный javascript код выполнился, достаточно начать редактировать содержимое поля(спасибо функции .keyup() библиотеки jQuery ).

    Осталось дело за малым: сформировать должным образом передаваемый javascript код, что бы он отправлял данные формы на сторонний сайт.

    Содержимое моей html странички приобрело следующий вид:
    Карточные данные в форме я заполнил заранее для простоты демонстрации.

    Теперь отправив эти данные на сервер ipay.ua, получим форму для p2p перевода, заполнив которую, наша жертва при попытке редактирования комментария (например при его удалении), отправит свои карточные данные на сторонний сервер:
    [​IMG]
  2. fazer16

    fazer16

    Сообщения:
    8
    Симпатии:
    0
    Баллы:
    1
    цены по картону можно?
  3. lpfan

    lpfan

    Сообщения:
    52
    Симпатии:
    0
    Баллы:
    6
    Ты смешной,а вообще норм статейка,спасибо)
  4. vvvbbbvvv

    vvvbbbvvv

    Сообщения:
    161
    Симпатии:
    0
    Баллы:
    16
    интересно)

Поделиться этой страницей