Skip to main content

penterepTools

PTMULTIREQUEST

ptmultirequest sends two or more identical HTTP requests at the exact same moment to help identify race condition vulnerabilities.

Use cases

  • Can a user make two payments simultaneously when balance allows only one?
  • Can two accounts be registered with the same login at the exact same time?

How it works

All requests are dispatched in parallel threads synchronized by a barrier — every thread waits until all are ready, then fires at once.

Responses are compared across all requests:

Field What is checked
Status code Are all responses the same HTTP status?
Response length Does content length differ between responses?
Page title Does the HTML <title> differ?
Keywords Are error, warning, notice, or sql present in any response?

Any difference may indicate a race condition — manual review is always recommended.

Installation

pip install ptmultirequest

Usage

ptmultirequest -u https://example.com/pay -c 2
ptmultirequest -u https://example.com/register -d "login=admin" -c 2
ptmultirequest --request-file ./request.txt -c 5

Options

Flag Description
-u, --url <url> Target URL
-d, --data <post-data> POST body (switches method to POST)
--request-file <file|base64> Raw HTTP request from file or base64
-c, --count <n> Number of synchronized requests (default: 2)
-p, --proxy <proxy> Proxy URL (e.g. http://127.0.0.1:8080)
-T, --timeout <seconds> Request timeout (default: 10)
--cookie <cookie> Cookie header
-a, --user-agent <agent> User-Agent header
-H, --headers <header:value> Additional custom headers
-r, --redirects Follow redirects
-j, --json Output results as JSON
-v, --version Show version
-h, --help Show help

Dependencies

License

Copyright (c) 2026 Penterep Security s.r.o.

ptmultirequest is free software licensed under the GNU General Public License v3.0 or later.

Legal notice

Only run this tool against targets you are explicitly authorized to test. Penterep bears no responsibility for unauthorized or malicious use. Be ethical.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ptmultirequest-0.0.2.tar.gz (20.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ptmultirequest-0.0.2-py3-none-any.whl (20.5 kB view details)

Uploaded Python 3

File details

Details for the file ptmultirequest-0.0.2.tar.gz.

File metadata

  • Download URL: ptmultirequest-0.0.2.tar.gz
  • Upload date:
  • Size: 20.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for ptmultirequest-0.0.2.tar.gz
Algorithm Hash digest
SHA256 0408b03ce2d98dd42e198bcfd18122c18f1c5b8f3a81b710e529ef2f3dd75fe7
MD5 393d751097ff28676c823da3ea4e8b54
BLAKE2b-256 1b5fa558b2849a2cd325894cfc4c09e43e8aa4763a8debbb1792a72d9d48af8c

See more details on using hashes here.

File details

Details for the file ptmultirequest-0.0.2-py3-none-any.whl.

File metadata

  • Download URL: ptmultirequest-0.0.2-py3-none-any.whl
  • Upload date:
  • Size: 20.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for ptmultirequest-0.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 d08622445ff6a39878114c968cf7ada1c75efd56ea7dbf586e074b7bf58fae99
MD5 c329b518c242dedf84b68d80e3d5fd73
BLAKE2b-256 f6444bbb6fc42f112381493ba82e294621688ac838292e3fedd07c9c0481aa41

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page