Practical documentation · Authorized use only
Arjun
Arjun helps discover HTTP parameters that may be relevant to an approved application’s input surface. Use a local or staging application, a small candidate set, conservative rate limits, and server-side logging to validate behavior.
Start safely and get useful results
Best for
- • Approved input inventory
- • API parameter review
Not for
- • Authentication bypass
- • High-volume production probing
Before you run anything
- • Document the authorized target, time window, success criteria, data-handling rules, and a named stop contact before you begin.
- • Confirm the installed version with the tool’s version or help command, then compare its documented behavior with the linked upstream project before relying on any option.
Practical workflows
Inspect a local endpoint for GET parameters
Scenario: A training API endpoint needs a documented input inventory.
arjun -u http://localhost:8080/search -m GET -oT arjun.txtTest the local endpoint and save text output for review.
Expected use: Candidates may be reflected or accepted parameters; validate semantics in application logs or source.
Use a bounded parameter list
Scenario: The service owner supplied known naming conventions.
arjun -u https://staging.example.invalid/api/search -m GET -w ./approved-params.txt -oJ arjun.jsonUse an approved candidate list and structured output against the staging endpoint.
Expected use: Review for unexpected parameters, then validate authorization and input handling separately.
Interpret results like an analyst
- • A parameter accepted by the server may be ignored downstream; verify it changes intended behavior before treating it as exposed functionality.
- • Avoid interpreting response timing alone as proof of a hidden parameter.
Common mistakes and operating tips
Avoid
- • Testing POST or authenticated routes without explicit scope and test credentials.
- • Using a discovery result as evidence of injection or authorization weakness.
Operational discipline
- • Treat command output as evidence, not a conclusion: retain the command, version, scope, timestamp, and a redacted result in the engagement record.
- • Start with the smallest safe scope, validate expected behavior in a lab or pilot, then expand only when the authorization and monitoring plan support it.
Verify against the current upstream
Tool behavior and release syntax can change. Treat this guide as practical operating context, then verify version-specific details against the upstream project before an assessment.
Open authoritative upstream documentation