Skip to content

SibirCTF/2025-cybersibir-service-ncdex

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NightCity Data Exchange - Биржа эксплоитов

Название: NightCity Data Exchange Cтек: Crystal + Postgresql

Порты: 7331

Описание: Биржа уязвимостей, где покупают и продают найденные эксплойты, за внутренние кредиты. При регистрации и за добавление уязвимостей — начисляются , эксплойты можно купить. Кредиты можно обменивать между пользователями.

Screenshot 2025-03-30 at 20-39-36 NightCity Exploit Market Главная

Уязвимости

1. Открытая БД с дефолтным паролем (Misconfiguration)

  • Порт PostgreSQL проброшен наружу:
...
  ports:
    - "8432:8432"
...

В конфиге указано подключение к БД без безопасных параметров:

database: "postgres://postgres:postgres@localhost:7432/nde"

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

2. IDOR (Insecure Direct Object Reference)

  • При переводе средств (транзакция /users/transfer) можно подменить email отправителя (from_user).

  • На сервере нет проверки соответствия текущего пользователя from_user.

Email'ы других пользователей можно спарсить с публичной страницы /transactions, где почта замаскирована, но легко угадывается c помощью данных со страниц /users/:id.

Пример эксплойта: exploit/simpleidor.rb


3. DOS через незакрытую транзакцию

  • Метод обновления пользователя вызывает DBC.query(...), который открывает транзакцию и не завершает её:
query = "UPDATE users SET username = $1, email = $2 WHERE id = $3"
result = DBC.query(query, self.username, self.email, self.id) # query открывает транзакцию
  • При большом числе одновременных запросов — пул подключений быстро заполняется, и сервис перестаёт отвечать (DB::PoolRetryAttemptsExceeded).
exploit/
├── dos.rb             # Занимает пул подключений, вызывает отказ в обслуживании
└── simpleidor.rb      # Использует IDOR для перевода средств от имени другого пользователя

About

Service with vulnerabilities for CyberSibir 2025

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Contributors 2

  •  
  •