Чит-лист регистрации от Алексея Лупана — различия между версиями
(Новая страница: «==Регистрация нового пользователя== * Зарегистрировать нового пользователя с логином new_user....») |
|||
(не показано 11 промежуточных версий 4 участников) | |||
Строка 14: | Строка 14: | ||
==Логин под существуюшим пользователем – смена пароля:== | ==Логин под существуюшим пользователем – смена пароля:== | ||
* Создать аккаунт с максимально возможным числом символом в логине | * Создать аккаунт с максимально возможным числом символом в логине | ||
− | - Попробовать залогиниться | + | - Попробовать залогиниться<br> |
− | - Попробовать сменить пароль | + | - Попробовать сменить пароль<br> |
− | Причина: возможно несовпадение максимумов между строками ввода нового пароля, ввода пароля, смены пароля, и в БД. | + | Причина: возможно несовпадение максимумов между строками ввода нового пароля, ввода пароля, смены пароля, и в БД. <br> |
− | Дополнительно: проделать те же шаги, но с количеством символов макс+1 | + | - Дополнительно: проделать те же шаги, но с количеством символов макс+1<br> |
− | - Дополнительно: проделать те же шаги, но | + | - Дополнительно: проделать те же шаги, но <br> |
− | с макс. количеством разрешенных символов + пробел (и другие безобидные); | + | с макс. количеством разрешенных символов + пробел (и другие безобидные);<br> |
− | с макс. количеством разрешенных символов + 1 запрещенный. | + | с макс. количеством разрешенных символов + 1 запрещенный.<br> |
* Создать аккаунт с максимально возможным числом символом в пароле | * Создать аккаунт с максимально возможным числом символом в пароле | ||
− | - Попробовать залогиниться | + | - Попробовать залогиниться<br> |
− | - Попробовать сменить пароль (а может – и сам логин?) | + | - Попробовать сменить пароль (а может – и сам логин?)<br> |
Причина та же: возможно несовпадение максимумов между строками ввода нового пароля, ввода пароля, смены пароля, и в БД. | Причина та же: возможно несовпадение максимумов между строками ввода нового пароля, ввода пароля, смены пароля, и в БД. | ||
+ | |||
==Ввод некорректных данных== | ==Ввод некорректных данных== | ||
* Ввeсти корректный логин и корректный пароль. Expected: успешно залогинен. Разлогиниться. Почистить кэш и куки (открыть/закрыть браузер?). | * Ввeсти корректный логин и корректный пароль. Expected: успешно залогинен. Разлогиниться. Почистить кэш и куки (открыть/закрыть браузер?). | ||
Строка 63: | Строка 64: | ||
* Залогиниться под корректными логином/паролем. Сменить пароль. Залогиниться под новым паролем. Expected: пароль сменен, можно зайти. | * Залогиниться под корректными логином/паролем. Сменить пароль. Залогиниться под новым паролем. Expected: пароль сменен, можно зайти. | ||
* Смена пароля и заход под старым | * Смена пароля и заход под старым | ||
− | - запомнить пароль | + | - запомнить пароль<br> |
− | - войти в систему | + | - войти в систему<br> |
− | - поменять пароль | + | - поменять пароль<br> |
− | - разлогиниться | + | - разлогиниться<br> |
− | - залогиниться обратно со старым паролем. Expected: не пускает. | + | - залогиниться обратно со старым паролем. <br>Expected: не пускает.<br> |
* Залогиниться под корректными логином/паролем. Переименовать аккаунт. Перегрузить браузер. Залогиниться под старыми логином/паролем. Expected: не пускает. Залогиниться под новым логином/паролем. Expected: пускает. | * Залогиниться под корректными логином/паролем. Переименовать аккаунт. Перегрузить браузер. Залогиниться под старыми логином/паролем. Expected: не пускает. Залогиниться под новым логином/паролем. Expected: пускает. | ||
* Залогиниться под корректными логином/паролем. Удалить аккаунт. Перегрузить браузер. Залогиниться под старыми логином/паролем. Expected: не пускает. | * Залогиниться под корректными логином/паролем. Удалить аккаунт. Перегрузить браузер. Залогиниться под старыми логином/паролем. Expected: не пускает. | ||
+ | |||
==Особые случаи== | ==Особые случаи== | ||
* Ввeсти корректный логин и корректный пароль. Скопировать полученный url и вставить его в другой браузер. Expected: It should not display the user’s welcome page. | * Ввeсти корректный логин и корректный пароль. Скопировать полученный url и вставить его в другой браузер. Expected: It should not display the user’s welcome page. | ||
Строка 77: | Строка 79: | ||
- применить все варианты некорректных данных, включая запрещенные символы, и пограничные значения; | - применить все варианты некорректных данных, включая запрещенные символы, и пограничные значения; | ||
- передать еше какой-нибудь параметр из существующих, напр. «login=bla-bla&password=bla-bla&state=update» | - передать еше какой-нибудь параметр из существующих, напр. «login=bla-bla&password=bla-bla&state=update» | ||
+ | |||
+ | [[Категория:Читерство]] |
Текущая версия на 20:25, 26 марта 2021
Содержание
Регистрация нового пользователя
- Зарегистрировать нового пользователя с логином new_user. Expected: можно.
- Зарегистрировать нового пользователя с логином new_user_test. Expected: можно.
- Зарегистрировать нового пользователя с логином new-user. Expected: можно.
- Зарегистрировать нового пользователя с логином new1234user. Expected: можно.
- Зарегистрировать нового пользователя с логином new@user. Expected: alert.
- Зарегистрировать нового пользователя с логином newuser и паролем newuser (полное совпадение). Expected: alert.
- использование только ASCII символов в логине – Expected: alert.
- регистрация пользователя с логином, содержащим пробелы или состоящим из одних пробелом – Expected: alert.
- регистрация пользователя с паролем, содержащим пробелы или состоящим из одних пробелом – Expected: alert.
- регистрация пользователя с логином содержащим XSS или SQL injections. – Expected: alert.
- а можно ли зарегистрировать пользователя “admin”, и пользователя “аdmin” (где а – из русской расскладки)?
- В некоторых случаях разработчики проверяют пользователя в базе с помощью LIKE, и не обрабатывают user input. Поэтому нужно проверить комбинацию %%%/%%% (знак % повторяется 3 раза, чтобы обойти валидацию на минимальную длину).
Логин под существуюшим пользователем – смена пароля:
- Создать аккаунт с максимально возможным числом символом в логине
- Попробовать залогиниться
- Попробовать сменить пароль
Причина: возможно несовпадение максимумов между строками ввода нового пароля, ввода пароля, смены пароля, и в БД.
- Дополнительно: проделать те же шаги, но с количеством символов макс+1
- Дополнительно: проделать те же шаги, но
с макс. количеством разрешенных символов + пробел (и другие безобидные);
с макс. количеством разрешенных символов + 1 запрещенный.
- Создать аккаунт с максимально возможным числом символом в пароле
- Попробовать залогиниться
- Попробовать сменить пароль (а может – и сам логин?)
Причина та же: возможно несовпадение максимумов между строками ввода нового пароля, ввода пароля, смены пароля, и в БД.
Ввод некорректных данных
- Ввeсти корректный логин и корректный пароль. Expected: успешно залогинен. Разлогиниться. Почистить кэш и куки (открыть/закрыть браузер?).
- Оставить оба поля пустыми. Нажать на Login. Expected: alert.
- Оставить пустое поле login. Нажать на Login. Expected: alert.
- Оставить пустое поле password. Нажать на Login. Expected: alert.
- Ввeсти корректный логин и некорректный пароль. Expected: alert.
- Ввeсти некорректный логин, но корректный пароль. Expected: alert.
- Ввeсти некорректный логин и некорректный пароль. Expected: alert.
- В поле логина ввeсти корректный пароль, а в поле пароля ввести корректный логин. Expected: alert.
- Ввeсти логин <script>alert(123)</script> и корректный пароль. Expected: alert.
- Ввeсти в поле логина SQL запрос (‘ or ‘a’ = ‘a’; DROP TABLE user; SELECT * FROM blog WHERE code LIKE ‘a%’;) — структура запроса зависит от DB.
- Ввeсти в поле логина скрипт (<script>alert(“Hello, world!”)</alert>, <script>document.getElementByID(“…”).disabled=true</script>)
- Ввeсти в поле логина html-теги (<form action=”http://live.hh.ru”><input type=”submit”></form>)
- Ввeсти в поле логина сложную последовательность символов вроде “♣☺♂” , “”‘~!@#$%^&*()?>,./\<][ /*<!–”", “${code}”;–>
- Ввeсти в поле логина текст состоящий из одних пробелов;
- Ввeсти в поле логина правильный логин, начинающийся с нескольких пробелов, и правильный пароль. Expected: alert.
- Ввeсти в поле логина правильный логин, после которого следуют нескольких пробелов, и правильный пароль. Expected: alert.
- Ввeсти корректный логин и корректный пароль. Нажать на кнопку “Назад” в браузере. Expected: непонятно – или The page should be expired, или увидеть те же поля. Если второе – ввести в поля снова логин и пароль. Перейти. Залогинен?
- Ввeсти корректный логин. Указать пароль с использованием букв РАЗНОГО регистра.
- Ввeсти логин с использованием букв РАЗНОГО регистра. Указать корректный пароль.
- Зарегистрировать пользователя с логином VasEA. Expected: можно. Попытаться залогиниться, используя в логине буквы только одного регистра (vasea). Expected: можно.
- Зарегистрировать пользователя с логином petea/iZMaIL. Expected: можно. Попытаться залогиниться, используя в пароле буквы только одного регистра (petea/izmail). Expected: alert. Алерт должен указать на причину?
- Проверить ограничение на длину логина и пароля при регистрации? Ввести qqweqweqweqweqweqweqweqweqweqweqweqweqweqwe / qqweqweqweqweqweqweqweqweqweqweqweqweqweqwe
- Ввести логин/пароль Aa!@#$%^&*()-_+=`~/\,.?><|b / PaSSword!@#$%^&*()-_+=`~/\,.?><| Есть ли ограничения на допустимые символы?
- Ввести логин/пароль Иван/Болван Возможно ли создание имени/пароль с например кириллицей, если да – то как потом эта форма отрабатывает?
- Ввeсти логин ksjdksbdshdoueywfgjwevflwjeyfvowyecsydcvsldc (несуществующий в базе), оставить поле пароля пустым. Expected: such user doesn’t exist.
- Открыть первый бразуер. Залогиниться валидным юзером. Открыть второй браузер. Залогиниться тем же самым валидным юзером. Expected: можно. Разлогиниться в первом браузере. Expected: можно. Перейти во второй браузер. Сделать что-нибудь, что может сделать только залогиненный юзер. Expected: можно.
- Открыть браузер. Ввести в поля валидные данные. Нажать на кнопку Login. Отключить интернет. Получить “страница недоступна”. Подключить интернет обратно. Зайти на сайт. Expected: не залогинен.
- Блокируется ли акаунт/IP того, кто введет n-количество раз не правильный пароль?
- Установить фокус на поле логина. Ввести текст. Нажать кнопку Tab на клавиатуре. Expected: фокус перемещается на поле пароля. Ввести текст. Нажать кнопку Tab на клавиатуре. Expected: фокус перемещается на галочку “remember me”. Нажать кнопку Space на клавиатуре. Expected: появилась галочка. Нажать кнопку Tab на клавиатуре. Expected: фокус перемещается на кнопку Login. Нажать кнопку Enter на клавиатуре. Expected: процесс пошёл.
- User should be a registered user with his/her account expired. Clicks on the Login button.
- A message should appear stating ‘Your account has been expired’.
- Проверка на ‘Remember me on this computer’. Заполнить поля валидными данными. Чекнуть галочку Remember me. Залогиниться. Закрыть браузер. Открыть бразуер. Открыть страницу сайта. Expected: логин для входа не требуется.
- Ввести логин существующего пользователя, обрамив его уголками: <userlogin>. Причина: иногда валидатор вырезает запрещенные символы и проверяет остаток, однако после прохождения проверки передает дальше оригинальную строку.
Смена/удаление логинов
- В базе или настройках сайта указать, что срок годности определенного логина истек. Залогиниться под этим логином. Expected: Alert.
- Залогиниться под корректными логином/паролем. Сменить пароль. Залогиниться под новым паролем. Expected: пароль сменен, можно зайти.
- Смена пароля и заход под старым
- запомнить пароль
- войти в систему
- поменять пароль
- разлогиниться
- залогиниться обратно со старым паролем.
Expected: не пускает.
- Залогиниться под корректными логином/паролем. Переименовать аккаунт. Перегрузить браузер. Залогиниться под старыми логином/паролем. Expected: не пускает. Залогиниться под новым логином/паролем. Expected: пускает.
- Залогиниться под корректными логином/паролем. Удалить аккаунт. Перегрузить браузер. Залогиниться под старыми логином/паролем. Expected: не пускает.
Особые случаи
- Ввeсти корректный логин и корректный пароль. Скопировать полученный url и вставить его в другой браузер. Expected: It should not display the user’s welcome page.
- Подумать об обработке операции “вставить”, т.е. рассмотреть различные способы ввода данных.
- Как формируется запрос к серверу с данной формы (get/post)? Как передается пароль – в виде хэша или плэйн-текстом в теле ПОСТа?
- Если данные передаются в адресной строке браузера в виде «login=bla-bla&password=bla-bla»
- применить все варианты некорректных данных, включая запрещенные символы, и пограничные значения; - передать еше какой-нибудь параметр из существующих, напр. «login=bla-bla&password=bla-bla&state=update»