Size: a a a

2021 February 24

SS

Sergey Skvortsov in supapro.cxx
Тогда почитай документацию к обычному printf
В текущей версии сервер может выполнить произвольный код в твоей программе
Правильно evbuffer_add_printf(OutBuf, "%s", yourString)
источник

M

Mysle in supapro.cxx
Sergey Skvortsov
Тогда почитай документацию к обычному printf
В текущей версии сервер может выполнить произвольный код в твоей программе
Правильно evbuffer_add_printf(OutBuf, "%s", yourString)
Окей, спасибо =)
источник

RS

Roman Storozhenko in supapro.cxx
Sergey Skvortsov
Ты засовываешь полученную строчку в форматную строку printf
Это вообще катастрофическая уязвимость:)
Почему это уязвимость?
источник

s

std::slavik in supapro.cxx
Roman Storozhenko
Почему это уязвимость?
потому что принтф небезопасна
источник

RS

Roman Storozhenko in supapro.cxx
std::slavik
потому что принтф небезопасна
Конкретней можно?
источник

SS

Sergey Skvortsov in supapro.cxx
Roman Storozhenko
Почему это уязвимость?
источник

RS

Roman Storozhenko in supapro.cxx
Даты довольно древние
источник

RS

Roman Storozhenko in supapro.cxx
Актуально ещё?
источник

SS

Sergey Skvortsov in supapro.cxx
Безусловно
источник

RS

Roman Storozhenko in supapro.cxx
Ну и приложение может быть не секьюрное
источник

s

std::slavik in supapro.cxx
Roman Storozhenko
Конкретней можно?
в форматной строке указывается  тип и количество аргументов и ориентируясь на эту строку из стека берутся переменные которые друг за другом лежат
источник

s

std::slavik in supapro.cxx
если например в форматной строке будет больше аргументов указано чем подано - это уб по сути
источник

s

std::slavik in supapro.cxx
принтф полезет дальше - уже не в свою память
источник

s

std::slavik in supapro.cxx
и можно что угодно во первых прочитать при помощи %x %s, во вторых - записать при помощи %n
источник

s

std::slavik in supapro.cxx
и например переписать адрес возврата на свою функцию, если ты даёшь пользователю возможность форматную строку формировать - он может заставить процессор выполнять произвольный код
источник

SS

Sergey Skvortsov in supapro.cxx
define не работает
источник

RS

Roman Storozhenko in supapro.cxx
std::slavik
в форматной строке указывается  тип и количество аргументов и ориентируясь на эту строку из стека берутся переменные которые друг за другом лежат
Это уже довольно глубокое внедрение
источник

И

Илья in supapro.cxx
Да кто такой этот ваш УБ?
источник

RS

Roman Storozhenko in supapro.cxx
Илья
Да кто такой этот ваш УБ?
Undefined behavior
источник

AN

Alexander N in supapro.cxx
Принтф va_end же вызывает при окончании списка плейсхолдеров вроде
источник