Skip to main content

where are the robots picoCTF 2019 Solution

Discover a hidden page on a website by reading a file that tells web crawlers which paths to avoid.

Published: April 2, 2026Updated: August 13, 2026

Description

Can you find the robots? A website URL is provided - figure out where they are hiding.

Web

Open the provided challenge website URL in your browser.

Solution

Want to try it yourself first?

The guided walkthrough reveals hints one step at a time.

Walk me through it
  1. Step 1Check robots.txt
    Observation
    The challenge is called 'Where Are the Robots', a direct nod to robots.txt, which every web server exposes publicly at its root. Reading that file should reveal the hidden path.
    robots.txt is a public file at the root of every website that instructs search engine crawlers which paths not to index. It ironically reveals 'secret' paths to any human visitor. Navigate to /robots.txt and read the Disallow entries.
    bash
    curl http://<challenge-server>/robots.txt

    Expected output

    User-agent: *
    Disallow: /477ce.html
    What didn't work first

    Tried: Navigate to /sitemap.xml instead of /robots.txt to find hidden paths

    sitemap.xml lists the pages the owner wants crawlers to find, not the ones they want hidden, so it returns either public URLs or a 404. The disallowed path appears only in robots.txt, under a Disallow directive, which is the file this challenge is named after.

    Tried: Run gobuster or dirbuster against the server to brute-force directory names

    Directory brute-forcing fires thousands of requests and may still miss a randomized path like /477ce.html, which is not a word in any wordlist. robots.txt hands you the exact disallowed path in a single request, which is the recon step this challenge is built around.

    Learn more

    robots.txt is a plain text file placed at the root of a web server (/robots.txt) that implements the Robots Exclusion Standard. It tells well-behaved web crawlers (like Googlebot, Bingbot) which URLs they should not visit or index. The format specifies User-agent (which crawler the rule applies to) and Disallow (paths that crawler should skip).

    The critical security flaw: robots.txt is completely public. Any human - or malicious bot - can navigate directly to /robots.txt and read every disallowed path. This means that listing a path as Disallow actively advertises its existence to anyone curious enough to look. Common mistakes developers make include listing paths like:

    • /admin - admin panels
    • /backup - backup files
    • /api/v1/internal - internal API endpoints
    • /staging - staging environment
    • /.git - version control directories

    robots.txt is always one of the first places checked during a web application penetration test or bug bounty reconnaissance phase. Security tools like gobuster, dirbuster, and feroxbuster automatically fetch robots.txt as part of their directory enumeration process. The proper way to protect sensitive paths is through authentication and authorization - not by relying on crawlers to ignore them.

  2. Step 2Visit the disallowed path
    Observation
    robots.txt carries a Disallow entry for /477ce.html. That path exists on the server, and anyone who navigates straight to it can read it.
    robots.txt will list a disallowed path like /477ce.html. Navigate directly to that URL in your browser - the flag is displayed on that page.
    Learn more

    Once a disallowed path is found in robots.txt, navigating to it is trivial - just append the path to the base URL. This step highlights the core lesson: obscurity is not security. The path is "hidden" only from search engine indexes, not from direct access. Anyone who knows the URL can visit it freely.

    This is sometimes called security through obscurity- the misguided belief that keeping implementation details secret provides security. Bruce Schneier and other security experts have long argued that security systems must be secure even if everything about the system except the key is public knowledge (Kerckhoffs's principle). Applying this to web security: every URL on your server should be assumed publicly known, and authorization must be enforced server-side for every request.

    In bug bounty programs, robots.txt enumeration is a standard first step. Hunters have found admin panels, debug endpoints, internal APIs, and sensitive files this way on major websites. Google itself publishes its full robots.txt disallow list for google.com, which reveals interesting internal path structures even though all those paths require authentication to access.

Interactive tools
  • Strings ExtractorPull printable text from any binary, library, or image. ASCII and UTF-16 detection, configurable minimum length, flag-like highlight, no command line needed.

Flag

Reveal flag

picoCTF{ca1cu1at1ng_Mach1n3s_...}

Per-instance flag. Multiple hash suffixes confirmed (8e32f, a44f7). Prefix picoCTF{ca1cu1at1ng_Mach1n3s_} is consistent.

Key takeaway

robots.txt is a public file at a site's root listing paths developers want crawlers to skip, which paradoxically advertises those hidden paths to any human who reads it. It is a classic case of security through obscurity failing: every URL has to be treated as public, with access enforced server-side by authentication rather than by asking crawlers to look away. Checking /robots.txt and /sitemap.xml is a standard first move in web reconnaissance.

Related reading

Useful tools for Web Exploitation

Where to go next