<?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>Sentido Web &#187; Seguridad</title>
	<atom:link href="http://sentidoweb.com/tag/seguridad/feed" rel="self" type="application/rss+xml" />
	<link>http://sentidoweb.com</link>
	<description>Desarrollo web, HTML, CSS, Javascript, PHP, MySQL</description>
	<lastBuildDate>Wed, 28 Jul 2010 09:01:27 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>XSS Rays: javascript que detecta vectores XSS</title>
		<link>http://sentidoweb.com/2009/04/03/xss-rays-javascript-que-detecta-vectores-xss.php</link>
		<comments>http://sentidoweb.com/2009/04/03/xss-rays-javascript-que-detecta-vectores-xss.php#comments</comments>
		<pubDate>Fri, 03 Apr 2009 17:30:00 +0000</pubDate>
		<dc:creator>displaynone</dc:creator>
				<category><![CDATA[Seguridad]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[xss]]></category>

		<guid isPermaLink="false">sw.luissacristan.com</guid>
		<description><![CDATA[XSS Rays es un script que permite detectar vectores XSS en cualquier página web. Debemos instalar en un servidor web (puede ser en local) y añadir a nuestros marcadores o favoritos para poder ejecutarlo sobre cualquier página que visitemos.
Funciona para IE y FF, aunque puede funcionar en otros navegadores, además se pueden personalizar los vectores [...]]]></description>
			<content:encoded><![CDATA[XSS Rays es un script que permite detectar <a href="http://sentidoweb.com/2009/03/24/xss-cheat-sheet.php">vectores XSS</a> en cualquier página web. Debemos instalar en un servidor web (puede ser en local) y añadir a nuestros marcadores o favoritos para poder ejecutarlo sobre cualquier página que visitemos.
Funciona para IE y FF, aunque puede funcionar en otros navegadores, además se pueden personalizar los vectores para cada navegador.
La ejecución es sencilla, accedes al marcador, empiezas el test y te va mostrando las incidencias que encuentra (si es que las hay).
<a href="http://www.thespanner.co.uk/2009/03/25/xss-rays/">XSS Rays</a>
Vía / <a href="http://youare.com/lajevardi/2009/04/02/720687">lajevardi</a>
]]></content:encoded>
			<wfw:commentRss>http://sentidoweb.com/2009/04/03/xss-rays-javascript-que-detecta-vectores-xss.php/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Clasificación de amenazas Web</title>
		<link>http://sentidoweb.com/2007/11/13/clasificacion-de-amenazas-web.php</link>
		<comments>http://sentidoweb.com/2007/11/13/clasificacion-de-amenazas-web.php#comments</comments>
		<pubDate>Wed, 14 Nov 2007 01:45:00 +0000</pubDate>
		<dc:creator>displaynone</dc:creator>
				<category><![CDATA[Seguridad]]></category>

		<guid isPermaLink="false">sw.luissacristan.com</guid>
		<description><![CDATA[Algo a tener en cuenta cuando realizamos una aplicación web son los ataques que podemos recibir, para así estar preparados contra ellos y tomar soluciones al respecto.
En Web Application Security Consortium han realizado un documento que pretende &#8220;desarrollar y promover una terminología estándar para la industria que describa estos aspectos. Desarrolladores de aplicaciones, profesionales de [...]]]></description>
			<content:encoded><![CDATA[Algo a tener en cuenta cuando realizamos una aplicación web son los ataques que podemos recibir, para así estar preparados contra ellos y tomar soluciones al respecto.
En Web Application Security Consortium han realizado un documento que pretende &#8220;<em>desarrollar y promover una terminología estándar para la industria que describa estos aspectos. Desarrolladores de aplicaciones, profesionales de la seguridad, fabricantes de software y auditores, tendrán la capacidad de disponer de un lenguaje consistente para tratar los aspectos relacionados con la seguridad web</em>&#8220;.
El documento, disponible en español, nos muestra los distintos tipos de ataques que nos podemos encontrar (autenticación, autorización, por parte del cliente, ejecución de comandos, revelación de información y ataques lógicos), y nos explica posibles soluciones y referencias para obtener más información.
<a href="http://webappsec.org/projects/threat/v1/WASC_TC-1.0.spa.pdf">Web Security Threat Classification (español)</a> &#8211; PDF
]]></content:encoded>
			<wfw:commentRss>http://sentidoweb.com/2007/11/13/clasificacion-de-amenazas-web.php/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>20 cosas para volver segura tu configuración de Apache</title>
		<link>http://sentidoweb.com/2006/12/22/20-cosas-para-volver-segura-tu-configuracion-de-apache.php</link>
		<comments>http://sentidoweb.com/2006/12/22/20-cosas-para-volver-segura-tu-configuracion-de-apache.php#comments</comments>
		<pubDate>Fri, 22 Dec 2006 16:45:17 +0000</pubDate>
		<dc:creator>displaynone</dc:creator>
				<category><![CDATA[Apache]]></category>
		<category><![CDATA[20 opciones seguridad apache]]></category>
		<category><![CDATA[Seguridad]]></category>

		<guid isPermaLink="false">sw.luissacristan.com</guid>
		<description><![CDATA[Os presento una lista que he encontrado de 20 cosas que se pueden hacer para volver más segura tu configuración de Apache:
Antes de nada, asegurate de que tienes instalados todos los parches de seguridad.
Oculta la versión de Apache y otra información sensible.
Asegúrate de que Apache se ejecuta con su usuario propio y su grupo de [...]]]></description>
			<content:encoded><![CDATA[<p>Os presento una lista que he encontrado de 20 cosas que se pueden hacer para volver más segura tu configuración de Apache:</p>
<ul><li>Antes de nada, asegurate de que tienes instalados todos los parches de seguridad.</li>
<li>Oculta la versión de Apache y otra información sensible.</li>
<li>Asegúrate de que Apache se ejecuta con su usuario propio y su grupo de usuarios.</li>
<li>Los ficheros fuera del web root no deben ser accesibles.</li>
<li>Desactiva el listado de directorios.</li>
<li>Desactiva los <em>server side includes</em>.</li>
<li>Desactiva la ejecución de CGIs.</li>
<li>No permitir que Apache siga los <em>symbolic links</em>.</li>
<li>No permitas opciones de una única vez.</li>
<li>Desactiva el soporte a <em>.htaccess</em>.</li>
<li>Usa <em>mod_security</em>.</li>
<li>Desactiva módulos innecesarios.</li>
<li>Asegurate que solo el <em>root</em> tiene acceso al fichero de configuración de Apache y a los binarios.</li>
<li>Disminuye el valor del <em>timeout</em>.</li>
<li>Limita el tamaño de las <em>requests</em>.</li>
<li>Limita el tamaño del cuerpo de un XML.</li>
<li>Limita la concurrencia.</li>
<li>Restringe el acceso mediante IP.</li>
<li>Ajusta las opciones de <em>KeepAlive</em>.</li>
<li>Ejecuta Apache en un entorno <em>Chroot</em>.</li>
</ul>
<p><a href="http://www.petefreitag.com/item/505.cfm">20 ways to Secure your Apache Configuration</a></p>
]]></content:encoded>
			<wfw:commentRss>http://sentidoweb.com/2006/12/22/20-cosas-para-volver-segura-tu-configuracion-de-apache.php/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Proteger tu aplicación web</title>
		<link>http://sentidoweb.com/2006/11/24/proteger-tu-aplicacion-web.php</link>
		<comments>http://sentidoweb.com/2006/11/24/proteger-tu-aplicacion-web.php#comments</comments>
		<pubDate>Fri, 24 Nov 2006 18:30:00 +0000</pubDate>
		<dc:creator>displaynone</dc:creator>
				<category><![CDATA[Desarrollo web]]></category>
		<category><![CDATA[Seguridad]]></category>
		<category><![CDATA[seguridad desarrollo web]]></category>

		<guid isPermaLink="false">sw.luissacristan.com</guid>
		<description><![CDATA[Interesantísimo artículo que nos guía a proteger nuestra aplicación web para evitar posibles ataques. Haciendo un corto resumen, separamos las distintas acciones que debemos seguir en:
Validar todas nuestras entradas (variables de sesión y formularios). Los datos deben ser lo que se esperan, y si se esperan desde POST, que no vengan desde GET.
Evitar el cross-site [...]]]></description>
			<content:encoded><![CDATA[<p>Interesantísimo artículo que nos guía a proteger nuestra aplicación web para evitar posibles ataques. Haciendo un corto resumen, separamos las distintas acciones que debemos seguir en:</p>
<ul><li>Validar todas nuestras entradas (variables de sesión y formularios). Los datos deben ser lo que se esperan, y si se esperan desde POST, que no vengan desde GET.</li>
<li>Evitar el cross-site scripting (XSS) que es la introducción maliciosa de  código mediante formularios que se ejecutará en nuestra aplicación.</li>
<li>Modificar el fichero de configuración <em>php.ini</em> para que no use <em>super globals</em>, para mostrar todos los errores y que estos se muestren por fichero.</li>
<li>Asegurar la conexión a la base de datos. Este método no lo conocía y la verdad es que me ha gustado bastante.</li>
<li>Bloquear IPs de hackers, ya sea mediante PHP o htaccess</li>
<li>Si el otro día hablábamos del <a href="http://sentidoweb.com/2006/11/13/aqua-es-un-ldap.php">LDAP</a>, ahora nos hablan del LDAP injection, otra cosa que no sabía (no, si ya he dicho que es un buen artículo).</li>
<li>Evitar que Google proporcione datos que no queremos (Google Hacking), para ello lo mejor es usar el <em>robots.txt</em>.</li>
<li>Restringir el acceso mediante <em>.htaccess</em></li>
</ul>
<p><a href="http://www.newearthonline.co.uk/index.php?page=article&#038;article=53">Protecting your Site</a></p>
<p>Vía / <a href="http://www.dzone.com/rsslinks/protecting_your_site.html">dzone</a></p>
]]></content:encoded>
			<wfw:commentRss>http://sentidoweb.com/2006/11/24/proteger-tu-aplicacion-web.php/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>10 signos de una aplicación web insegura</title>
		<link>http://sentidoweb.com/2006/11/09/10-signos-de-una-aplicacion-web-insegura.php</link>
		<comments>http://sentidoweb.com/2006/11/09/10-signos-de-una-aplicacion-web-insegura.php#comments</comments>
		<pubDate>Fri, 10 Nov 2006 02:00:00 +0000</pubDate>
		<dc:creator>displaynone</dc:creator>
				<category><![CDATA[Desarrollo web]]></category>
		<category><![CDATA[consejos]]></category>
		<category><![CDATA[Seguridad]]></category>
		<category><![CDATA[seguridad consejos]]></category>

		<guid isPermaLink="false">sw.luissacristan.com</guid>
		<description><![CDATA[Interesante lista de puntos que pueden evidenciar que nuestra aplicación web tiene problemas de seguridad:
Estadísticas expuestas: está bien saber quienes nos visitan, aunque lo que no es correcto es que esta información este disponible. Algunos programas de estadísticas tiene problemas de vulnerabilidad, a parte de que esa información debería ser confidencial.&#8220;Generated by Webalizer&#8221; intitle:&#8221;Usage Statistics&#8221;inurl:awstats [...]]]></description>
			<content:encoded><![CDATA[<p>Interesante lista de puntos que pueden evidenciar que nuestra aplicación web tiene problemas de seguridad:</p>
<ul><li><strong>Estadísticas expuestas</strong>: está bien saber quienes nos visitan, aunque lo que no es correcto es que esta información este disponible. Algunos programas de estadísticas tiene problemas de vulnerabilidad, a parte de que esa información debería ser confidencial.<br/><a href="http://www.google.com/search?q=%E2%80%A2%09%22Generated+by+Webalizer%22+intitle%3A%22Usage+Statistics%22&amp;btnG=Search" target="_blank">&#8220;Generated by Webalizer&#8221; intitle:&#8221;Usage Statistics&#8221;</a><br /><a href="http://www.google.com/search?hl=en&amp;lr=&amp;q=inurl%3Aawstats+filetype%3Apl&amp;btnG=Search" target="_blank">inurl:awstats filetype:pl</a></li>
<li><strong>Copias de seguridad</strong>: muchas veces los desarrolladores, al no disponer de un entorno de pruebas, crean copias de seguridad en el mismo servidor, normalmente renombrando como <em>.old</em> o <em>.bak</em>.<br /><a href="http://www.google.com/search?hl=en&amp;lr=&amp;q=filetype%3Abak+inurl%3A%22default%22&amp;btnG=Search" target="_blank">filetype:bak inurl:&#8221;default&#8221;</a><br /><a href="http://www.google.com/search?hl=en&amp;lr=&amp;q=filetype%3Aold+inurl%3A%22index%22&amp;btnG=Search" target="_blank">filetype:old inurl:&#8221;index&#8221;</a><br /><a href="http://portal.spidynamics.com/controlpanel/Blogs/inurl:%22Copy%20of%20%22" target="_blank">inurl:&#8221;Copy%20of%20&#8243;</a></li>
<li>Tu sitio aparece en un sitio que recopila sitios con vulnerabilidades.<br /><a href="http://sla.ckers.org/forum/read.php?3,44">sla.ckers.org</a></li>
<li><strong>Listado de directorios</strong>: no permitas que la gente pueda acceder a la lista de los ficheros contenidos en los directorios.<br /><a href="http://www.google.com/search?hl=en&amp;lr=&amp;q=%22index+of+cgi-bin%22&amp;btnG=Search" target="_blank">&#8220;index of cgi-bin&#8221;</a><br /><a href="http://www.google.com/search?hl=en&amp;lr=&amp;q=intitle%3A%22index+of%2F%22+intext%3A%22parent+directory%22&amp;btnG=Search" target="_blank">intitle:&#8221;index of/&#8221; intext:&#8221;parent directory&#8221;</a></li>
<li>Datos de login pasados en claro.</li>
<li><strong>Certificados SSL caducados</strong>: ¿cómo se puede confiar en un sitio que no paga unos cientos de dólares para tener su certificado en orden?.</li>
<li><strong>Uso de código ajeno</strong>: no se trata de no usar código de otros, sino de usarlo estando seguro de que no tiene errores de seguridad, para ello es bueno pasarse de vez en cuando por <a href="http://secunia.com/" target="_blank">Secunia</a> o <a href="http://www.securityfocus.com/bid/" target="_blank">SecurityFocus</a>.</li>
<li><strong>Mensajes de error</strong>: cuidado con los mensajes de error que muestras, lo más recomendable es ponerle niveles a las trazas, así, si usas el nivel <em>DEBUG</em> los errores que cuando se muestran puedan ser peligrosos para nuestra aplicación solo se usaran cuando desarrollamos.<br /><a href="http://www.google.com/search?hl=en&amp;lr=&amp;q=%22ORA-00921%3A+unexpected+end+of+SQL+command%22&amp;btnG=Search" target="_blank">&#8220;ORA-00921: unexpected end of SQL command&#8221;</a><br /><a href="http://www.google.com/search?hl=en&amp;lr=&amp;q=%22Microsoft+OLE+DB+Provider+for+ODBC+Drivers+error%22&amp;btnG=Search" target="_blank">&#8220;Microsoft OLE DB Provider for ODBC Drivers error&#8221;</a></li>
<li><strong>Comentarios en nuestro código</strong>: aunque no aparezcan si se pueden leer mirando el código fuente, un error grave es poner comentarios para nuestro código PHP o JSP como comentarios HTML.<br /><a href="http://www.google.com/codesearch?q=%2F%2F+TODO+lang%3Ajavascript&amp;btnG=Search&amp;hl=en&amp;lr=" target="_blank">// TODO lang:javascript</a><br /><a href="http://www.google.com/codesearch?hl=en&amp;lr=&amp;q=%2F%2F+FIXME+lang%3Ajavascript&amp;btnG=Search" target="_blank">// FIXME lang:javascript</a></li>
<li>Si apareces en la lista de <a href="http://old.zone-h.org/en/defacements/">Zone-H Defacement Archive</a> debes ponerte a trabajar ya mismo.</li></ul>
<p><a href="http://portal.spidynamics.com/blogs/msutton/archive/2006/11/01/Top-10-Signs-You-Have-an-Insecure-Web-App.aspx">Top 10 Signs You Have an Insecure Web App</a></p>
<p>Vía / <a href="http://www.dzone.com/rsslinks/top_10_signs_you_have_an_insecure_web_app.html">dzone</a></p>
]]></content:encoded>
			<wfw:commentRss>http://sentidoweb.com/2006/11/09/10-signos-de-una-aplicacion-web-insegura.php/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Configura tu PHP de forma segura</title>
		<link>http://sentidoweb.com/2006/10/06/configura-tu-php-de-forma-segura.php</link>
		<comments>http://sentidoweb.com/2006/10/06/configura-tu-php-de-forma-segura.php#comments</comments>
		<pubDate>Fri, 06 Oct 2006 23:20:00 +0000</pubDate>
		<dc:creator>displaynone</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[php seguridad configuracion]]></category>
		<category><![CDATA[Seguridad]]></category>

		<guid isPermaLink="false">sw.luissacristan.com</guid>
		<description><![CDATA[PHP viene por defecto configurado para desarrollo, pero en producción hay opciones que no son recomendables sobre todo por temas de seguridad. Cambiad en el php.ini las siguientes opciones para mejorar la seguridad en tu entorno de producción:
Desactiva el acceso a ficheros remotos: las funciones fopen, file_get_contents, y include permiten el acceso a ficheros remotos [...]]]></description>
			<content:encoded><![CDATA[<p>PHP viene por defecto configurado para desarrollo, pero en producción hay opciones que no son recomendables sobre todo por temas de seguridad. Cambiad en el <em>php.ini</em> las siguientes opciones para mejorar la seguridad en tu entorno de producción:</p>
<ul><li><strong>Desactiva el acceso a ficheros remotos</strong>: las funciones <em>fopen</em>, <em>file_get_contents</em>, y <em>include</em> permiten el acceso a ficheros remotos (<em>http://host/..</em>), lo cual puede dar problema en temas de seguridad. Si necesitas acceder a ficheros remotos puedes usar <em>fsockopen</em> o funciones de CURL.</li>
</ul><pre>allow_url_fopen = Off</pre>
<ul><li><strong>Register globals</strong>: aunque ahora viene por defecto desactivado, en versiones anteriores de PHP, los parámetros de entrada se registraban como variables globales.</li>
</ul><pre>register_globals = Off</pre>
<ul><li><strong>Restringe a qué ficheros puede acceder PHP</strong>: normalmente PHP solo necesita acceder a ficheros situados en cierto path, por lo que para evitar que se acceda a otros paths, es conveniente restringir su acceso.</li>
</ul><pre>open_basedir = /www/ficheros</pre>
<ul><li><strong>Modo seguro</strong>: PHP dispone de un modo seguro, en el que Apache solo puede acceder a ficheros de los que sea dueño, aunque nos puede dar problemas sobre todo cuando se trabaja en grupo, la tranquilidad que nos aporta pesa más que este inconveniente. Para ello usaremos una propiedad para que solo ejecute scripts que le pertenecen y otra permite acceso a los ficheros que pertenecen al grupo de Apache aun cual sea el dueño.</li></ul>
<pre>safe_mode = Off
safe_mode_gid = On</pre>
<ul><li><strong>Acceso permitido a ficheros binarios</strong>: el modo seguro tampoco permite ejecutar ficheros binarios, pero se le puede indicar en que ruta si se pueden ejecutar.</li></ul>
<pre>safe_mode_exec_dir = /www/ejecutables</pre>
<ul><li><strong>Acceso a variables de entorno</strong>: tampoco está permitido acceder a variables de entorno en el modo seguro, pero se puede inluir una lista (separada por comas) de prefijos que se permiten para estas variables.</li>
</ul>
<pre>safe_mode_allowed_env_vars = PHP_</pre>
<ul><li><strong>Controlar límites</strong>: también es conveniente controlar ciertos límites, como el tiempo de ejecución, el de tamaño máximo subido y muchos otros.</li></ul>
<pre>max_execution_time = 30 ; Tiempo máximo de ejecución
max_input_time = 60 ; Tiempo máximo que trata la entrada
memory_limit = 16M ; Memoria máxima para la ejecución de un script
upload_max_filesize = 2M ; Tamaño máximo de un fichero para subir
post_max_size = 8M ; Tamaño máximo de un POST</pre>
<ul><li><strong>Control de acceso a ficheros mediante Apache</strong>: aunque en este caso se debe configurar Apache, tampoco biene mal el contarlo. Se trata de evitar que Apache acceda a ficheros importantes, por ejemplo ficheros <em>.inc</em>, <em>.sql</em>.</li></ul>
<pre>&lt;FilesMatch "\.(inc|.*sql)$"&gt;
Order allow,deny
Deny from all
&lt;/FilesMatch&gt;</pre>
<ul><li><strong>Evita el acceso a la shell</strong>: <a href="http://www.taufpate.com">Taufpate</a> nos recomienda también evitar que se intente acceder a la shell. Si tienes un server y das hosting tienes que tener cuidado con los usuarios que usan mambo, phpnuke, jooomla, etc.., sistemas que a diario reportan problemas de seguridad y nunca son actualizados por sus usuarios.</li>
<pre>disable_functions = system, exec, shell_exec, passthru, pcntl_exec, putenv, proc_close, proc_get_status, proc_nice, proc_open, proc_terminate, popen, pclose, set_time_limit, ini_alter, virtual, openlog, escapeshellcmd, escapeshellarg, dl, curl_exec, parse_ini_file, show_source</pre>
</ul><p><a href="http://aymanh.com/checklist-for-securing-php-configuration">Checklist for Securing PHP Configuration</a></p>
<p>Vía / <a href="http://www.dzone.com/rsslinks/checklist_for_securing_php_configuration.html">dzone</a></pre>
]]></content:encoded>
			<wfw:commentRss>http://sentidoweb.com/2006/10/06/configura-tu-php-de-forma-segura.php/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Firefox depurará su código</title>
		<link>http://sentidoweb.com/2006/09/19/firefox-depurara-su-codigo.php</link>
		<comments>http://sentidoweb.com/2006/09/19/firefox-depurara-su-codigo.php#comments</comments>
		<pubDate>Tue, 19 Sep 2006 17:59:13 +0000</pubDate>
		<dc:creator>displaynone</dc:creator>
				<category><![CDATA[Firefox]]></category>
		<category><![CDATA[firefox seguridad]]></category>
		<category><![CDATA[Seguridad]]></category>

		<guid isPermaLink="false">sw.luissacristan.com</guid>
		<description><![CDATA[Mozilla pretende que las próximas versiones y funcionalidades que se incorporen a Firefox sean más seguras, para ello ha contratado a la anterior jefa de seguridad de Microsoft y ex-hacker. Según la nueva &#8220;Chief Security Something&#8221;.
Deseamos reducir el riesgo general de Firefox evaluando constantemente donde hay funcionalidad no aprovechada, desechando luego el código antiguo.
Mientras que [...]]]></description>
			<content:encoded><![CDATA[<p><img alt="firefox.png" src="http://sentidoweb.com/img/2006/04/firefox.png" class="right" height="120" width="120" />Mozilla pretende que las próximas versiones y funcionalidades que se incorporen a Firefox sean más seguras, para ello ha contratado a la anterior jefa de seguridad de Microsoft y ex-hacker. Según la nueva &#8220;Chief Security Something&#8221;.</p>
<blockquote>Deseamos reducir el riesgo general de Firefox evaluando constantemente donde hay funcionalidad no aprovechada, desechando luego el código antiguo.</blockquote>
<p>Mientras que las antiguas funcionalidades pretenden usarlas como extensiones y no como parte de código completo, también quieren aumentar la seguridad del navegador como integrando la nueva herramienta de anti-phishing de Firefox 2.0, y evitar que código maligno escriba en la memoria.</p>
]]></content:encoded>
			<wfw:commentRss>http://sentidoweb.com/2006/09/19/firefox-depurara-su-codigo.php/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Evitar Cross-Site Request Forgeries en PHP</title>
		<link>http://sentidoweb.com/2006/07/31/evitar-cross-site-request-forgeries-en-php.php</link>
		<comments>http://sentidoweb.com/2006/07/31/evitar-cross-site-request-forgeries-en-php.php#comments</comments>
		<pubDate>Tue, 01 Aug 2006 00:00:00 +0000</pubDate>
		<dc:creator>displaynone</dc:creator>
				<category><![CDATA[How to]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[php seguridad]]></category>
		<category><![CDATA[Seguridad]]></category>

		<guid isPermaLink="false">sw.luissacristan.com</guid>
		<description><![CDATA[Siempre que hagamos una aplicación web, tenemos que tener muy encuenta las cuestiones de seguridad, sobre todo las formas más conocidas de ataque. Una de estas formas es Cross-Site Request Forgeries, que más o menos viene a decir Falsificación de Petición desde Otro Sitio (quizás la traducción no es exacta, pero creo que lo explica [...]]]></description>
			<content:encoded><![CDATA[<p>Siempre que hagamos una aplicación web, tenemos que tener muy encuenta las cuestiones de seguridad, sobre todo las formas más conocidas de ataque. Una de estas formas es Cross-Site Request Forgeries, que más o menos viene a decir Falsificación de Petición desde Otro Sitio (quizás la traducción no es exacta, pero creo que lo explica bien).</p>
<p>Este ataque se produce cuando a un usuario se le conceden permisos, confiando en él, pero no teniendo en cuenta que otra gente pueda aprovecharse de ello. Supongamos que tenemos una página de compra de artículos, cuya aplicación controla perfectamente los campos de entrada y que tiene una función que realiza la operación de compra de artículos.</p>
<p>Tenemos el formulario HTML:</p>
<pre><code>&lt;form action="compra.php" method="POST"&gt;
Artículo: &lt;input type="text" name="articulo" /&gt;
Cantidad: &lt;input type="text" name="Cantidad" /&gt;
&lt;input type="submit" value="Comprar" /&gt;
&lt;/form&gt;</code></pre>
<p>El primer fallo que solemos cometer es leer las variables de entrada mediante <em>$_REQUEST</em>:</p>
<pre><code>&lt;?php
session_start();
if (isset($_REQUEST['articulo'] &#038;&#038;
isset($_REQUEST['cantidad'])) {
compra($_REQUEST['articulo'],
$_REQUEST['cantidad']);
}
?&gt;</code></pre>
<p>Una forma muy utilizada para realizar un ataque y que al autor del artículo le gusta mucho, es mediante el uso de una imagen:</p>
<pre><code>&lt;img src="http://ejemplo.org/compra.php?articulo=CAFETERA&#038;cantidad=1000" alt="ads" /&gt;</code></pre>
<p>Con esto conseguimos que el usuario que visita nuestra página tambien haga una petición a la página en cuestión sin que él lo sepa, claro, que esto solo funciona si el usuario a la vez tiene una sesión abierta en la página que se está atacando.</p>
<p>La solución es añadir una marca formada por un número &#8220;encriptado&#8221; y un tiempo para que tenga que renovarse esta marca. La marca se debe crear y pasar en el formulario por el que se envían los datos y a parte se debe controlar su existencia, si coincide y si no ha superado el timeout.</p>
<pre><code>&lt;?php
$marca = md5(uniqid(rand(), TRUE));
$_SESSION['marca'] = $token;
$_SESSION['tiempo_marca'] = time();
?&gt;
&lt;form action="compra.php" method="POST"&gt;
&lt;input type="hidden" name="marca" value="&lt;?php echo $marca; ?&gt;" /&gt;
Artículo: &lt;input type="text" name="articulo" /&gt;
Cantidad: &lt;input type="text" name="Cantidad" /&gt;
&lt;input type="submit" value="Comprar" /&gt;
&lt;/form&gt;</code></pre>
<pre><code>&lt;?php
if ($_POST['marca'] == $_SESSION['marca']) {
$diferencia_tiempo_marca = time() - $_SESSION['tiempo_marca'];
if ($diferencia_tiempo_marca <= 300) {
/* Menos de 5 minutos */
}
}
?&gt;</code></pre>
<p>Artículo original: <a href="http://shiflett.org/articles/security-corner-dec2004">Security Corner: Cross-Site Request Forgeries</a></p>
<p>Vía / <a href="http://www.backd.com/2006/07/30/seguridad-en-php-cross-site-request-forgeries/">backdraft</a></p>
]]></content:encoded>
			<wfw:commentRss>http://sentidoweb.com/2006/07/31/evitar-cross-site-request-forgeries-en-php.php/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Aplicaciones seguras con AJAX</title>
		<link>http://sentidoweb.com/2006/04/06/aplicaciones-seguras-con-ajax.php</link>
		<comments>http://sentidoweb.com/2006/04/06/aplicaciones-seguras-con-ajax.php#comments</comments>
		<pubDate>Thu, 06 Apr 2006 23:00:00 +0000</pubDate>
		<dc:creator>displaynone</dc:creator>
				<category><![CDATA[AJAX]]></category>
		<category><![CDATA[ajax seguridad]]></category>
		<category><![CDATA[Seguridad]]></category>

		<guid isPermaLink="false">sw.luissacristan.com</guid>
		<description><![CDATA[Está claro que AJAX está de moda y que todo el mundo intenta hacer las aplicaciones usando esta técnica. El problema nos puede venir al no hacer una aplicación suficientemente segura. Aunque pensemos que caemos en todo lo necesario para que no le echen mano a nuestra aplicación, siempre nos podemos encontrar con desagradables sorpresas. [...]]]></description>
			<content:encoded><![CDATA[Está claro que AJAX está de moda y que todo el mundo intenta hacer las aplicaciones usando esta técnica. El problema nos puede venir al no hacer una aplicación suficientemente segura. Aunque pensemos que caemos en todo lo necesario para que no le echen mano a nuestra aplicación, siempre nos podemos encontrar con desagradables sorpresas. Por eso nunca viene mal leer algunos consejos sobre la seguridad dentro de AJAX. Una lectura muy interesante.
<a href="http://www.darknet.org.uk/2006/04/ajax-is-your-application-secure-enough/">AJAX: Is your application secure enough?</a>
Vía / <a href="http://digg.com/security/AJAX%3A_Is_Your_Application_SECURE_Enough_">Digg</a>
]]></content:encoded>
			<wfw:commentRss>http://sentidoweb.com/2006/04/06/aplicaciones-seguras-con-ajax.php/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
