Software for locating the origin host behind a reverse proxy. Helpful for bypassing WAFs and different reverse proxies.
How does it work?
This device will first make a HTTP request to the hostname that you simply present and retailer the response, then it is going to make a request to each IP deal with that you simply present through HTTP (80) and HTTPS (443), with the Host
header set to the unique host. Every HTTP response is then in comparison with the unique utilizing the Levenshtein algorithm to find out similarity. If the response is comparable, it is going to be deemed a match.
Utilization
Present the listing of IP addresses through stdin, and the unique hostname through the -h choice. For instance:
prips 93.184.216.0/24 | hakoriginfinder -h instance.com
You could set the Levenshtein distance threshold with -l
. The decrease the quantity, the extra comparable the matches must be for it to be thought-about a match, the default is 5.
The variety of threads could also be set with -t
, default is 32.
The hostname is about with -h
, there is no such thing as a default.
Output
The output is 3 columns, separated by areas. The primary column is both “MATCH” or “NOMATCH” relying on whether or not the Levenshtein threshold was reached or not. The second column is the URL being teseted, and the third column is the Levenshtein rating.
Output instance
hakluke$ prips 1.1.1.0/24 | hakoriginfinder -h one.one.one.one
NOMATCH http://1.1.1.0 54366
NOMATCH http://1.1.1.30 54366
NOMATCH http://1.1.1.20 54366
NOMATCH http://1.1.1.4 54366
NOMATCH http://1.1.1.11 54366
NOMATCH http://1.1.1.5 54366
NOMATCH http://1.1.1.22 54366
NOMATCH http://1.1.1.13 54366
NOMATCH http://1.1.1.10 54366
NOMATCH http://1.1.1.25 54366
NOMATCH http://1.1.1.19 54366
... snipped for brevity ...
NOMATCH http://1.1.1.251 54366
NOMATCH http://1.1.1.248 54366
MATCH http://1.1.1.1 0
NOMATCH http://1.1.1.3 19567
NOMATCH http://1.1.1.2 19517
MATCH https://1.1.1.1 0
NOMATCH https://1.1.1.3 19534
NOMATCH https://1.1.1.2 19532
Set up
Set up golang, then run: