SadServers
  • Scenarios
  • Dashboard
  • Solutions
    For Individuals For Businesses
  • Ranking
  • Newsletter
  • Documentation
    FAQ Pro Accounts Business Accounts Gift Support API Privacy Troubleshooting Interviews
  • Blog
  • Pricing
  • Gift
    Gift Purchase Gift Redeem
  • About
Log In - Sign Up

SadServers Linux & DevOps Troubleshooting Scenarios

Linux & Bash

  • - Linux commands, Bash scripting
  • - Systemd
  • - Networking, DNS
  • - Storage
  • - SSH, Firewall
  • - Libraries
  • - Cron and more...

Web Servers

  • - Nginx
  • - Apache
  • - HAProxy
  • - Caddy
  • - Gunicorn
  • - uWSGI
  • - HTTPS/TLS

Databases

  • - PostgreSQL
  • - MySQL
  • - SQLite
  • - Redis
  • - ClickHouse
  • - MongoDB
  • - etcd

Data Processing

  • - CSV
  • - JSON
  • - SQL queries

Docker

  • - Building images
  • - Multi-stage builds
  • - Volumes
  • - Networks
  • - Docker Compose
  • - Podman

Kubernetes

  • - kubectl
  • - Helm
  • - K8S Roles & Permissions
  • - Services
  • - Namespaces
  • - Deployments, StatefulSets
  • - ConfigMaps, Secrets

Tooling / Applications

  • - Git
  • - Rabbitmq
  • - Envoy
  • - Vault
  • - Harbor
  • - Prometheus
  • - Jenkins

Hacking

  • - Capture the Flag (CTF) Challenges
  • - Code Vulnerabilities
  • - Privilege Escalation

Languages

  • - Python
  • - Golang
  • - PHP
  • - Java
  • - Node.js
  • - C
Previous Next
advent2025 apache bash c caddy clickhouse cron csv data processing disk volumes dns docker envoy etcd git golang gunicorn hack haproxy harbor hashicorp vault helm java jenkins json kubernetes linux-other mongodb mysql nginx node.js php podman postgres prometheus python rabbitmq redis sql sqlite ssh ssl supervisord systemd traefik
realistic / interviews new pro business

Easy

# Name Time Type
1 "Valladolid": Cleaner not cleaning 20 m Fix New
"Valladolid": Cleaner not cleaning

Scenario: "Valladolid": Cleaner not cleaning

Level: Easy

Type: Fix

Access: Email

Description: The systemd service log-cleaner.service is supposed to be run manually (not a timer or cron job) and delete log files older than 7 days in the /var/log/app directory.

The service runs successfully (exit code 0), but no logs are ever deleted.

Fix the service and/or the script so that old_data.log (older than 7 days) is deleted, but recent_data.log is preserved.

If you accidentally delete the wrong files while debugging, run ~/reset_logs.sh to restore them.

Test: Running sudo systemctl restart log-cleaner deletes the file /var/log/app/old_data.log but not /var/log/app/recent_data.log

The "Check My Solution" button runs the script /home/admin/agent/check.sh, which you can see and execute.

Time to Solve: 20 minutes.

Medium

# Name Time Type
1 Amsterdam: Cron Hijack 15 m Hack New
Amsterdam: Cron Hijack

Scenario: Amsterdam: Cron Hijack

Level: Medium

Type: Hack

Access: Email

Description: You are logged in as the user admin. A cron job (not a systemd timer) appears to be running as root every minute, related to a health check. We've discovered this set up may be insecure.

Your mission is to find the running cron job, analyze it for a vulnerability, and exploit it to read the secret file at /root/secret.txt

Save the secret string from the secret file to the file /home/admin/solution.txt.

Test: cat /home/admin/solution.txt displays the same string that is in /root/secret.txt, with md5sum /home/admin/solution.txt returning c6ef5d3ea5e937ae56f8635f91cc727a (the solution string without an ending newline is also accepted)

The "Check My Solution" button runs the script /home/admin/agent/check.sh, which you can see and execute.

Time to Solve: 15 minutes.

Hard

# Name Time Type
1 "Madrid": exploiting capabilities 20 m Hack New
"Madrid": exploiting capabilities

Scenario: "Madrid": exploiting capabilities

Level: Hard

Type: Hack

Access: Email

Description: You are logged in as the admin user without sudo privileges.

A secret string is in the file /root/flag.txt and you don't have permission to read it directly.

However, a standard system binary has been misconfigured with a "hidden" capability that allows it to bypass file permissions.

Your mission is to find the misconfigured binary and use it to copy the content of /root/flag.txt into the file /home/admin/flag.txt.

Test: cat /home/admin/flag.txt displays the same string that is in /root/flag.txt, with md5sum /home/admin/flag.txt returning a43d338b0fc1dfb0c6425aa55e24c8c6 (the solution string without an ending newline is also accepted)

The "Check My Solution" button runs the script /home/admin/agent/check.sh, which you can see and execute.

Time to Solve: 20 minutes.

Send Us Feedback
Get Notified
For announcements like new scenarios. We'll never share your email with anyone else.
SadServersSadServers

Real-world Linux and DevOps scenarios for hands-on learning and technical assessment.

Uptime Robot ratio (30 days)
Product
  • Scenarios
  • For Individuals
  • For Businesses
  • Pricing
Resources
  • FAQ
  • Blog
  • Newsletter
Company
  • About Us
  • Support
  • Privacy Policy
  • Terms of Service
  • Contact
Connect With Us
info@sadservers.com

Made in Canada 🇨🇦
Updated: 2026-04-03 00:10 UTC – 9760d80