Исправлено две уязвимости:
* Веб-сервер не отклонял новый пароль длинной 0. chpasswd.c предполагает, что длина вывода генератора хеша пароля хотя бы 1, но при таком пароле его длина тоже 0. Таким образом генерировался неправильный новый файл creds. * Даже неправильные запросы заставляли chpasswd.c делать резервные копии файла creds. Поэтому, любой человек мог совершить DoS атаку, отправив очень много запросов и заставив chpasswd.c сделать очень много резервных копий. Теперь, creds копируется только после правильных запросов. Немного отформатирован файл chpasswd.c, а файл webserver.go был перетабулирован.
This commit is contained in:
parent
c3ad534959
commit
3b9ea77879
3 changed files with 130 additions and 106 deletions
|
@ -60,7 +60,7 @@
|
|||
return "Новые пароли не совпадают.";
|
||||
}
|
||||
if(response_body == "250") {
|
||||
return "Неправильно заполнены поля, или слишком длинные данные (макс. 2048 байтов на поле).";
|
||||
return "Пустые, неправильно заполненные или слишком длинные поля (макс. 2048 байтов на поле).";
|
||||
}
|
||||
return response_body;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue