<?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>Sergi Quiñonero &#187; HTML Inyection</title>
	<atom:link href="http://www.sergiquinonero.net/tag/html-inyection/feed" rel="self" type="application/rss+xml" />
	<link>http://www.sergiquinonero.net</link>
	<description>Sergi Quiñonero Blog Page</description>
	<lastBuildDate>Sat, 20 Mar 2010 22:35:30 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Diferentes tipos de ataques en páginas y aplicaciones Web</title>
		<link>http://www.sergiquinonero.net/diferentes-tipos-de-ataques-en-paginas-y-aplicaciones-web.html</link>
		<comments>http://www.sergiquinonero.net/diferentes-tipos-de-ataques-en-paginas-y-aplicaciones-web.html#comments</comments>
		<pubDate>Fri, 22 Jan 2010 12:10:50 +0000</pubDate>
		<dc:creator>Sergi</dc:creator>
				<category><![CDATA[Internet]]></category>
		<category><![CDATA[Programación]]></category>
		<category><![CDATA[Seguridad]]></category>
		<category><![CDATA[CSRF]]></category>
		<category><![CDATA[HTML Inyection]]></category>
		<category><![CDATA[SQL Inyection]]></category>
		<category><![CDATA[XSS]]></category>

		<guid isPermaLink="false">http://www.sergiquinonero.net/?p=74</guid>
		<description><![CDATA[En el día a día de un programador Web, nos vienen a la cabeza el cómo mejorar nuestra aplicación. No siempre la mejora de una aplicación se basa en una mejora visual y/o de nuevas funcionalidades, sino de una mejora a nivel de seguridad.
Ante este gran dilema, la seguridad web, nos planteamos una serie de [...]]]></description>
			<content:encoded><![CDATA[<p>En el día a día de un programador Web, nos vienen a la cabeza el cómo mejorar nuestra aplicación. No siempre la mejora de una aplicación se basa en una mejora visual y/o de nuevas funcionalidades, sino de una mejora a nivel de seguridad.</p>
<p>Ante este gran dilema, la <strong>seguridad web</strong>, nos planteamos una serie de mecanismos que nos permitan hacer, de nuestra aplicación, un lugar mejor. Seguro que a la mayoría no nos gustaría ver un día, al entrar en nuestra aplicación Web, un &#8220;bonito&#8221; mensaje del tipo &#8220;This Web has been hacked by&#8230;&#8221;.  Hay <strong>diferentes tipos de ataques a una página Web</strong> y cada uno de ello se puede solventar de forma diversa. En este caso solo hablaré de los <strong>ataques </strong>al servidor (aunque la mejor palabra para definirlo sería <strong>vulnerabilidades</strong> del software).<span id="more-74"></span></p>
<p>Las diferentes <strong>vulnerabilidades Web</strong>, entre otras, son:</p>
<p style="padding-left: 30px;">1. <strong>Cross Site Scripting</strong> (<strong>XSS</strong>). Básicamente se basa en aplicaciones que permite ejecutar código de scripting (javascript, entre otros) y es causado por la no verificación de los valores introducidos por el usuario. <strong>XSS </strong>es un tipo de inyección HTML y permite a una persona mal intencionada ejecutar código en el navegador de la víctima y pudiendo insertar contenido nefasto, realizar ataques de phising, robar las sesiones de usuario,&#8230; entre otros. Generalmente, <strong>Cross Site Scripting</strong>, se suele utilizar JavaScript para esta finalidad, pero en realidad, cualquier lenguaje de script puede ser utilizado.</p>
<p style="padding-left: 30px;">2. <strong>Inyecciones de código</strong>. Se basa en el envío de datos por parte del cliente a la aplicación con contenido malicioso y  utilizados directamente, por ejemplo, en sentencias SQL.</p>
<p style="padding-left: 30px;">El típico caso de ataque de inyección es <strong>SQL Inyection</strong>, aunque también tenemos <strong>HTML Inyection</strong> (como el <strong>XSS</strong>), <strong>XPath</strong>, <strong>XML</strong>&#8230; Al igual que comentaba en el punto anterior, todos estos ataques suele producirse cuando el desarrollador confía demasiado en el usuario y no filtra correctamente todos los puntos de entrada de datos.</p>
<p style="padding-left: 30px;">3. <strong>Ejecución maliciosa de código</strong>. Esta <strong>vulnerabilidad </strong>se basa en el uso de una variable procedente del usuario para incluir en nuestro código un fichero determinado.</p>
<p style="padding-left: 30px;">Un claro ejemplo de ello, son aquellas aplicaciones que mediante el uso de un parámetro específico en la URI, hacen la inclusión de ese &#8220;módulo&#8221;. <em><span style="color: #808080;">www.sergiquinonero.net/index.php?controlador=inicio</span></em> donde en inicio podríamos encontrar algo tal que <em><span style="color: #808080;">include $_GET['controlador'] .  &#8217;.php&#8217;;</span></em></p>
<p style="padding-left: 30px;"><em><span style="color: #808080;"><span style="color: #000000; font-style: normal;">4. <strong>Cross Site Request Forgery</strong> (<strong>CSRF</strong>). Este tipo de ataque permite a una página mal intencionada, al ser visitado por una víctima, ejecutar una llamada Web a otra página (susceptible al usuario) y realizar una acción determinada sobre el site víctima.</span></span></em></p>
<p style="padding-left: 30px;"><em><span style="color: #808080;"><span style="color: #000000; font-style: normal;">Imaginaos qué, en una Web A tenemos una imagen oculta, cuya fuente de imagen sea <em><span style="color: #808080;">http://www.facebook.com/profile/modify-mail/correo-malintencionado@miserver.com</span></em> (obivamente esto es un ejemplo IRREAL).El usuario que visitase esa página Web A, si está identificado en facebook (en este caso) estaría permitiendo a la Web malintencionada, modificar su e-mail sin que éste se diera cuenta.</span></span></em></p>
<p style="padding-left: 30px;"><em><span style="color: #808080;"><span style="color: #000000; font-style: normal;">5. <strong>Fuga de información</strong> o <strong>Error en el manejo de errores</strong>. Esto suele ocurrir cuando nuestro servidor muestra los errores de programación (Fatal Error, Warning, Notices) que dan al usuario mal intencionado información de cómo es nuestra estructura permitiéndole utilizar otro tipo de vulnerabilidades para hacerse con el control total o parcial de nuestro sitio.</span></span></em></p>
<p style="padding-left: 30px;"><em><span style="color: #808080;"><span style="color: #000000; font-style: normal;">6. <strong>Robo de Sesión</strong>. Cuando un usuario inicia sesión en una página Web, normalmente, ese sitió dejará una galletita (cookie) en el ordenador del usuario con un session id que identificará ese usuario con esa máquina. El servidor también almacena ese ID junto con información del usuario. Como no es frecuente el uso de navegación segura (mediante HTTPS), cualquier persona mal intencionada (y con los medios) podría obtener esa información y suplantar a la víctima (creando una cookie con esa información).</span></span></em></p>
<p><em><span style="color: #808080;"><span style="color: #000000; font-style: normal;">No son todos estos puntos los únicos que hay que tomar en cuenta para prevenir ataques en páginas y aplicaciones Web, pero con ellos, estaremos un poco más seguros y podremos conciliar mejor el sueño.</span></span></em></p>
<!-- AdSense Now! V1.83 -->
<!-- Post[count: 2] -->
<div class="adsense adsense-leadout" style="float:left;margin: 12px;"><script type="text/javascript"><!--
google_ad_client = "pub-3509193416949473";
/* Sergiquinonero.net */
google_ad_slot = "0327514928";
google_ad_width = 234;
google_ad_height = 60;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></div>]]></content:encoded>
			<wfw:commentRss>http://www.sergiquinonero.net/diferentes-tipos-de-ataques-en-paginas-y-aplicaciones-web.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
