{"content":"<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n    <meta charset=\"UTF-8\">\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n    <!-- Deliberately leaky referrer policy: full URLs (incl. reset tokens) go to third parties -->\n    <meta name=\"referrer\" content=\"unsafe-url\">\n    <title>VulnShop \u2014 second-hand merch, first-hand mistakes</title>\n    <link rel=\"stylesheet\" href=\"/static/vulnshop.css\">\n    <link rel=\"icon\" href=\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'><rect width='32' height='32' fill='%23a93226'/><text x='16' y='22' font-family='monospace' font-size='14' font-weight='bold' text-anchor='middle' fill='white'>VS</text></svg>\">\n</head>\n<body>\n<a class=\"skip\" href=\"#main\">Skip to content</a>\n\n<div class=\"notice\">\n    <div class=\"notice__in wrap\">\n        <strong>Local only</strong>\n        <span>This shop is broken on purpose for scanner practice. Keep it on <code>127.0.0.1</code> \u2014 don't put it online.</span>\n    </div>\n</div>\n\n<header class=\"topbar\">\n    <div class=\"topbar__in\">\n        <a class=\"brand\" href=\"/\">\n            <span class=\"brand__mark\" aria-hidden=\"true\">VS</span>\n            <span class=\"brand__name\">Vulnshop<span>.</span></span>\n            <span class=\"brand__tag\">second-hand merch, first-hand mistakes</span>\n        </a>\n\n        <form class=\"searchbar\" method=\"GET\" action=\"/search\" role=\"search\">\n            <label class=\"sr-only\" for=\"q\">Search products</label>\n            <input id=\"q\" type=\"search\" name=\"q\" value=\"\"\n                   placeholder=\"Search \u2014 try \u201cmug\u201d\" autocomplete=\"off\">\n            <button type=\"submit\">Search</button>\n        </form>\n\n        <nav class=\"acct\" aria-label=\"Account\">\n            \n                <a href=\"/login\">Sign in</a>\n            \n        </nav>\n    </div>\n\n    <nav class=\"shelfnav wrap\" aria-label=\"Sections\">\n        <a href=\"/\" aria-current=\"page\">Home</a>\n        <a href=\"/search\" >Shop all</a>\n        <a href=\"/orders\" >Orders</a>\n        <a href=\"/admin\" >Back office</a>\n        <a href=\"/sitemap\" >Security lab</a>\n        <a href=\"/flags\" >Quests</a>\n        <a href=\"/leaderboard\" >Standings</a>\n    </nav>\n</header>\n\n<main id=\"main\">\n    \n<div class=\"wrap\">\n\n    <section class=\"hero\">\n        <div>\n            <p class=\"eyebrow\">A practice shop \u00b7 runs on 127.0.0.1 only</p>\n            <h1>A junk shop that trusts everything it's told.</h1>\n            <p class=\"hero__lede\">\n                12 things on the shelf. Search box builds SQL by hand,\n                the greeter page renders what you type as a template, and\n                <code>/api/exec?cmd=id</code> does exactly what it looks like.\n                It's all on purpose \u2014 point a scanner at it and take notes.\n            </p>\n            <div class=\"hero__cta\">\n                <a class=\"btn\" href=\"/search\">Browse the shelf</a>\n                <a class=\"btn btn--ghost\" href=\"/sitemap\">See what's broken</a>\n            </div>\n            <p class=\"mute mono mt-s\" style=\"font-size:.76rem;\">\n                Sign in as admin / admin123. Docs at <a href=\"/api/docs\">/api/docs</a>.\n            </p>\n        </div>\n\n        <aside class=\"receipt\" aria-label=\"Shop ledger\">\n            <div class=\"receipt__head\">Shop ledger \u2014 tonight</div>\n            <ul>\n                <li><b>12</b> items on the shelf <span class=\"dots\"></span> <span>all for sale</span></li>\n                <li><b>5</b> accounts <span class=\"dots\"></span> <span>passwords in plaintext</span></li>\n                <li><b>13</b> orders <span class=\"dots\"></span> <span>receipts are public</span></li>\n                <li>Back office <span class=\"dots\"></span> <span><a href=\"/admin\">no login needed</a></span></li>\n            </ul>\n            <div class=\"receipt__total\"><span>Repairs done</span><span>0</span></div>\n        </aside>\n    </section>\n\n    <div class=\"statbar\" aria-label=\"Counts\">\n        <div><b class=\"hot\">13</b><span>Orders placed</span></div>\n        <div><b class=\"cool\">1","headers":{"Access-Control-Allow-Credentials":"true","Access-Control-Allow-Headers":"*","Access-Control-Allow-Methods":"GET, POST, PUT, DELETE, OPTIONS","Access-Control-Allow-Origin":"*","Connection":"close","Content-Length":"22974","Content-Type":"text/html; charset=utf-8","Date":"Mon, 28 Sep 2026 11:59:50 GMT","Server":"Werkzeug/3.1.8 Python/3.12.14, VulnShop/1.0.0 (Flask 3.0.3)","Set-Cookie":"session_id=abc123def456; Path=/; SameSite=None","Vary":"Cookie","X-Powered-By":"Python Flask"},"status":200,"url":"http://127.0.0.1:5000/"}
