Возможность поломки приложения и в последствии дистрибутива путем ввода ]''[ в блоке Логин #280
Open
opened 3 months ago by rodion.n
·
26 comments
Loading…
Reference in new issue
There is no content yet.
Delete Branch '%!s(<nil>)'
Deleting a branch is permanent. It CANNOT be undone. Continue?
В логин можно ввести символы в соотвествии с глобальным конфигурационным файлом например:

И это можно даже сохранить:

После чего нельзя отредактировать ни один профиль, и профиль созданный со скобочками нельзя удалить (обычные профили можно).
Логи программы:
После чего конфигурационный файл ломается и все профили кроме админа пропадают

860e2a2743Возникновение следующего. также теперь ничего нельзя редачить

Ну и еще вот, незнаю как это работает, но таким приколом можно суперадмина сломать (после действий выше) Хотя возможно совпадение
Возможность поломки приложения путем ввода ]''[ в блоке Логинto Возможность поломки приложения и в последствии дистрибутива путем ввода ]''[ в блоке Логин 3 months agoВсе недопустимые в строке Логин символы которые ломают конфигурационный файл:
c9e81e8c70Исправлено. Закрываю.
Теперь проблема в следующем, теперь в Имя пользователя нельзя вводить какие-либо другие символы кроме английских букв в нижнем регистре и цифр
7e0ad8747fИсправлено. Закрываю. Теперь уж точно.
Нужно разобраться, т.к. ограничений серьёзных нет на имена:
/etc/passwd
login : password : UID : GID : GECOS : home : shell
login - Регистрационные имена должны быть уникальными и представлять собой строки не длиннее 32 символов.
RFC 7613
RFC 4616 (PLAIN SASL)
RFC 5802 (SCRAM SASL
https://datatracker.ietf.org/doc/html/rfc7613
735a0bb967исправил уже всё, из-за двойных кавычек в сохранении
Так сохранять при двойных кавычках все равно можно, и после этого прога начинает крашить
В локальных она не сохраняет, но глобальные то все равно выходит что с двойными скобочками забиратся,результат что при запуске глобальной конфигурации и дальнейшем ее сохранении непосредственно в локальную конфигурацию, выводится это,
и ошибка внедряется снова файл и мы возвращаемся на исходную.

В системе хоть пользователь и не появляется, но артефакт остается в проге и 'мозолит глаза'
a35bfd762fТоесть это нормально что можно создать юзера с ником состоящим из пробелов
И получить отсутствующий профиль.

(очередное доказательство неправомерного использования символов как я и говорил выше)
ublconfig:
К финальному выводу в итоге не пришли
Вывод конфига приложи
А вот что происходит если удалить пользователя " "
Прямо сейчас основная ошибка в том что бэк неправильно обрабатывает такие строки, и до добавления в систему такой пользователь из-за этого вообще не добирается.
Другой вопрос примет ли система такого пользователя если исправить обработку пробелов
Проверь использоание в логине какие символы приводят к ошибке, используй утилиту useradd для добавления пользователя.
пробелы в логине не принимаются, НО
У нас есть --badname, которая разрешает пихать туда всё что угодно
Кстати, цифры в начале логина useradd позволяет писать
19ad18761fЭто понятно, но проверка заключается в том, что-бы сработал вход под этим именем, даже с
--badnameдобавил пользователя по команде
в пользователя зайти не получилось. Как и в целом под всех пользователей с неправильными символами, в пользователя
тоже не получилось зайти