Web-полигон (Web Polygon)
Web-полигон (Web Polygon)
Platform: CUSTOM | Category: Web | Type: Challenge | Difficulty: Easy | OS: N/A | **Author: XESXOR Techniques: http_method_enumeration, parameter_fuzzing
Summary
Walkthrough of the CUSTOM Web Web-полигон (Web Polygon). URL: http://tasks.duckerz.ru:30055
Description
"Так все же Гетман или Постман?"
URL: http://tasks.duckerz.ru:30055
The task name is a wordplay: "Гетман" (GET-man) and "Постман" (POST-man) hint at HTTP methods GET and POST.
Analysis
Reconnaissance
When accessing the main page, the server indicates that the flag is split into 3 parts and provides hints on how to obtain each:
- Part 1: GET request to
/flag - Part 2: POST request to
/flag - Part 3: GET request to
/flagwith any parameter
The server runs on Werkzeug/3.1.3 Python/3.11.14 (Flask application).
Solution
Part 1 - GET request
bash read-only • copy allowedcurl -s http://tasks.duckerz.ru:30055/flag
Response:
json read-only • copy allowed{"flagp1":"DUCKERZ{G3tReq_"}
Part 2 - POST request
bash read-only • copy allowedcurl -s -X POST http://tasks.duckerz.ru:30055/flag
Response:
json read-only • copy allowed{"flagp2":"REDACTED"}
Part 3 - GET with parameter
bash read-only • copy allowedcurl -s "http://tasks.duckerz.ru:30055/flag?param=1"
Response:
json read-only • copy allowed{"flagp3":"MIXXXXX!}"}
Assembling the flag
Combining all three parts in the order they were obtained:
DUCKERZ{G3tReq_ + REDACTED + MIXXXXX!}
Automated Solution
bash read-only • copy allowed#!/bin/bash # solve.sh - automatic flag retrieval URL="http://tasks.duckerz.ru:30055/flag" # Get all parts p1=$(curl -s "$URL" | grep -oP '"flagp1":"\K[^"]+') p2=$(curl -s -X POST "$URL" | grep -oP '"flagp2":"\K[^"]+') p3=$(curl -s "$URL?x=1" | grep -oP '"flagp3":"\K[^"]+') echo "Flag: ${p1}${p2}${p3}"
Lessons Learned
- HTTP methods: Difference between GET and POST requests
- Query parameters: How to pass parameters in URL (
?key=value) - curl: Basic usage for HTTP requests
- REST API: Understanding endpoints and methods
Related Techniques
- HTTP Method Tampering
- Parameter Pollution
- REST API enumeration
- Verb Tampering (using non-standard HTTP methods)
Additional Notes
For more complex variations of this task, the following may be required:
- Other HTTP methods: PUT, DELETE, PATCH, OPTIONS
- Specific headers (Content-Type, Authorization)
- Request body in a specific format (JSON, XML, form-data)
- Combinations of methods and parameters
Key Takeaways / Lessons
- Mastering http_method_enumeration, parameter_fuzzing was key to this challenge.
- Always check for common misconfigurations and verify assumptions.
Crafted by XESXOR Research • 2026-01-09 • CUSTOM • Web-полигон (Web Polygon) • Difficulty: Easy