FCKR is a powerful CLI tool for penetration testers and security researchers that performs:
- HTTP brute forcing (placeholder replacement & parameter fuzzing)
- XSS reflection testing (exact payload match detection)
Supports both:
- Traditional mode using
FCKplaceholder - Raw request mode using full HTTP request files
Developed by @IMApurbo
⚠️ Use responsibly. Authorized testing only.
- brute — wordlist-based brute forcing
- xss — reflected XSS detection
Place FCK in:
- URL (GET fuzzing)
- Body (POST fuzzing)
Each wordlist entry replaces FCK.
Supports full HTTP request files:
POST /login HTTP/1.1
Host: example.com
Content-Type: application/json
{"user":"admin","pass":"FCK"}
Raw mode features include:
- Auto-extract method, URL, headers, and body
- Parameter-specific fuzzing (
-p param) - FCK placeholder substitution when
-pis not used - JSON, form, query, and fallback raw-body fuzzing
Real behaviors matched to your code:
- JSON → parsed/replaced as dict
- Form data → parsed with
parse_qs() - Unknown content-type → fallback string replace
- Missing parameter → warning printed
Fuzzes:
- Query parameters
- JSON keys
- Form-encoded fields
Missing key → warning.
Payloads encoded using quote().
Headers added using this format:
Header1:Value;Header2:Value
Invalid format → warning.
Supports:
| Field | Meaning |
|---|---|
s |
status code |
l |
content length |
c |
body content |
Types:
e→ exactc→ containsnc→ not contains
Displays:
- Requests sent
- Filter mismatches
- Non-reflected XSS payloads
Uses ThreadPoolExecutor Default: 10 threads
Fetch raw HTML for a specific word/payload.
pip install fckrfckr <mode> <options>| Mode | Description |
|---|---|
| brute | Wordlist brute forcing |
| xss | XSS reflection testing |
| Option | Description |
|---|---|
-u, --url |
URL containing FCK |
-b, --body |
POST body containing FCK |
-w, --wordlist |
Wordlist file |
-m, --method |
GET/POST |
-H, --header |
Extra headers |
-t, --timeout |
Timeout (seconds) |
-T, --threads |
Thread count |
-d, --debug |
Debug mode |
-o, --output |
Save results to file |
-r, --fetch-response |
Fetch full raw HTML |
--encode |
URL-encode payloads |
| Option | Description |
|---|---|
-R |
HTTP raw request file |
-p |
Fuzz specific parameter (query/json) |
-
-uor-Rrequired -
In raw mode:
-u,-b,-m→ ignored- If no
-p→ FCK replacement used
-
JSON/form/query all supported
-
Unknown content-type → fallback string replace
-
Missing parameter → warning shown
<field>:<type>:<value>
Examples:
-f s:e:200
-f c:nc:error
-f c:c:"success"
-f l:e:1024fckr brute -u "https://test.com/?id=FCK" -w ids.txtfckr brute -u "https://test.com/login" -b "user=admin&pass=FCK" -w pass.txtfckr brute -R req.txt -w list.txtfckr brute -R req.txt -p password -w pass.txtfckr brute -u "https://a.com/?q=FCK" -w list.txt -r adminfckr xss -u "https://test.com/?q=FCK" -w payloads.txt --encodefckr xss -R req.txt -p search -w payloads.txtBrute-force list:
admin
test123
root
XSS payload list:
<script>alert(1)</script>
<img src=x onerror=alert(1)>
git clone https://github.com/IMApurbo/fckr
cd fckr
pip install -r requirements.txtRun:
python -m fckr brute -u "https://example.com/?q=FCK" -w list.txtUse only with explicit permission. Unauthorized testing is illegal.
Created by: IMApurbo
This project is licensed under the MIT License. See the LICENSE file for details.