
Un proxy polyvalent et portable pour capturer, manipuler et rejouer le trafic HTTP/HTTPS en déplacement.
Fonctionnalités • Installation • Utilisation • Exécuter Proxify • Installation du certificat SSL • Applications de Proxify • Rejoindre Discord
Proxy couteau suisse pour des déploiements rapides. Prend en charge plusieurs opérations telles que l'enregistrement des requêtes/réponses, le filtrage et la manipulation via le langage DSL, ainsi que le proxy amont HTTP/Socks5. De plus, un utilitaire de rejeu permet d'importer le trafic enregistré (requêtes/réponses avec le nom de domaine correct) dans BurpSuite ou tout autre proxy en définissant simplement le proxy amont sur proxify.
Téléchargez le binaire prêt à l'emploi ou installez/compilez-le avec GO
go install -v github.com/projectdiscovery/proxify/cmd/proxify@latest
proxify -h
Cela affichera l'aide de l'outil. Voici tous les commutateurs qu'il prend en charge.
Swiss Army Knife Proxy for rapid deployments. Supports multiple operations such as request/response dump,filtering and manipulation via DSL language, upstream HTTP/Socks5 proxy
Usage:
./proxify [flags]
Flags:
OUTPUT:
-sr, -store-response store raw http request / response to output directory (default proxify_logs)
-o, -output output file to store proxify logs (default proxify_logs.jsonl)
-of, -output-format string output format (jsonl/yaml) (default "jsonl")
-dump-req Dump only HTTP requests to output file
-dump-resp Dump only HTTP responses to output file
-oca, -out-ca string Generate and Save CA File to filename
UPDATE:
-up, -update update proxify to latest version
-duc, -disable-update-check disable automatic proxify update check
FILTER:
-req-fd, -request-dsl string[] Request Filter DSL
-resp-fd, -response-dsl string[] Response Filter DSL
-req-mrd, -request-match-replace-dsl string[] Request Match-Replace DSL
-resp-mrd, -response-match-replace-dsl string[] Response Match-Replace DSL
NETWORK:
-ha, -http-addr string Listening HTTP IP and Port address (ip:port) (default "127.0.0.1:8888")
-sa, -socks-addr Listening SOCKS IP and Port address (ip:port) (default 127.0.0.1:10080)
-da, -dns-addr string Listening DNS IP and Port address (ip:port)
-dm, -dns-mapping string Domain to IP DNS mapping (eg domain:ip,domain:ip,..)
-r, -resolver string Custom DNS resolvers to use (ip:port)
PROXY:
-hp, -http-proxy string[] Upstream HTTP Proxies (eg http://proxy-ip:proxy-port)
-sp, -socks5-proxy string[] Upstream SOCKS5 Proxies (eg socks5://proxy-ip:proxy-port)
-c int Number of requests before switching to the next upstream proxy (default 1)
EXPORT:
-max-size int Max export data size (request/responses will be truncated) (default 9223372036854775807)
CONFIGURATION:
-config string path to the proxify configuration file
-ec, -export-config string proxify export module configuration file (default "$CONFIG/export-config.yaml")
-config-directory string override the default config path (default "$CONFIG/proxify")
-cert-cache-size int Number of certificates to cache (default 256)
-a, -allow string[] Allowed list of IP/CIDR's to be proxied
-d, -deny string[] Denied list of IP/CIDR's to be proxied
-pt, -passthrough string[] List of passthrough domains
DEBUG:
-nc, -no-color No Color
-version Version
-silent Silent
-v, -verbose Verbose
-vv, -very-verbose Very Verbose
Exécute un proxy HTTP sur le port 8888 :
proxify
Exécute un proxy HTTP sur le port personnalisé 1111 :
proxify -http-addr ":1111"
Le drapeau -pt peut être utilisé pour passer au travers (ignorer) le trafic chiffré sans tenter de terminer la connexion TLS.
proxify -pt '(.*\.)?google\.co.in.*'
Exécute un proxy HTTP sur le port 8888 et transmet le trafic à burp sur le port 8080 :
proxify -http-proxy http://127.0.0.1:8080
Exécute un proxy HTTP sur le port 8888 et transmet le trafic au réseau TOR :
proxify -socks5-proxy 127.0.0.1:9050
Proxify prend en charge trois formats de sortie : JSONL, YAML et Fichiers.
JSONL (par défaut) :
Au format Json Lines, chaque paire Requête/Réponse HTTP est stockée sous forme d'objet json sur une seule ligne.
{"timestamp":"2024-02-20T01:56:49+05:30","url":"https://scanme.sh:443","request":{"header":{"Connection":"close","User-Agent":"curl/8.1.2","host":"scanme.sh:443","method":"CONNECT","path":"","scheme":"https"},"raw":"CONNECT scanme.sh:443 HTTP/1.1\r\nHost: scanme.sh:443\r\nConnection: close\r\nUser-Agent: curl/8.1.2\r\n\r\n"},"response":{"header":{"Content-Length":"0"},"raw":"HTTP/1.1 200 OK\r\nContent-Length: 0\r\n\r\n"}}
{"timestamp":"2024-02-20T01:56:49+05:30","url":"https://scanme.sh/","request":{"header":{"Accept":"*/*","Connection":"close","User-Agent":"curl/8.1.2","host":"scanme.sh","method":"GET","path":"/","scheme":"https"},"raw":"GET / HTTP/1.1\r\nHost: scanme.sh\r\nAccept: */*\r\nConnection: close\r\nUser-Agent: curl/8.1.2\r\n\r\n"},"response":{"header":{"Content-Type":"text/plain; charset=utf-8","Date":"Mon, 19 Feb 2024 20:26:49 GMT"},"body":"ok","raw":"HTTP/1.1 200 OK\r\nConnection: close\r\nContent-Type: text/plain; charset=utf-8\r\nDate: Mon, 19 Feb 2024 20:26:49 GMT\r\n\r\n"}}
Yaml MultiDoc :