так чтобы найти этот баг недостаточно иметь почту с «amount100», нужно еще подделать пост-запрос, отправленный к определенной платежной системе. Скорее всего имел доступ к соответствующей части кода, после изучения которого и смог эту уязвимость воспроизвести
Почему бы не создать почту с включающий в себя значение «amount100»Там всё довольно забавно. Такая мысль наверняка не возникла на пустом месте, она закономерно появилась после изучения того, как работает API.
Насколько я понял, есть POST-запрос вида "var_a=value1&var_b=value2" и он защищён хешем, при подсчёте которого игнорируются спецсимволы '=' и '&'. Т.е. по факту хеш считается от "var_avalue1var_bvalue2". Поэтому спецсимволы можно убирать и добавлять, и сервер будет считать запрос валидным. Т.е. "var_a=value1" можно превратить в "var=_avalue1" и т.п.
Одним из параметров запроса является e-mail. Поэтому чувак зарегал мыло с "amount100" в адресе, поменял оригинальный "amount=1" на "amount1" (просто пустой аргумент, который будет игнориться), а "email=amount100@example.com" заменил на что-то вроде "email&amount=100&@example.com".
Хеш остался прежним (символы на своих местах), а суть запроса изменилась.
Если писал хоть раз запросы и апи понимаешь как они все работают, а работают они одинаково примерно, поэтому просто думаешь как бы сделал ты такой код и понимаешь, как работает чужой код. А дальше два пути мотивации заработать за поиск бага или набаблить с помощью него, или и то и другое.
Комментарий недоступен
1)Потому что это достаточно примитивный судя по описанию баг
2)amount это не просто фраза это название атакуемого поля
3)есть работа такая уязвимости и баги искать, за это деньги платят.
так чтобы найти этот баг недостаточно иметь почту с «amount100», нужно еще подделать пост-запрос, отправленный к определенной платежной системе. Скорее всего имел доступ к соответствующей части кода, после изучения которого и смог эту уязвимость воспроизвести
Скорее всего слил кто-то из сотрудников.
мб узнал чего из алгоритмов через риверс-инженеринг
Комментарий недоступен
Почему бы не создать почту с включающий в себя значение «amount100»Там всё довольно забавно. Такая мысль наверняка не возникла на пустом месте, она закономерно появилась после изучения того, как работает API.
Насколько я понял, есть POST-запрос вида "var_a=value1&var_b=value2" и он защищён хешем, при подсчёте которого игнорируются спецсимволы '=' и '&'. Т.е. по факту хеш считается от "var_avalue1var_bvalue2". Поэтому спецсимволы можно убирать и добавлять, и сервер будет считать запрос валидным. Т.е. "var_a=value1" можно превратить в "var=_avalue1" и т.п.
Одним из параметров запроса является e-mail. Поэтому чувак зарегал мыло с "amount100" в адресе, поменял оригинальный "amount=1" на "amount1" (просто пустой аргумент, который будет игнориться), а "email=amount100@example.com" заменил на что-то вроде "email&amount=100&@example.com".
Хеш остался прежним (символы на своих местах), а суть запроса изменилась.
Если писал хоть раз запросы и апи понимаешь как они все работают, а работают они одинаково примерно, поэтому просто думаешь как бы сделал ты такой код и понимаешь, как работает чужой код. А дальше два пути мотивации заработать за поиск бага или набаблить с помощью него, или и то и другое.