Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
goWAPT — Test de pénétration d'application web en Go | Kitploit
Outils/GitHubGitHub/dzonerzy/gowapt
Scanners de Vulnérabilités WebAnalyse des VulnérabilitésScripting et AutomatisationExploitation d'Applications WebSécurité WebFuzzingTests d'Intrusion
GitHubdzonerzy/gowapt

goWAPT

Test de pénétration d'application web en Go

Voir le dépôt
34759il y a 1 anVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

GOWAPT - Test de pénétration d'applications Web en Go

GOWAPT est le petit frère de wfuzz, un couteau suisse du WAPT. Il permet au pentester d'effectuer d'énormes activités sans aucun stress, il suffit de le configurer et tout se fait en quelques clics.

Comment installer

Pour installer gowapt, tapez simplement :

root@kitploit:~
make
sudo make install

Utilisation

Depuis le menu -h

root@kitploit:~
Usage of gowapt:
  -H value
    	A list of additional headers
  -a string
    	Basic authentication (user:password)
  -c string
    	A list of cookies
  -d string
    	POST data for request
  -e string
    	A list of comma separated encoders (default "plain")
  -f string
    	Filter the results
  -from-proxy
    	Get the request via a proxy server
  -fuzz
    	Use the built-in fuzzer
  -p string
    	Use upstream proxy
  -plugin-dir string
    	Directory containing all scanning module
  -scanner
    	Run in scanning mode
  -ssl
    	Use SSL
  -t string
    	Template for request
  -threads int
    	Number of threads (default 10)
  -u string
    	URL to fuzz
  -w string
    	Wordlist file
  -x string
    	Extension file example.js

Exemples

Scannez http://www.example.com et filtrez toutes les requêtes 200 OK

root@kitploit:~
gowapt -u "http://www.example.com/FUZZ" -w wordlist/general/common.txt -f "code == 200"

Scannez http://www.example.com en fuzzant le paramètre GET vuln à la recherche de XSS (supposons qu'il avait 200 balises avec une requête légitime)

root@kitploit:~
gowapt -u "http://www.example.com/?vuln=FUZZ" -w wordlist/Injections/XSS.txt -f "tags > 200"

Scannez http://www.example.com en fuzzant le paramètre POST vuln à la recherche de XSS (supposons qu'il avait 200 balises avec une requête légitime)

root@kitploit:~
gowapt -u "http://www.example.com/" -d "vuln=FUZZ" -w wordlist/Injections/XSS.txt -f "tags > 200"

Scannez http://www.example.com protégé par authentification et filtrez toutes les requêtes 200 OK

root@kitploit:~
gowapt -u "http://www.example.com/FUZZ" -w wordlist/general/common.txt -f "code == 200" -a "user:password"

Scannez http://www.example.com en ajoutant l'en-tête Hello: world et filtrez toutes les requêtes 200 OK

root@kitploit:~
gowapt -u "http://www.example.com/FUZZ" -w wordlist/general/common.txt -f "code == 200" -H "Hello: world"

Scannez http://www.example.com en utilisant l'authentification de base avec utilisateur/mot de passe guest:guest

root@kitploit:~
gowapt -u "http://www.example.com/FUZZ" -w wordlist/general/common.txt -a "guest:guest"

Scannez http://www.example.com en ajoutant une extension

root@kitploit:~
gowapt -u "http://www.example.com/FUZZ" -w wordlist/general/common.txt -x myextension.js

Scannez http://www.example.com via un proxy (comme Burp) :

root@kitploit:~
gowapt -p "http://localhost:8080" -u "http://www.example.com/FUZZ" -w wordlist/general/common.txt

Scannez http://www.example.com (reçu du proxy) et filtrez toutes les requêtes 200 OK

root@kitploit:~
gowapt --from-proxy -w wordlist/general/common.txt

Exécutez le mode scanner sur http://www.example.com (reçu du proxy) avec les plugins par défaut

root@kitploit:~
gowapt --from-proxy --scanner --plugin-dir plugin/

Ensuite, ouvrez BurpSuite, envoyez la requête que vous souhaitez fuzzer dans Repeater et définissez un proxy amont sur 127.0.0.1:31337. Lorsque vous êtes prêt, cliquez sur Envoyer. Si tout s'est bien passé, vous devriez voir en réponse Request received by GOWAPT

Extension

Les extensions sont un moyen simple d'étendre les fonctionnalités de gowapt. Une machine virtuelle JavaScript est responsable du chargement et de l'exécution des fichiers d'extension.

API JS

Ci-dessous une liste des API actuellement implémentées

* PS : Lors de l'utilisation de setHTTPInterceptor, la méthode de callback reçoit 3 paramètres :

  • Un objet requête/réponse
  • Un objet résultat
  • Un objet drapeau qui indique si le premier objet est une requête ou une réponse

Étant donné la nature de sendRequestSync, cela ralentira le moteur en raison de la requête synchrone, donc utilisez-le avec modération

Plus d'informations sur l'exemple d'extension ci-dessous :

example.js

root@kitploit:~
/*
* Create a custom encoder called helloworld
*
* This encore just add the string "_helloworld" to every payload
* coming from the wordlist
*/
addCustomEncoder("helloworld", myenc);
/*
* Define the callback method for the helloworld encoder
*/
function myenc(data) {
	return data + "_helloword";
}
/*
* Create an HTTP interceptor
*
* The interceptor will hook every request / response
* is possible to modify request before send it, anyway the respose item
* it's just shadow copy of the one received from the server so no modification
* are possible
*
*
* request_response is an object which may contains both http.Request
* or http.Response , to know which on is contained check is_request flag
*
* REMEMBER! request_response is an http.* object so you must interact with
* this one just like you would do in golang!
*
* dumpResponse is a built-in function which dump full request-response to
* disk.
* result is an object filled with stats about the response it contains some fields
*
* result.tags => Number of tags in the response
* result.code => HTTP Response status
* result.words => Number of words in the response
* result.lines => Number of lines in the response
* result.chars => Number of chars in the response
* result.request => Full dump of the request
* result.response => Full dump of the response
* result.response => The injected payload
*
*/
setHTTPInterceptor(function(request_response, result, is_request){
	if(is_request){
		request_response.Header.Set("Hello", "world")
	}else{
		dumpResponse(request_response, "/tmp/dump.txt")
		/*
		* Send an HTTP request in a synchronous way
		*
		* This API accept 4 parameters:
		* method => GET | POST | HEAD | PUT | PATCH | UPDATE
		* url => The url of the HTTP service
		* post_data => The content of request bodyBytes
		* headers => A javascript dictionary {headerName => headerValue}
		*
		* The response object may be null or undefined or an http.Response from golang
		*/
		var response = sendRequestSync("GET", "http://example.com/", null, {"Fake": "Header"})
	}
})

Scanner

Un nouveau mode appelé Scanner a été introduit avec le dernier commit. Il permet à l'utilisateur de créer des plugins entièrement personnalisables pour effectuer un scan web actif. Pour plus d'informations, lisez le Wiki !

Wordlists

Les wordlists proviennent du projet wfuzz ! Merci beaucoup les gars !

Look & Feel

asciicast

Encodeurs

Ci-dessous la liste des encodeurs disponibles

  • url (Encodage URL)
  • urlurl (Double encodage URL)
  • html (Encodage HTML)
  • htmlhex (Encodage hexadécimal HTML)
  • unicode (Encodage Unicode)
  • hex (Encodage hexadécimal)
  • md5hash (Hachage MD5)
  • sha1hash (Hachage SHA1)
  • sha2hash (Hachage SHA2)
  • b64 (Encodage Base64)
  • b32 (Encodage Base32)
  • plain (Aucun encodage)

Filtres

Vous pouvez appliquer des filtres sur les variables suivantes

  • tags (Nombre de balises)
  • lines (Nombre de lignes du corps de la réponse)
  • words (Nombre de mots du corps de la réponse)
  • length (Taille du corps de la réponse)
  • code (Code de statut HTTP)
  • chars (Nombre de caractères du corps de la réponse)

Licence

gowapt est publié sous la licence GPL 3.0 et est copyleft de Daniele 'dzonerzy' Linguaglossa

Télécharger l’outil
MéthodeNombre de paramètresDescriptionParamètres
addCustomEncoder2Créer un encodeur personnalisé à utiliser avec les wordlistsParam1 -> EncoderName (string)
Param2 -> EncoderLogic (function)
panic1Pour le débogage, faire planter l'applicationParam1 -> PanicText (string)
dumpResponse2Vider une requête/réponse complète sur le disque, utile pour sauvegarder un cas de testParam1 -> ResponseObject (http.Response)
Param2 -> Path (string)
setHTTPInterceptor1Créer un intercepteur pour les requêtes HTTP sortantes et les réponses entrantesParam1 -> HTTPCallback (function) *
sendRequestSync *4Envoyer une requête HTTP de manière synchroneParam1 -> Method (string)
Param2 -> Url (string)
Param3 -> PostData (string)
Param4 -> Headers (Object{Name:Value})