HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > БЕЗОПАСНОСТЬ И УЯЗВИМОСТИ > Песочница
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #1  
Старый 03.02.2014, 11:11
big_BRAT
Познающий
Регистрация: 24.12.2006
Сообщений: 90
С нами: 10200612

Репутация: 168
По умолчанию

Добрый день, нужна помощь, существует самописный сервер который принимает команды через json-rpc v2.

Пример уязвимого кода:

PHP код:
[COLOR="#000000"][COLOR="#0000BB"]$userid[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]$_GET[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'userid'[/COLOR][COLOR="#007700"]];

[/
COLOR][COLOR="#0000BB"]$code[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#DD0000"]'{"method":"GetUser", "id":"1", "params":["$userid"]}'[/COLOR][COLOR="#007700"];[/COLOR][/COLOR
Пример запроса:

Код:
{"method":"GetUser", "id":"1", "params":["777"]}
Уязвимый параметр userid, через него формирую второй запрос на добавление пользователя, на выходе получаю такой запрос:

Пример запроса:

Код:
{"method":"GetUser", "id":"1", "params":["777"]},{"method":"AddUser", "id":"1", "params":["system"]}
Но есть проблема так как у нас сразу определено что это объект (начинается с { сервер обрабатывает только первый запрос, второй игнорирует), если бы сразу было определено что это массив объектов (начинался бы с [{), то запрос выполнился на все 100%.

Вопрос: как то можно заставить сервер выполнить второй запрос?
 
Ответить с цитированием
Ответ





Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.

×

Внести депозит

Введите сумму USDT:

Принимается только USDT TRC20. Fake/Flash USDT не засчитывается.

×

Вывести депозит

Сумма USDT:

Ваш USDT TRC20 кошелек:

Заявка будет отправлена администратору.