adding validated services? patching forcad_local.py
This commit is contained in:
20
OmCTF-2025/sploits/block-game/README.RU.md
Normal file
20
OmCTF-2025/sploits/block-game/README.RU.md
Normal file
@@ -0,0 +1,20 @@
|
||||
# Эксплойт 1
|
||||
|
||||
Флагстор 1. Непроходимые уровни (их награды)
|
||||
|
||||
Уязвимость: В функции MoveOutOfWay отсутствует проверка границ (проверка выполняется на стороне клиента). Уровни можно пройти, выйдя за пределы карты.
|
||||
|
||||
Исправление: Добавить проверку границ в функцию MoveOutOfWay:
|
||||
```Go
|
||||
if p.X < 0 || p.Y < 0 || p.X >= sess.Tiles.size || p.Y >= sess.Tiles.size {
|
||||
return false
|
||||
}
|
||||
```
|
||||
|
||||
# Эксплойт 2
|
||||
|
||||
Флагстор 2. Приватные уровни (их награды)
|
||||
|
||||
Уязвимость: Бэкдор в функции Level.CreateFrom (спрятан в шаблоне с множеством табуляций, в результате чего он оказывается вне экрана). Он создаёт пользователя с именем и паролем, равными `sha256(level_name)[:32]`, которым затем можно воспользоваться для доступа к уровню и флагу.
|
||||
|
||||
Исправление: удалить бэкдор из `create_from.tmpl` и регенерировать код ИЛИ удалить его напрямую из `create_from.go`.
|
||||
Reference in New Issue
Block a user