Открыть Электронные книги
Категории
Открыть Аудиокниги
Категории
Открыть Журналы
Категории
Открыть Документы
Категории
@webr0ck
whoami
• Twitter: @webr0ck
• Pentester @Digital Security
• N Red Team member
• Bug hunter (Yandex, Mail.ru, QIWI)
• Sometimes a speaker (ZeroNights, Defcon)
Александр Романов
Заместитель директора
департамента аудита
al.romanov@dsec.ru
Digital Security 2
Содержание
01 04
Что такое 3DS И что в итоге?
Терминология и область применения Описание найденных уязвимостей
02 05
Как это работает? Заключение
Варианты использования и версии Полезные ссылки
03
А поподробнее?
Разбираемся в передаваемых внутри
системы сообщениях
Digital Security 3
Что такое 3DS
«3D» означает «3 домена», в которых работает протокол. Это домен эмитента (домен банка,
выдавшего карту), домен эквайера (домен продавца и банка, в который перечисляются
деньги) и домен совместимости (домен, предоставляемый платёжной системой для
поддержки протокола 3D Secure).
Технология впервые была предложена платежной системой Visa в рамках услуги Verified by
Visa (VbV). Сегодня услуги, основанные на данном протоколе, также приняты и другими ПС:
Digital Security 4
Что такое 3DS
Digital Security 5
Как это работает?
Digital Security 6
Как это работает?
Digital Security 7
Как это работает?
v.1, но чуть более подробно
PaReq
User
Emitent
Shop(MPI)
Bank(ACS)
PaRes
PaRes VERes
СRRes и
VERes
Interoperability Domain
In user browser
Access Control Server (ACS)
Hidden Communication Merchant plug-in (MPI)
Digital Security 8
А поподробнее?
VEReq и VERes
Digital Security 9
А поподробнее?
Pareq
url: https://site.ru/acs/pareq
MD=5ebde4d3-3796-7a4d-5ebd-
e4d300003dd0&PaReq=eJxVUstywjAM%2FBUm98QPDDiMcIc2dMoh0AedKb2ljiDpNAFMUgJfXzuFPnzSrj
QraWW4aoqPzieafb4pRx4LqNfBUm%2FSvFyPvOfFrS%2B9KwWLzCBGT6hrgwpi3O%2BTNXbydOS96VDo
cEX9FePaF1IIPwlF6qeoV7Inqeyh9hTcjx9xp%2BDcSNk%2BAQdygVbR6CwpKwWJ3l1PZ0rwQZ9SIGcIBZpp
pAaSuse7POwC%2BeagTApUy%2FEsmrwE8Xw2WQJpKdCbuqzMUfWFLb4AqM2HyqpqOyTkcDgExabEY3B
MyhSbwNRAXB7I70D3tYv2Vq%2FJUzU7Teg8ejjE7xMWn9Z8Hk35fKEtNx4BcRWQJhUqTplklIoOC4c9NuwO
gLQ8JIUbRDHK2vW%2BEWxdk%2FG%2F1F8KrO%2FGnuWyywUBNls7v62wZv7EQH5nvrlzlurKGsUGNOwy
0ZfhXf5udlkmV7ey98rfmnjpjG6LnGJubeKUslbSASBOhpxvSM7nt9G%2Fb%2FEFnkK9RA%3D%3D&TermU
rl=https%3A%2F%shop.ru%2Fgates%2F3ds
Digital Security 10
А поподробнее?
Git: https://github.com/webr0ck/3D-Secure-audit-cheatsheet
Digital Security 11
А поподробнее?
• Signing Certificate
• Signature
• Digest это SHA256 из строки:
Нужные поля из Message + Secret
Digital Security 12
А поподробнее?
• <ThreeDSecure><Message
id="poEpShmja0A36YWe0JOyr4Zt"><Error><version>1.0.2</version><errorCode>99</errorCode><errorMes
sage>Permanent system failure.</errorMessage><errorDetail>Failed to build error
message.</errorDetail></Error></Message></ThreeDSecure>
Digital Security 13
А поподробнее?
Digital Security 14
А поподробнее?
Digital Security 15
А поподробнее?
ACS эндпоинты
• /acs/pareq/___uid___
• /acspage/cap?RID=14&VAA=B
• /way4acs/pa?id=____id____
• /PaReqVISA.jsp
• /PaReqMC.jsp
• /mdpayacs/pareq
• /acs/auth/start.do
Digital Security 16
Обновляемся до v.2
Digital Security 17
Как это работает? v.2
Digital Security 18
Как это работает? v.2
Digital Security 19
А поподробнее?
Digital Security 20
А поподробнее?
Digital Security 21
Проблемы (найденные и возможные)
На что смотреть в v1
• XXE в параметре Pareq:
• DOS
• File read
• SSRF
• XSS в параметре TermUrl
• Blind XSS - все параметры и заголовки попадают в систему мониторинга
• Pareq не подписан, но в нем есть цена!
На что смотреть в v2
• Blind XSS - все параметры и заголовки попадают в систему мониторинга
• Challenge flow, главное его поймать…
Digital Security 22
Заключение
Выводы
• Чем больше систем и механизмов защиты задействовано в процессе платежа, тем выше
защищенность средств клиента
• Сложные и важные бизнес-процессы подвержены достаточно простым уязвимостям
• Важно внимательно изучать документацию систем, которые вы встречаете
• 3ds SaaS
Полезные ссылки
• https://github.com/w3c/webpayments/wiki
• https://www.emvco.com/emv-technologies/3d-secure/
• https://3dsserver.netcetera.com/3dsserver-saas/doc/current/schema/3ds-api.html
• https://github.com/webr0ck/3D-Secure-audit-cheatsheet
Digital Security 23
inbox@dsec.ru +7 (495) 223-07-86
Спасибо за внимание!