CyberGuard CTF Challenge

Test your cybersecurity skills with these realistic challenges

Overall Progress
Score: 0/500
Hidden Information
Easy (50 points)

You need to find hidden information about a potential security breach. An employee named John Smith has been acting suspiciously, and there might be some information hidden in the company's website code.

Examine the HTML source code below to find hidden information that could be the flag.

company-website.html HTML
<!DOCTYPE html>
<html>
<head>
    <title>CyberGuard Security Solutions</title>
    <meta name="description" content="Leading cybersecurity solutions for enterprises">
    <!-- TODO: Remove before production - John's temporary access key: jsmith-8a28b72d -->
</head>
<body>
    <header>
        <h1>CyberGuard Security Solutions</h1>
        <nav>
            <ul>
                <li><a href="/">Home</a></li>
                <li><a href="/services">Services</a></li>
                <li><a href="/about">About Us</a></li>
                <li><a href="/contact">Contact</a></li>
                <!-- <li><a href="/admin">Admin Portal</a></li> -->
            </ul>
        </nav>
    </header>

    <main>
        <section class="hero">
            <h2>Protecting Your Digital Assets</h2>
            <p>Comprehensive security solutions for the modern enterprise.</p>
        </section>

        <!-- Employee directory removed temporarily
        Access internal employee records: /internal/employees.php?mode=full&access=sysadmin
        -->

        <section class="services">
            <h2>Our Services</h2>
            <div class="service-grid">
                <div class="service-card">
                    <h3>Penetration Testing</h3>
                    <p>Identify vulnerabilities before hackers do.</p>
                </div>
                <div class="service-card">
                    <h3>Security Monitoring</h3>
                    <p>24/7 surveillance of your network traffic.</p>
                </div>
                <div class="service-card">
                    <h3>Incident Response</h3>
                    <p>Rapid recovery from security breaches.</p>
                </div>
            </div>
        </section>
    </main>

    <footer>
        <p>© 2025 CyberGuard Security Solutions</p>
    </footer>

    <!-- Flag format: flag{text_here} -->
</body>
</html>

Submit the flag in the format flag{text_here}:

Look for comments in the HTML code. Developers often leave sensitive information in comments that should be removed before production.

Encoded Message
Medium (100 points)

A suspicious message has been intercepted from a potential insider threat. The message appears to be encoded, but we're not sure of the method used.

Your task is to decode this message and find the hidden flag.

intercepted_message.txt Text
VGhlIGNvbXBhbnkncyBzZXJ2ZXIgY3JlZGVudGlhbHMgaGF2ZSBiZWVuIGNvbXByb21pc2VkLiBUaGUgYmFja2Rvb3IgaGFzIGJlZW4gaW5zdGFsbGVkIHN1Y2Nlc3NmdWxseS4gRmxhZ3tiYXNlNjRfZW5jb2RpbmdfaXNfbm90X2VuY3J5cHRpb259

Submit the flag in the format flag{text_here}:

This is a common encoding method that uses 64 different ASCII characters to represent binary data. It's often used for transmitting data over mediums that only support text.

SQL Injection Vulnerability
Medium (100 points)

A web application has a suspected SQL injection vulnerability in its login form. You need to exploit this vulnerability to bypass authentication and find the flag.

Below is the PHP code snippet from the login page. Find the vulnerability and determine the payload to use.

login.php PHP
<?php
// Database connection
$conn = mysqli_connect("localhost", "app_user", "app_password", "users_db");

// Check connection
if (!$conn) {
    die("Connection failed: " . mysqli_connect_error());
}

// Get user input
$username = $_POST['username'];
$password = $_POST['password'];

// Validate user credentials
$query = "SELECT * FROM users WHERE username = '$username' AND password = '$password'";
$result = mysqli_query($conn, $query);

if (mysqli_num_rows($result) > 0) {
    // User authenticated successfully
    session_start();
    $_SESSION['authenticated'] = true;
    $_SESSION['username'] = $username;

    // Check if user is admin
    $user = mysqli_fetch_assoc($result);
    if ($user['role'] == 'admin') {
        $_SESSION['admin'] = true;
        // Flag is stored in admin dashboard
        // flag{sql_injection_no_sanitization}
    }

    header("Location: dashboard.php");
} else {
    // Authentication failed
    $error = "Invalid username or password";
}

mysqli_close($conn);
?>

What would be the username input to bypass authentication?

Look at how the SQL query is constructed. User input is directly inserted into the query without sanitization. You need to manipulate the query logic to make it always return true, regardless of the password.

Suspicious File Analysis
Hard (150 points)

A suspicious file was found on the company's server. The file appears to be an image, but security personnel believe it may contain hidden data.

Your task is to analyze the file metadata and identify any hidden information.

file_analysis.txt Text
File: vacation_photo.jpg
Size: 2.4 MB
Created: 2025-01-15 14:32:47
Modified: 2025-02-28 03:17:22
Owner: j.smith

EXIF Data:
- Camera: Canon EOS 90D
- Date Taken: 2024-12-25 12:30:15
- GPS Coordinates: 34.052235, -118.243683
- Software: Adobe Photoshop 2025
- Comment: "Don't forget to remove this before sharing! Password for encrypted archive: CyberGuard2025!"

File analysis shows additional data appended after the end of the image data.
Running strings on the file reveals fragments of base64 encoded text and the string "flag{steganography_metadata_exfiltration}".

Submit the flag in the format flag{text_here}:

Digital forensics often involves examining file metadata. EXIF data in images can contain a lot of information including dates, location, and even custom comments added by users.

Mystery Binary
Hard (100 points)

A suspicious binary file was found on a compromised system. Your task is to analyze the code and determine what it does.

Below is a decompiled C code of the binary. Find the flag hidden in the code.

decompiled.c C
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>

#define BUFFER_SIZE 1024

void obscure_function(char *input) {
    char buffer[128];
    char *flag = "flag{buffer_overflow_vulnerability}";

    // Intentionally vulnerable code
    strcpy(buffer, input);

    printf("Processing complete.\n");
}

void encode_message(char *message) {
    int i = 0;
    while (message[i] != '\0') {
        message[i] = message[i] ^ 0x41;
        i++;
    }
}

int main(int argc, char *argv[]) {
    char input[BUFFER_SIZE];

    printf("Enter command: ");
    fgets(input, BUFFER_SIZE, stdin);

    // Remove newline
    input[strcspn(input, "\n")] = '\0';

    if (strcmp(input, "help") == 0) {
        printf("Available commands: help, version, scan, exec\n");
    } else if (strcmp(input, "version") == 0) {
        printf("Backdoor v1.0.2\n");
    } else if (strncmp(input, "exec ", 5) == 0) {
        // This is dangerous - executes whatever comes after "exec "
        system(input + 5);
    } else if (strcmp(input, "scan") == 0) {
        printf("Scanning system...\n");
        sleep(2);
        printf("No threats found.\n");
    } else {
        // This is the vulnerable function
        obscure_function(input);
    }

    return 0;
}

Submit the flag in the format flag{text_here}:

Look for vulnerabilities in the code. There's a classic buffer overflow vulnerability in one of the functions. Also, pay attention to hardcoded values and strings.

Learning Resources

Reconnaissance Techniques

Learn about information gathering and finding hidden data in websites.

Learn More

Base64 Encoding

Understanding common encoding methods used in cybersecurity.

Learn More

SQL Injection

Techniques for preventing and exploiting SQL injection vulnerabilities.

Learn More

Digital Forensics

Tools and techniques for examining digital evidence.

Learn More

Reverse Engineering

Understanding and analyzing compiled code.

Learn More
Your Achievements
Recon Master
Complete the reconnaissance challenge
Crypto Expert
Complete the cryptography challenge
Web Hacker
Complete the web security challenge
Forensic Analyst
Complete the digital forensics challenge
Code Breaker
Complete the reverse engineering challenge

Achievement Unlocked!

You've completed a challenge.