+ Ответить в теме
Показано с 1 по 9 из 9
  1. #1
    Moderator Aleksey репутация неоспорима Aleksey репутация неоспорима Aleksey репутация неоспорима Aleksey репутация неоспорима Aleksey репутация неоспорима Aleksey репутация неоспорима Aleksey репутация неоспорима Aleksey репутация неоспорима Aleksey репутация неоспорима Aleksey репутация неоспорима Aleksey репутация неоспорима
    Регистрация
    23.11.2010
    Сообщений
    488
    Сказали 'Спасибо' за это сообщение. :
    8 за это сообщение
    362 Всего
    Загрузки
    15
    Закачек
    0
    Вес репутации
    48

    По умолчанию Обнаружена брешь в платежной системе QIWI

    Это не относится к моему модулю, и не относится к ViartShop. Это косяк самой платежной системы.

    В процессе тестирования HTTP и SOAP протоколов обнаружил неприятную вещь - можно сформировать поддельный http-запрос от интернет-магазина (ИМ) на выставление счета, заблокировав передачу реального запроса. В поддельном запросе изменяется сумма на гораздо меньшую. После оплаты счета на уменьшенную сумму статус заказа в ИМ на основании данных в SOAP-ответе автоматически изменяется на "Оплачен". Таким образом, теоретически можно обмануть ИМ (если не отслеживать уведомления и счета на сайте qiwi.ru), купив товар совсем не за ту цену, которая указана в ИМ. Например, я только-что купил сам у себя автомобильный колесный диск стоимостью 3385 руб. всего лишь за 5 руб.

    Написал в тех. поддержку QIWI с подробным изложением проблемы и примером реализации обмана. В качестве решения проблемы предложил либо добавлять хэш к запросу на выставление счета, либо в SOAP-ответе передавать в ИМ оплаченную сумму. А лучше реализовать и то, и другое.

    Буду ждать от них ответа.

    А пока рекомендую сравнивать суммы оплаченных заказов в своем ИМ и в личном кабинете на qiwi.ru.

    ----------
    PS: Копипастерам - ссылка на этот источник обязательна.
    Последний раз редактировалось Aleksey; 07.01.2012 в 16:37.
    Digg this Post!Bookmark Post in Technorati
    Ответить с цитированием Ответить с цитированием
    Спасибо

  2. Сказали спасибо:

    Georg (08.01.2012) , Liss (07.01.2012) , VST (07.01.2012) , expy (07.01.2012) , exBitrix (07.01.2012) , konsta (07.01.2012) , oldmanager (07.01.2012) , MilkeyWay (07.01.2012)

  3. #2
    Новичок undert на пути к лучшему
    Регистрация
    08.01.2012
    Адрес
    Санкт-Петербург
    Сообщений
    2
    Сказали 'Спасибо' за это сообщение. :
    0 за это сообщение
    0 Всего
    Загрузки
    0
    Закачек
    0
    Вес репутации
    0

    По умолчанию Re: Обнаружена брешь в платежной системе QIWI

    Алексей, на мой взгляд, такие утверждения не совсем корректны.

    Если использовать HTTP протокол, то информацию об оплате можно получать при помощи запроса request-type=33, в ответе система возвращает в том числе и сумму счета в поле sum, которая и будет являться оплаченной суммой. Более того, для работы с HTTP протоколом требуется пароль и логин. Подобный запрос может быть инициирован только Вашим сервером (также имеются параметры по настройке IP фильтров в ЛК).
    Digg this Post!Bookmark Post in Technorati
    Ответить с цитированием Ответить с цитированием
    Спасибо

  4. #3
    Moderator Aleksey репутация неоспорима Aleksey репутация неоспорима Aleksey репутация неоспорима Aleksey репутация неоспорима Aleksey репутация неоспорима Aleksey репутация неоспорима Aleksey репутация неоспорима Aleksey репутация неоспорима Aleksey репутация неоспорима Aleksey репутация неоспорима Aleksey репутация неоспорима
    Регистрация
    23.11.2010
    Сообщений
    488
    Сказали 'Спасибо' за это сообщение. :
    0 за это сообщение
    362 Всего
    Загрузки
    15
    Закачек
    0
    Вес репутации
    48

    По умолчанию Re: Обнаружена брешь в платежной системе QIWI

    То что я написал, относится к одному определенному способу взаимодействия с сервером QIWI, а не для всех возможных вариантов. А именно - выставление счета через HTTP с дальнейшим ожиданием SOAP-ответа об изменении статуса счета.

    Теперь читаем документацию.

    В HTTP-запросе на выставление счета есть такие поля: txn_id, from, to, summ, amount_rub, amount_kop, com, lifetime, check_agt. Не вижу здесь ни логин, ни пароль. Более того, все эти данные передаются в открытом виде, без какой либо подписи в виде хеша. Подделать такой запрос элементарно.

    В SOAP-ответе присутствуют такие поля: login, password, txn, status. Сумма оплаты здесь отсутствует.
    Digg this Post!Bookmark Post in Technorati
    Ответить с цитированием Ответить с цитированием
    Спасибо

  5. #4
    Новичок undert на пути к лучшему
    Регистрация
    08.01.2012
    Адрес
    Санкт-Петербург
    Сообщений
    2
    Сказали 'Спасибо' за это сообщение. :
    0 за это сообщение
    0 Всего
    Загрузки
    0
    Закачек
    0
    Вес репутации
    0

    По умолчанию Re: Обнаружена брешь в платежной системе QIWI

    Aleksey, в soap протоколе используется подпись на основе WSS (есть опция также в настройках SOAP протокола), более того, есть запрос checkBill, позволяющий проверить данные счета:

    <xs:complexType name="checkBillResponse">
    <xs:element minOccurs="0" name="user" type="xs:string"/>
    <xs:element minOccurs="0" name="amount" type="xs:string"/>
    <xs:element minOccurs="0" name="date" type="xs:string"/>
    <xs:element minOccurs="0" name="lifetime" type="xs:string"/>
    <xs:element minOccurs="0" name="status" type="xs:int"/>

    Естественно, многое зависит от уровня реализации взаимодействия, но все таки все средства для полноценной защиты протокола имеются, начиная от IP фильтрации, заканчивая подписями.
    Работаю с QIWI много лет, единственное по более старому xml протоколу, но все равно работаю исходя из собственного запроса к сервису QIWI на проверку данных счета, а не только ожидая уведомлений.
    Последний раз редактировалось undert; 10.01.2012 в 15:05.
    Digg this Post!Bookmark Post in Technorati
    Ответить с цитированием Ответить с цитированием
    Спасибо

  6. #5
    Moderator Aleksey репутация неоспорима Aleksey репутация неоспорима Aleksey репутация неоспорима Aleksey репутация неоспорима Aleksey репутация неоспорима Aleksey репутация неоспорима Aleksey репутация неоспорима Aleksey репутация неоспорима Aleksey репутация неоспорима Aleksey репутация неоспорима Aleksey репутация неоспорима
    Регистрация
    23.11.2010
    Сообщений
    488
    Сказали 'Спасибо' за это сообщение. :
    0 за это сообщение
    362 Всего
    Загрузки
    15
    Закачек
    0
    Вес репутации
    48

    По умолчанию Re: Обнаружена брешь в платежной системе QIWI

    Я в курсе про цифровые подписи и т.д. и т.п. Но речь идет совсем не об этом.
    Я написал не про то, как правильно реализовать общение с сервером QIWI, а про реальную возможность обмануть ИМ, если он сконфигурирован так, как я описал. Это как взлом веб-сервера. Есть хорошо защищенные, а есть дырявые, хотя ПО абсолютно одинаковое.
    Digg this Post!Bookmark Post in Technorati
    Ответить с цитированием Ответить с цитированием
    Спасибо

  7. #6
    Новичок Hopefull на пути к лучшему
    Регистрация
    02.02.2012
    Адрес
    Петропавловск-Камчатский
    Сообщений
    1
    Сказали 'Спасибо' за это сообщение. :
    0 за это сообщение
    0 Всего
    Загрузки
    0
    Закачек
    0
    Вес репутации
    0

    По умолчанию Re: Обнаружена брешь в платежной системе QIWI

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

    ИМХО считаю комбинированный способ самым простым, удобным и достаточным, поэтому реализовывать полноценный СОАП обмен нет никакого желания. Рекомендовал глянуть как это сделано у вебмани. Печально, что у киви нет своего форума, где можно было бы обсудить эти вопросы. Зато есть куча блогов и страничек во всяких соц сетях. ИМХО бред. Написал в ЖЖ комментарий по этому поводу. Вот уже сутки не публикуется.
    Digg this Post!Bookmark Post in Technorati
    Ответить с цитированием Ответить с цитированием
    Спасибо

  8. #7
    Moderator Aleksey репутация неоспорима Aleksey репутация неоспорима Aleksey репутация неоспорима Aleksey репутация неоспорима Aleksey репутация неоспорима Aleksey репутация неоспорима Aleksey репутация неоспорима Aleksey репутация неоспорима Aleksey репутация неоспорима Aleksey репутация неоспорима Aleksey репутация неоспорима
    Регистрация
    23.11.2010
    Сообщений
    488
    Сказали 'Спасибо' за это сообщение. :
    0 за это сообщение
    362 Всего
    Загрузки
    15
    Закачек
    0
    Вес репутации
    48

    По умолчанию Re: Обнаружена брешь в платежной системе QIWI

    Тех. поддержка QIWI упорно молчит! Уже почти месяц прошел...
    Свой модуль переделал под SOAP-протокол без WSS-подписи.
    Digg this Post!Bookmark Post in Technorati
    Ответить с цитированием Ответить с цитированием
    Спасибо

  9. #8
    Moderator Aleksey репутация неоспорима Aleksey репутация неоспорима Aleksey репутация неоспорима Aleksey репутация неоспорима Aleksey репутация неоспорима Aleksey репутация неоспорима Aleksey репутация неоспорима Aleksey репутация неоспорима Aleksey репутация неоспорима Aleksey репутация неоспорима Aleksey репутация неоспорима
    Регистрация
    23.11.2010
    Сообщений
    488
    Сказали 'Спасибо' за это сообщение. :
    0 за это сообщение
    362 Всего
    Загрузки
    15
    Закачек
    0
    Вес репутации
    48

    По умолчанию Re: Обнаружена брешь в платежной системе QIWI

    А вот и подоспел ответ из тех. поддержки QIWI. Ровно через месяц...
    Цитата Сообщение от Qiwi wallet
    Добрый день.
    Такая проблема существует из-за того, что запрос идет с клиенстской стороны. Есть два способа решения этой проблемы.
    1) отключить HTTP-протокол, и работать через XML\SOAP.
    2) принимать уведомления через расширенную ф-ю updateBillExt - в ней к Вам придет дополнительная информация, в частности - оплаченная сумма. Поскольку большинство клиентов - честные люди, и не будут ничего подменять - то все будет работать нормально. Если же кто-то подменит сумму - то Вы об этом узнаете из уведомления и сможете как-то отреагировать.
    Т.е. факт существования проблемы признали, но в качестве решения предложили отказаться от комбинированного протокола, вместо того, чтобы его обезопасить (добавить пару хэшей, это не сложно).
    Digg this Post!Bookmark Post in Technorati
    Ответить с цитированием Ответить с цитированием
    Спасибо

  10. #9
    Viarts Man Georg скоро придёт к известности Georg скоро придёт к известности
    Регистрация
    17.07.2011
    Сообщений
    240
    Сказали 'Спасибо' за это сообщение. :
    0 за это сообщение
    10 Всего
    Загрузки
    11
    Закачек
    0
    Вес репутации
    8

    По умолчанию Re: Обнаружена брешь в платежной системе QIWI

    Поскольку большинство клиентов - честные люди, и не будут ничего подменять - то все будет работать нормально. Если же кто-то подменит сумму - то Вы об этом узнаете из уведомления и сможете как-то отреагировать.
    Железный аргумент
    Digg this Post!Bookmark Post in Technorati
    Ответить с цитированием Ответить с цитированием
    Спасибо


 

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

     

Метки этой темы

Социальные закладки

Социальные закладки

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
Back to top