{"owner":"elder-plinius","repo":"T3MP3ST","hasDocker":true,"hasCompose":true,"hasDockerfile":false,"composePath":"ctf/docker-compose.yml","servicesCount":14,"services":[{"name":"sqli-basic","build":{"context":"./docker/web/sqli-basic","dockerfile":"Dockerfile"},"restart":"unless-stopped","ports":["8080:80"],"environment":["CTF_FLAG=T3MP3ST{sql1_l0g1n_byp4ss_ez}"]},{"name":"sqli-blind","build":{"context":"./docker/web/sqli-blind","dockerfile":"Dockerfile"},"restart":"no"},{"name":"sqli-blind-gateway","build":{"context":"./docker/web/sqli-blind","dockerfile":"Dockerfile"},"restart":"no","ports":["127.0.0.1:8081:8080"],"depends_on":["sqli-blind"]},{"name":"xss-stored","build":{"context":"./docker/web/xss-stored","dockerfile":"Dockerfile"},"restart":"no","environment":["CTF_FLAG=T3MP3ST{st0r3d_xss_c00kie_th3ft}","CALLBACK_BASE=","CALLBACK_PATH=/cb"],"depends_on":["xss-callback"]},{"name":"xss-gateway","build":{"context":"./docker/web/xss-stored","dockerfile":"Dockerfile"},"restart":"no","ports":["127.0.0.1:8082:8080"],"environment":["UPSTREAM=http://xss-stored:8080","CALLBACK=http://xss-callback:9999"],"depends_on":["xss-stored"]},{"name":"xss-callback","build":{"context":"./docker/web/xss-stored","dockerfile":"Dockerfile"},"restart":"no","environment":["CALLBACK_PORT=9999","CALLBACK_LOG=/tmp/xss-callback.log"]},{"name":"ssrf-metadata","build":{"context":"./docker/web/ssrf-metadata","dockerfile":"Dockerfile"},"restart":"no","environment":["CTF_FLAG=T3MP3ST{ssrf_m3t4d4t4_c4ptur3}"],"depends_on":["ssrf-mock"]},{"name":"ssrf-metadata-gateway","build":{"context":"./docker/web/ssrf-metadata","dockerfile":"Dockerfile"},"restart":"no","ports":["127.0.0.1:8083:8080"],"environment":["UPSTREAM=http://ssrf-metadata:8080"],"depends_on":["ssrf-metadata"]},{"name":"ssrf-mock","build":{"context":"./docker/web/ssrf-metadata","dockerfile":"Dockerfile"},"restart":"no","environment":["CTF_FLAG=T3MP3ST{ssrf_m3t4d4t4_c4ptur3}","PORT=80"]},{"name":"bof-basic","build":{"context":"./docker/pwn/bof-basic","dockerfile":"Dockerfile"},"restart":"unless-stopped","ports":["9001:9001"],"environment":["CTF_FLAG=T3MP3ST{b4s1c_buff3r_0v3rfl0w}"]},{"name":"format-string","image":"t3mp3st/ctf-format-string:local","build":{"context":"./docker/pwn/format-string","dockerfile":"Dockerfile"},"restart":"no","ports":["127.0.0.1:9002:9002"],"environment":["CTF_FLAG=T3MP3ST{f0rm4t_str1ng_wr1t3}"]},{"name":"rsa-weak","image":"t3mp3st/ctf-rsa-weak:local","build":{"context":"./docker/crypto/rsa-weak","dockerfile":"Dockerfile"},"restart":"no"},{"name":"rsa-weak-gateway","image":"t3mp3st/ctf-rsa-weak:local","restart":"no","ports":["127.0.0.1:9101:8080"],"depends_on":["rsa-weak"]},{"name":"webhook-receiver","image":"python:3.11-slim","command":"python -c \" from http.server import HTTPServer, BaseHTTPRequestHandler import json\nreceived_data = []\nclass Handler(BaseHTTPRequestHandler):\n    def do_GET(self):\n        received_data.append({'path': self.path, 'headers': dict(self.headers)})\n        self.send_response(200)\n        self.end_headers()\n        self.wfile.write(b'OK')\n\n    def do_POST(self):\n        length = int(self.headers.get('Content-Length', 0))\n        body = self.rfile.read(length).decode()\n        received_data.append({'path': self.path, 'body': body})\n        self.send_response(200)\n        self.end_headers()\n        self.wfile.write(b'OK')\n\n    def log_message(self, format, *args):\n        pass\n\nprint('Webhook receiver listening on :9999') HTTPServer(('0.0.0.0', 9999), Handler).serve_forever() \"\n","ports":["9999:9999"]}],"exposedPorts":["8080","8081","8082","8083","9001","9002","9101","9999"],"dockerRunCommand":"docker run -d --name t3mp3st -p 8080:8080 --restart always t3mp3st/ctf-format-string:local","podmanRunCommand":"podman run -d --name t3mp3st -p 8080:8080 --restart always t3mp3st/ctf-format-string:local","skopeoInspectCommand":"skopeo inspect docker://docker.io/t3mp3st/ctf-format-string:local","orasPullCommand":"oras pull t3mp3st/ctf-format-string:local","registryMeta":{"provider":"dockerhub","image":"t3mp3st/ctf-format-string","canonicalImage":"docker.io/t3mp3st/ctf-format-string:local","latestTag":"local","cliCommands":{"dockerRun":"docker run -d --name t3mp3st -p 8080:8080 --restart always t3mp3st/ctf-format-string:local","dockerPull":"docker pull t3mp3st/ctf-format-string:local","podmanRun":"podman run -d --name t3mp3st -p 8080:8080 --restart always t3mp3st/ctf-format-string:local","skopeoInspect":"skopeo inspect docker://docker.io/t3mp3st/ctf-format-string:local","orasPull":"oras pull t3mp3st/ctf-format-string:local","composeYaml":"services:\n  t3mp3st:\n    image: t3mp3st/ctf-format-string:local\n    restart: unless-stopped\n    ports:\n      - \"8080:8080\""}}}