Необычный способ найти XSS-инъекцию за одну минуту Всем привет! Я думаю, что многие разработчики слышали, что нельзя доверять никакому вводу пользователя, и это действительно так. Однако есть некоторые места, которые часто упускаются из виду, что приводит к уязвимостям. И одно из таких мест ……. регистрация . Возможно, это не то, что вы хотели услышать, но позвольте мне объяснить. При регистрации нового пользователя или обновлении его данных разработчики не забывают валидировать поля ввода, но что будет, если мы поместим полезную нагрузку прямо в аккаунт Google (в поля имени и фамилии), а затем зарегистрируемся на сайт через этот аккаунт? Мы можем получить сохраненный XSS. Перейдем к примеру Около месяца назад я начал свое исследование одной из программ вознаграждения за обнаружение ошибок, и с их разрешения я могу раскрыть подробности. это был TimeWeb Ltd — российский хостинг-провайдер. Как всегда, я начал с регистрации учетной записи, чтобы расширить сферу своей деятельности. Чтобы сэкономить время, я решил зарегистрироваться через социальные сети, используя для этого аккаунт Яндекса (Яндекс — российский аналог Google), где мое полное имя «>{{7*7}}<img> И после регистрации через эту вредоносную учетную запись Яндекса, в моем общедоступном профиле TimeWeb я увидел «>49<img>. Код выполнен, значит, мы можем провести XSS-атаку. Нам просто нужно зарегистрировать учетную запись Яндекса со следующим именем: Код: {{constructor.constructor(‘alert(`XSS`)’)()}} Но вот проблема. Мы не можем зарегистрировать такой аккаунт из-за ограничений на количество спецсимволов в поле имени. Решение довольно простое, разделите полезную нагрузку на две части, одну часть для имени, а другую для фамилии. А поскольку полное имя находится в одном теге <span>, полезная нагрузка будет объединена. Нам достаточно зарегистрироваться через учетную запись Яндекса на целевом сайте. И Бум…. У нас есть XSS-уязвимость. Мне также удалось взломать довольно много сайтов таким образом. PS: Учетная запись Google не может использоваться для использования XSS, поскольку Google ограничивает ввод некоторых символов, но ее все же можно использовать для поиска множества других ошибок. Однако есть несколько других сервисов, таких как Steam, Amazon, которые могут быть полезны для подобных атак. https://s2.piratebuhta.info/
Данные, получаемые напрямую от юзера, все уже привыкли фильтровать. А то, что получают через API со сторонних ресурсов, часто вообще не проверяют. Так что тема достаточно актуальна. Сама XSS тоже неплохая. Выполняется на основном домене, поэтому можно обращаться к любым поддоменам. Только ограниченная длина кода мешает.