• XSS.stack #1 – первый литературный журнал от юзеров форума

Процесс регистрации на сайте

LIGUL

RAID-массив
Пользователь
Регистрация
04.05.2023
Сообщения
69
Реакции
35
Добрый день, форум.
На одном из сайтов запрос при регистрации выглядит вот так:
Код:
POST /register HTTP/2
{"email":"anymailmail@mail.com","password":"anypasword"}
При этом во время регистрации можно триггернуть на сервере вот такую ошибку и он выдаст используемую в БД формулу:
Код:
{"message":"insert into `users` (`admin_note`, `created_at`, `email`, `first_email`, `is_admin`, `is_alt`, `is_suspicious`, `name`, `password`, `referrer_id`, `updated_at`) values (NULL, '2025-04-13 12:56:24', 'anymailmail@mail.com', 'anymailmail@mail.com', false, true, false, 'Any Name', '$scrypt$n=16384,r=8,p=1$TYmEmb1f6U75npB7ZHvIww$xXe0ICeC+ov4sd+q9BHDc9yMN+6YKMcXYoirIYMUYWNReG5zONkMN0ae9wDbh+cuePOJUeEq6R7xhHqE0A5U7A', NULL, '2025-04-13 12:56:24') - Duplicate entry 'anymailmail@mail.com' for key 'users.users_email_unique'"}
Можно ли с этим что-то сделать? Всё ещё учусь :)
 
Добрый день, форум.
На одном из сайтов запрос при регистрации выглядит вот так:
Код:
POST /register HTTP/2
{"email":"anymailmail@mail.com","password":"anypasword"}
При этом во время регистрации можно триггернуть на сервере вот такую ошибку и он выдаст используемую в БД формулу:
Код:
{"message":"insert into `users` (`admin_note`, `created_at`, `email`, `first_email`, `is_admin`, `is_alt`, `is_suspicious`, `name`, `password`, `referrer_id`, `updated_at`) values (NULL, '2025-04-13 12:56:24', 'anymailmail@mail.com', 'anymailmail@mail.com', false, true, false, 'Any Name', '$scrypt$n=16384,r=8,p=1$TYmEmb1f6U75npB7ZHvIww$xXe0ICeC+ov4sd+q9BHDc9yMN+6YKMcXYoirIYMUYWNReG5zONkMN0ae9wDbh+cuePOJUeEq6R7xhHqE0A5U7A', NULL, '2025-04-13 12:56:24') - Duplicate entry 'anymailmail@mail.com' for key 'users.users_email_unique'"}
Можно ли с этим что-то сделать? Всё ещё учусь :)
По идее нет. Можно было бы сделать, если бы ты туда кавычку воткнул, а она тебе примерно похожее содержание выдало.

Хотя я вижу там какой-то хеш. Это может быть захешированный пасс пользователя? Но я не уверен.
 
По идее нет. Можно было бы сделать, если бы ты туда кавычку воткнул, а она тебе примерно похожее содержание выдало.

Хотя я вижу там какой-то хеш. Это может быть захешированный пасс пользователя? Но я не уверен.
Да, хешированный пас
 
По идее нет. Можно было бы сделать, если бы ты туда кавычку воткнул, а она тебе примерно похожее содержание выдало.

Хотя я вижу там какой-то хеш. Это может быть захешированный пасс пользователя? Но я не уверен.
Можно в поле пароля такую кавычку воткнуть `, это можно как-то раскрутить?
 
так тебе ошибку\запрос при этом сыплет или нет?
С полем password я так понимаю сделать ничего нельзя, потому что оно экранируется. А вот с полем email я могу использовать такую кавычку ' , но не могу использовать пробелы/скобки/запятые.
Если ввести 'ewiofwefio@mail.com то всё отлично, ошибок нет
 
Duplicate entry 'anymailmail@mail.com' for key 'users.users_email_unique'
Очень похоже на error-based sql injection, но если скобки, пробелы и запятые нельзя, то не проэксплуатируешь. Поле name не реагирует на кавычку?
 
{"message":"insert into `users` (`admin_note`, `created_at`, `email`, `first_email`, `is_admin`, `is_alt`, `is_suspicious`, `name`, `password`, `referrer_id`, `updated_at`) values (NULL, '2025-04-13 12:56:24', 'anymailmail@mail.com', 'anymailmail@mail.com', false, true, false, 'Any Name', '$scrypt$n=16384,r=8,p=1$TYmEmb1f6U75npB7ZHvIww$xXe0ICeC+ov4sd+q9BHDc9yMN+6YKMcXYoirIYMUYWNReG5zONkMN0ae9wDbh+cuePOJUeEq6R7xhHqE0A5U7A', NULL, '2025-04-13 12:56:24') - Duplicate entry 'anymailmail@mail.com' for key 'users.users_email_unique'"}
попробуй вот эти все поля передать сам в формате json, или выборочные поля типа "is_admin" = "1".
Судя по ошибке приложуха отдает ошибки связанные с БД, так что и кавычки конечно тоже попробуй, в идеале шли несколько запросов каждый раз добавляя по одному параметру которые ты раскрыл а так же отдельно каждый параметр передай одиночно, может быть что-то по типу IDOR но в области переменных. Обязательно json шли
 
попробуй вот эти все поля передать сам в формате json, или выборочные поля типа "is_admin" = "1".
Судя по ошибке приложуха отдает ошибки связанные с БД, так что и кавычки конечно тоже попробуй, в идеале шли несколько запросов каждый раз добавляя по одному параметру которые ты раскрыл а так же отдельно каждый параметр передай одиночно, может быть что-то по типу IDOR но в области переменных. Обязательно json шли
Хорошо, проверю. Но вообще остальные поля устанавливаются по-умолчанию, и скорее всего сервер просто не будет обрабатывать их
 


Напишите ответ...
  • Вставить:
Прикрепить файлы
Верх