Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
Herramientas/GitHubGitHub/dzonerzy/gowapt
Escáneres de Vulnerabilidades WebAnálisis de VulnerabilidadesScripting y AutomatizaciónExplotación de Aplicaciones WebSeguridad WebFuzzingPruebas de Penetración
GitHubdzonerzy/gowapt

goWAPT

Prueba de penetración de aplicaciones web en Go

Ver Repositorio
347595hace 1 añoRevisado por Kitploit

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

GOWAPT - Prueba de Penetración de Aplicaciones Web en Go

GOWAPT es el hermano pequeño de wfuzz, una navaja suiza de WAPT. Permite al pentester realizar actividades masivas sin estrés alguno; solo configúralo y todo se reduce a unos clics.

Cómo instalar

Para instalar gowapt simplemente ejecuta:

root@kitploit:~
make
sudo make install

Uso

Desde el menú de -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
Descargar herramienta

Ejemplos

Escanear http://www.example.com y filtrar todas las solicitudes 200 OK

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

Escanear http://www.example.com fuzzeando el parámetro GET vuln buscando XSS (asumiendo que tenía 200 etiquetas con una solicitud legítima)

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

Escanear http://www.example.com fuzzeando el parámetro POST vuln buscando XSS (asumiendo que tenía 200 etiquetas con una solicitud legítima)

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

Escanear http://www.example.com protegido con autenticación y filtrar todas las solicitudes 200 OK

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

Escanear http://www.example.com añadiendo la cabecera Hello: world y filtrar todas las solicitudes 200 OK

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

Escanear http://www.example.com usando autenticación básica con usuario/contraseña guest:guest

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

Escanear http://www.example.com añadiendo una extensión

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

Escanear http://www.example.com a través de un proxy (como Burp):

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

Escanear http://www.example.com (recibido desde el proxy) y filtrar todas las solicitudes 200 OK

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

Ejecutar modo escáner en http://www.example.com (recibido desde el proxy) con los plugins por defecto

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

Luego abre BurpSuite, envía la solicitud que deseas fuzzear al repeater y establece un proxy upstream hacia 127.0.0.1:31337. Cuando estés listo, haz clic en enviar. Si todo está correcto, deberías ver como respuesta Request received by GOWAPT

Extensión

Las extensiones son una forma sencilla de ampliar las características de gowapt. Una máquina virtual JavaScript es la encargada de cargar y ejecutar los archivos de extensión.

API JS

A continuación se muestra una lista de la API actualmente implementada.

MétodoNúmero de parámetrosDescripciónParámetros
addCustomEncoder2Crea un codificador personalizado para usar con listas de palabrasParam1 -> EncoderName (string)
Param2 -> EncoderLogic (function)
panic1Para depuración, bloquea la aplicaciónParam1 -> PanicText (string)
dumpResponse2Vuelca una solicitud/respuesta completa a disco, útil para guardar casos de pruebaParam1 -> ResponseObject (http.Response)
Param2 -> Path (string)
setHTTPInterceptor1Crea un interceptor para las solicitudes HTTP salientes y las respuestas entrantesParam1 -> HTTPCallback (function) *
sendRequestSync *4Envía una solicitud HTTP de forma síncronaParam1 -> Method (string)
Param2 -> Url (string)
Param3 -> PostData (string)
Param4 -> Headers (Object{Name:Value})

* PD: Al usar setHTTPInterceptor, el método de callback recibe 3 parámetros:

  • Un objeto solicitud/respuesta
  • Un objeto resultado
  • Un flag que indica si el primer objeto es una solicitud o una respuesta

Debido a la naturaleza de sendRequestSync, esto ralentizará el motor debido a la solicitud síncrona, así que úsalo con moderación

Más información en el ejemplo de extensión a continuación:

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"})
	}
})

Escáner

Se introdujo un nuevo modo llamado Scanner con el último commit. Permite al usuario crear plugins totalmente personalizables para realizar escaneos web activos. Para más información, lee la Wiki!.

Listas de palabras

Las listas de palabras provienen del proyecto wfuzz! ¡Muchas gracias, chicos!

Apariencia

asciicast

Codificadores

A continuación, la lista de codificadores disponibles:

  • url (Codificación URL)
  • urlurl (Codificación URL doble)
  • html (Codificación HTML)
  • htmlhex (Codificación HTML hexadecimal)
  • unicode (Codificación Unicode)
  • hex (Codificación hexadecimal)
  • md5hash (Hash MD5)
  • sha1hash (Hash SHA1)
  • sha2hash (Hash SHA2)
  • b64 (Codificación Base64)
  • b32 (Codificación Base32)
  • plain (Sin codificación)

Filtros

Puedes aplicar filtros sobre las siguientes variables:

  • tags (Número de etiquetas)
  • lines (Número de líneas del cuerpo de la respuesta)
  • words (Número de palabras del cuerpo de la respuesta)
  • length (Tamaño del cuerpo de la respuesta)
  • code (Código de estado HTTP)
  • chars (Número de caracteres del cuerpo de la respuesta)

Licencia

gowapt se publica bajo la licencia GPL 3.0 y es copyleft de Daniele 'dzonerzy' Linguaglossa