From a9e51bd8fc1b7c3cb96baf28278bd965d49c1396 Mon Sep 17 00:00:00 2001 From: Translator Date: Sun, 8 Sep 2024 10:51:38 +0000 Subject: [PATCH] Translated ['pentesting-web/sql-injection/README.md', 'pentesting-web/sq --- SUMMARY.md | 2 +- pentesting-web/sql-injection/README.md | 32 ++++++++--------- pentesting-web/sql-injection/sqlmap/README.md | 36 +++++++++---------- pentesting-web/web-tool-wfuzz.md | 2 +- 4 files changed, 36 insertions(+), 36 deletions(-) diff --git a/SUMMARY.md b/SUMMARY.md index da21c1b58..33ae4e36e 100644 --- a/SUMMARY.md +++ b/SUMMARY.md @@ -630,7 +630,7 @@ * [Big Binary Files Upload (PostgreSQL)](pentesting-web/sql-injection/postgresql-injection/big-binary-files-upload-postgresql.md) * [RCE with PostgreSQL Languages](pentesting-web/sql-injection/postgresql-injection/rce-with-postgresql-languages.md) * [RCE with PostgreSQL Extensions](pentesting-web/sql-injection/postgresql-injection/rce-with-postgresql-extensions.md) - * [SQLMap - Cheetsheat](pentesting-web/sql-injection/sqlmap/README.md) + * [SQLMap - CheatSheet](pentesting-web/sql-injection/sqlmap/README.md) * [Second Order Injection - SQLMap](pentesting-web/sql-injection/sqlmap/second-order-injection-sqlmap.md) * [SSRF (Server Side Request Forgery)](pentesting-web/ssrf-server-side-request-forgery/README.md) * [URL Format Bypass](pentesting-web/ssrf-server-side-request-forgery/url-format-bypass.md) diff --git a/pentesting-web/sql-injection/README.md b/pentesting-web/sql-injection/README.md index e30dca35f..58d9e45bf 100644 --- a/pentesting-web/sql-injection/README.md +++ b/pentesting-web/sql-injection/README.md @@ -17,13 +17,13 @@ Learn & practice GCP Hacking:
-​​​​[**RootedCON**](https://www.rootedcon.com/) es el evento de ciberseguridad más relevante en **España** y uno de los más importantes en **Europa**. Con **la misión de promover el conocimiento técnico**, este congreso es un punto de encuentro vibrante para profesionales de la tecnología y la ciberseguridad en cada disciplina. +​​​​[**RootedCON**](https://www.rootedcon.com/) es el evento de ciberseguridad más relevante en **España** y uno de los más importantes en **Europa**. Con **la misión de promover el conocimiento técnico**, este congreso es un punto de encuentro vibrante para profesionales de la tecnología y la ciberseguridad en todas las disciplinas. {% embed url="https://www.rootedcon.com/" %} ## ¿Qué es la inyección SQL? -Una **inyección SQL** es una falla de seguridad que permite a los atacantes **interferir con las consultas a la base de datos** de una aplicación. Esta vulnerabilidad puede permitir a los atacantes **ver**, **modificar** o **eliminar** datos a los que no deberían tener acceso, incluyendo información de otros usuarios o cualquier dato al que la aplicación pueda acceder. Tales acciones pueden resultar en cambios permanentes en la funcionalidad o contenido de la aplicación o incluso en la compromisión del servidor o denegación de servicio. +Una **inyección SQL** es una falla de seguridad que permite a los atacantes **interferir con las consultas de la base de datos** de una aplicación. Esta vulnerabilidad puede permitir a los atacantes **ver**, **modificar** o **eliminar** datos a los que no deberían tener acceso, incluyendo información de otros usuarios o cualquier dato al que la aplicación pueda acceder. Tales acciones pueden resultar en cambios permanentes en la funcionalidad o contenido de la aplicación o incluso en la compromisión del servidor o denegación de servicio. ## Detección de puntos de entrada @@ -113,7 +113,7 @@ SQLite 1' AND [RANDNUM]=LIKE('ABCDEFG',UPPER(HEX(RANDOMBLOB([SLEEPTIME]00000000/2)))) 1' AND 123=LIKE('ABCDEFG',UPPER(HEX(RANDOMBLOB(1000000000/2)))) ``` -En algunos casos, las **funciones de sleep no estarán permitidas**. Entonces, en lugar de usar esas funciones, podrías hacer que la consulta **realice operaciones complejas** que tardarán varios segundos. _Ejemplos de estas técnicas se comentarán por separado en cada tecnología (si las hay)_. +En algunos casos, las **funciones de sleep no estarán permitidas**. Entonces, en lugar de usar esas funciones, podrías hacer que la consulta **realice operaciones complejas** que tomarán varios segundos. _Ejemplos de estas técnicas se comentarán por separado en cada tecnología (si las hay)_. ### Identificación del Back-end @@ -206,13 +206,13 @@ En los siguientes ejemplos vamos a recuperar el nombre de todas las bases de dat ``` _Hay una forma diferente de descubrir estos datos en cada base de datos diferente, pero siempre es la misma metodología._ -## Explotando Union Basado Oculto +## Explotando Inyección Basada en Unión Oculta Cuando la salida de una consulta es visible, pero una inyección basada en unión parece inalcanzable, esto significa la presencia de una **inyección basada en unión oculta**. Este escenario a menudo conduce a una situación de inyección ciega. Para transformar una inyección ciega en una basada en unión, es necesario discernir la consulta de ejecución en el backend. Esto se puede lograr mediante el uso de técnicas de inyección ciega junto con las tablas predeterminadas específicas de su Sistema de Gestión de Bases de Datos (DBMS) objetivo. Para entender estas tablas predeterminadas, se aconseja consultar la documentación del DBMS objetivo. -Una vez que se ha extraído la consulta, es necesario adaptar su carga útil para cerrar de manera segura la consulta original. Posteriormente, se agrega una consulta de unión a su carga útil, facilitando la explotación de la inyección basada en unión recién accesible. +Una vez que se ha extraído la consulta, es necesario adaptar su carga útil para cerrar de manera segura la consulta original. Posteriormente, se añade una consulta de unión a su carga útil, facilitando la explotación de la nueva inyección basada en unión accesible. Para obtener información más completa, consulte el artículo completo disponible en [Healing Blind Injections](https://medium.com/@Rend_/healing-blind-injections-df30b9e0e06f). @@ -260,7 +260,7 @@ a' UNION SELECT EXTRACTVALUE(xmltype(' HAVING --> LIMIT X,1 -> group_concat(CASE(table_schema)When(database()) ``` ### Bypass de WAF mediante Notación Científica -Puedes encontrar una explicación más detallada de este truco en [el blog de gosecure](https://www.gosecure.net/blog/2021/10/19/a-scientific-notation-bug-in-mysql-left-aws-waf-clients-vulnerable-to-sql-injection/).\ +Puedes encontrar una explicación más detallada de este truco en el [blog de gosecure](https://www.gosecure.net/blog/2021/10/19/a-scientific-notation-bug-in-mysql-left-aws-waf-clients-vulnerable-to-sql-injection/).\ Básicamente, puedes usar la notación científica de maneras inesperadas para el WAF para eludirlo: ``` -1' or 1.e(1) or '1'='1 @@ -476,7 +476,7 @@ Básicamente, puedes usar la notación científica de maneras inesperadas para e ``` ### Bypass Column Names Restriction -Primero que nada, nota que si la **consulta original y la tabla de la que deseas extraer la bandera tienen la misma cantidad de columnas** podrías simplemente hacer: `0 UNION SELECT * FROM flag` +Primero que nada, ten en cuenta que si la **consulta original y la tabla de la que deseas extraer la bandera tienen la misma cantidad de columnas** puedes simplemente hacer: `0 UNION SELECT * FROM flag` Es posible **acceder a la tercera columna de una tabla sin usar su nombre** utilizando una consulta como la siguiente: `SELECT F.3 FROM (SELECT 1, 2, 3 UNION SELECT * FROM demo)F;`, así que en una sqlinjection esto se vería así: ```bash @@ -522,7 +522,7 @@ Aprende y practica Hacking en GCP: Apoya a HackTricks * ¡Consulta los [**planes de suscripción**](https://github.com/sponsors/carlospolop)! -* **Únete al** 💬 [**grupo de Discord**](https://discord.gg/hRep4RUj7f) o al [**grupo de telegram**](https://t.me/peass) o **síguenos en** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.** +* **Únete al** 💬 [**grupo de Discord**](https://discord.gg/hRep4RUj7f) o al [**grupo de telegram**](https://t.me/peass) o **síguenos** en **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.** * **Comparte trucos de hacking enviando PRs a los** [**HackTricks**](https://github.com/carlospolop/hacktricks) y [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repositorios de github. diff --git a/pentesting-web/sql-injection/sqlmap/README.md b/pentesting-web/sql-injection/sqlmap/README.md index 4bc9b0321..68d35035a 100644 --- a/pentesting-web/sql-injection/sqlmap/README.md +++ b/pentesting-web/sql-injection/sqlmap/README.md @@ -1,23 +1,23 @@ -# SQLMap - Hoja de trucos +# SQLMap - Cheatsheet {% hint style="success" %} -Aprende y practica Hacking en AWS:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ -Aprende y practica Hacking en GCP: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte) +Learn & practice AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ +Learn & practice GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
-Apoya a HackTricks +Support HackTricks -* Revisa los [**planes de suscripción**](https://github.com/sponsors/carlospolop)! -* **Únete al** 💬 [**grupo de Discord**](https://discord.gg/hRep4RUj7f) o al [**grupo de telegram**](https://t.me/peass) o **síguenos** en **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.** -* **Comparte trucos de hacking enviando PRs a los** [**HackTricks**](https://github.com/carlospolop/hacktricks) y [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repositorios de github. +* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)! +* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.** +* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
{% endhint %}
-**Configuración disponible al instante para evaluación de vulnerabilidades y pruebas de penetración**. Realiza un pentest completo desde cualquier lugar con más de 20 herramientas y características que van desde la recopilación hasta la elaboración de informes. No reemplazamos a los pentesters - desarrollamos herramientas personalizadas, módulos de detección y explotación para devolverles algo de tiempo para profundizar, abrir shells y divertirse. +**Configuración disponible instantáneamente para evaluación de vulnerabilidades y pruebas de penetración**. Realiza una prueba de penetración completa desde cualquier lugar con más de 20 herramientas y características que van desde la recopilación de información hasta la elaboración de informes. No reemplazamos a los pentesters; desarrollamos herramientas personalizadas, módulos de detección y explotación para devolverles algo de tiempo para profundizar, abrir shells y divertirse. {% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %} @@ -162,13 +162,13 @@ Recuerda que **puedes crear tu propio tamper en python** y es muy simple. Puedes | base64encode.py | Codifica en Base64 todos los caracteres en una carga útil dada | | between.py | Reemplaza el operador mayor que ('>') con 'NOT BETWEEN 0 AND #' | | bluecoat.py | Reemplaza el carácter de espacio después de la declaración SQL con un carácter en blanco aleatorio válido. Luego reemplaza el carácter = con el operador LIKE | -| chardoubleencode.py | Codifica doblemente todos los caracteres en una carga útil dada (sin procesar ya codificados) | +| chardoubleencode.py | Codifica doblemente todos los caracteres en una carga útil dada (sin procesar los ya codificados) | | commalesslimit.py | Reemplaza instancias como 'LIMIT M, N' con 'LIMIT N OFFSET M' | | commalessmid.py | Reemplaza instancias como 'MID(A, B, C)' con 'MID(A FROM B FOR C)' | | concat2concatws.py | Reemplaza instancias como 'CONCAT(A, B)' con 'CONCAT\_WS(MID(CHAR(0), 0, 0), A, B)' | -| charencode.py | Codifica en URL todos los caracteres en una carga útil dada (sin procesar ya codificados) | -| charunicodeencode.py | Codifica en unicode-url los caracteres no codificados en una carga útil dada (sin procesar ya codificados). "%u0022" | -| charunicodeescape.py | Codifica en unicode-url los caracteres no codificados en una carga útil dada (sin procesar ya codificados). "\u0022" | +| charencode.py | Codifica en URL todos los caracteres en una carga útil dada (sin procesar los ya codificados) | +| charunicodeencode.py | Codifica en unicode-url los caracteres no codificados en una carga útil dada (sin procesar los ya codificados). "%u0022" | +| charunicodeescape.py | Codifica en unicode-url los caracteres no codificados en una carga útil dada (sin procesar los ya codificados). "\u0022" | | equaltolike.py | Reemplaza todas las ocurrencias del operador igual ('=') con el operador 'LIKE' | | escapequotes.py | Escapa las comillas (' y ") | | greatest.py | Reemplaza el operador mayor que ('>') con su contraparte 'GREATEST' | @@ -179,7 +179,7 @@ Recuerda que **puedes crear tu propio tamper en python** y es muy simple. Puedes | multiplespaces.py | Agrega múltiples espacios alrededor de las palabras clave SQL | | nonrecursivereplacement.py | Reemplaza palabras clave SQL predefinidas con representaciones adecuadas para el reemplazo (por ejemplo, .replace("SELECT", "")) filtros | | percentage.py | Agrega un signo de porcentaje ('%') delante de cada carácter | -| overlongutf8.py | Convierte todos los caracteres en una carga útil dada (sin procesar ya codificados) | +| overlongutf8.py | Convierte todos los caracteres en una carga útil dada (sin procesar los ya codificados) | | randomcase.py | Reemplaza cada carácter de palabra clave con un valor de caso aleatorio | | randomcomments.py | Agrega comentarios aleatorios a las palabras clave SQL | | securesphere.py | Agrega una cadena especialmente elaborada | @@ -192,20 +192,20 @@ Recuerda que **puedes crear tu propio tamper en python** y es muy simple. Puedes | space2mssqlhash.py | Reemplaza el carácter de espacio (' ') con un carácter de libra ('#') seguido de una nueva línea ('\n') | | space2mysqlblank.py | Reemplaza el carácter de espacio (' ') con un carácter en blanco aleatorio de un conjunto válido de caracteres alternativos | | space2mysqldash.py | Reemplaza el carácter de espacio (' ') con un comentario de guion ('--') seguido de una nueva línea ('\n') | -| space2plus.py | Reemplaza el carácter de espacio (' ') con un más ('+') | +| space2plus.py | Reemplaza el carácter de espacio (' ') con un signo más ('+') | | space2randomblank.py | Reemplaza el carácter de espacio (' ') con un carácter en blanco aleatorio de un conjunto válido de caracteres alternativos | | symboliclogical.py | Reemplaza los operadores lógicos AND y OR con sus contrapartes simbólicas (&& y | -| unionalltounion.py | Reemplaza UNION ALL SELECT con UNION SELECT | +| unionalltounion.py | Reemplaza UNION ALL SELECT con UNION SELECT | | unmagicquotes.py | Reemplaza el carácter de comillas (') con una combinación de múltiples bytes %bf%27 junto con un comentario genérico al final (para que funcione) | | uppercase.py | Reemplaza cada carácter de palabra clave con el valor en mayúsculas 'INSERT' | | varnish.py | Agrega un encabezado HTTP 'X-originating-IP' | -| versionedkeywords.py | Envuelve cada palabra clave no funcional con un comentario de MySQL versionado | -| versionedmorekeywords.py | Envuelve cada palabra clave con un comentario de MySQL versionado | +| versionedkeywords.py | Envuelve cada palabra clave no funcional con un comentario de MySQL versionado | +| versionedmorekeywords.py | Envuelve cada palabra clave con un comentario de MySQL versionado | | xforwardedfor.py | Agrega un encabezado HTTP falso 'X-Forwarded-For' |
-**Configuración disponible instantáneamente para evaluación de vulnerabilidades y pruebas de penetración**. Realiza una prueba de penetración completa desde cualquier lugar con más de 20 herramientas y características que van desde la recopilación hasta la elaboración de informes. No reemplazamos a los pentesters; desarrollamos herramientas personalizadas, módulos de detección y explotación para darles tiempo para profundizar, abrir shells y divertirse. +**Configuración disponible instantáneamente para evaluación de vulnerabilidades y pruebas de penetración**. Realiza una prueba de penetración completa desde cualquier lugar con más de 20 herramientas y características que van desde la recopilación hasta la elaboración de informes. No reemplazamos a los pentesters: desarrollamos herramientas personalizadas, módulos de detección y explotación para darles tiempo para profundizar, abrir shells y divertirse. {% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %} diff --git a/pentesting-web/web-tool-wfuzz.md b/pentesting-web/web-tool-wfuzz.md index 043d3d9bc..9063af761 100644 --- a/pentesting-web/web-tool-wfuzz.md +++ b/pentesting-web/web-tool-wfuzz.md @@ -57,7 +57,7 @@ Ejemplos: -w /path/to/file,base64 #Will use a list, and transform to base64 -z list,each-element-here,hexlify #Inline list and to hex before sending values ``` -## CheetSheet +## CheatSheet ### Login Form bruteforce