<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.technet.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Todo es posible, nada es seguro : SQL Injection</title><link>http://blogs.technet.com/ksarens/archive/tags/SQL+Injection/default.aspx</link><description>Tags: SQL Injection</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>Inyección SQL... esta bajo ataque?</title><link>http://blogs.technet.com/ksarens/archive/2008/06/15/un-ataque-inyecci-n-sql.aspx</link><pubDate>Sun, 15 Jun 2008 23:29:00 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3071513</guid><dc:creator>ksarens</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.technet.com/ksarens/comments/3071513.aspx</comments><wfw:commentRss>http://blogs.technet.com/ksarens/commentrss.aspx?PostID=3071513</wfw:commentRss><description>&lt;P&gt;&lt;FONT face=Verdana size=2&gt;Hay muchos sitios y blogs que hablan sobre el tema de inyección SQL. Puede encontrar toda la información en este artículo, y más, en los sitios siguientes:&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;El blog de SWI: &lt;/FONT&gt;&lt;A href="http://blogs.technet.com/swi/archive/2008/05/29/sql-injection-attack.aspx" mce_href="http://blogs.technet.com/swi/archive/2008/05/29/sql-injection-attack.aspx"&gt;&lt;FONT face=Verdana size=2&gt;http://blogs.technet.com/swi/archive/2008/05/29/sql-injection-attack.aspx&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;El blog de Neil Carpenter: &lt;/FONT&gt;&lt;A href="http://blogs.technet.com/neilcar/archive/2008/03/14/anatomy-of-a-sql-injection-incident.aspx" mce_href="http://blogs.technet.com/neilcar/archive/2008/03/14/anatomy-of-a-sql-injection-incident.aspx"&gt;&lt;FONT face=Verdana size=2&gt;http://blogs.technet.com/neilcar/archive/2008/03/14/anatomy-of-a-sql-injection-incident.aspx&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.technet.com/neilcar/archive/2008/03/15/anatomy-of-a-sql-injection-incident-part-2-meat.aspx" mce_href="http://blogs.technet.com/neilcar/archive/2008/03/15/anatomy-of-a-sql-injection-incident-part-2-meat.aspx"&gt;&lt;FONT face=Verdana size=2&gt;http://blogs.technet.com/neilcar/archive/2008/03/15/anatomy-of-a-sql-injection-incident-part-2-meat.aspx&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;La inyección SQL últimamente es un tema que recibe mucha atención.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;La verdad es que no es falta de una explotación de vulnerabilidad de IIS o SQL conocido o 0-day. Hemos recibido muchos casos de inyección SQL y todos son fallos de código ASP/ASPX. A demás, el usuario de SQL utilizando su aplicación ASP no necesita ser un sysadmin.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;En general, la inyección SQL es el resultado de:&lt;/FONT&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;FONT face=Verdana size=2&gt;Validación floja de los datos entrada &lt;/FONT&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;FONT face=Verdana size=2&gt;Construcción dinámica de las sentencias SQL. &lt;/FONT&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;FONT face=Verdana size=2&gt;Usuarios de SQL demasiado privilegiados &lt;/FONT&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;B&gt;&lt;U&gt;&lt;FONT face=Verdana size=2&gt;Detección:&lt;/FONT&gt;&lt;/U&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;¡Ya sabemos dos cosas que son muy importantes para revisar y evitar un ataque de inyección SQL!&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;· El código ASP/ASPX&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;· Los derechos de usuarios de SQL&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;Al primero, hay que saber si nuestros sitios están o estaban bajo ataque. Por eso, tenemos que analizar los logs de IIS. Hay muchas herramientas de consultas disponibles en Internet por hacer esto, una es LogParser. Podemos ejecutar la siguiente:&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;LogParser -i:iisw3c -o:csv "SELECT * INTO suspicious.csv FROM ex*.log WHERE cs-uri-query LIKE '%CAST(%' or cs-uri-query LIKE '%dEcLaRe%'"&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;O puede descargar una herramienta que lo hace automáticamente: &lt;/FONT&gt;&lt;A href="http://www.codeplex.com/Release/ProjectReleases.aspx?ProjectName=WSUS&amp;amp;ReleaseId=13436" mce_href="http://www.codeplex.com/Release/ProjectReleases.aspx?ProjectName=WSUS&amp;amp;ReleaseId=13436"&gt;&lt;FONT face=Verdana size=2&gt;http://www.codeplex.com/Release/ProjectReleases.aspx?ProjectName=WSUS&amp;amp;ReleaseId=13436&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;¡Si el log tiene datos, tenemos un problema!&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;En caso de inyección SQL que hemos visto últimamente, buscamos por el texto así:&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana color=#808080 size=2&gt;DECLARE%20@S%20NVARCHAR(4000);SET%20@S=CAST(0x440045004300...7200%20AS%20NVARCHAR(4000));EXEC(@S);--&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=verd size=2&gt;Verificamos si un &amp;lt;script&amp;gt; tag estaba inyectado en las tablas de la base de datos utilizado con el aplicativo de web. &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=verd size=2&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;B&gt;&lt;U&gt;&lt;FONT face=verd size=2&gt;Acción:&lt;/FONT&gt;&lt;/U&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=verd size=2&gt;¡Es muy importante cerrar el acceso a nuestro aplicativo de web ahora mismo para proteger la gente quien lo visita! &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=verd size=2&gt;Antes de abrirlo, tenemos que revisar el código ASP/ASPX y el usuario de SQL o contactamos el vendedor del aplicativo de web. El log contiene las páginas web que están utilizando para el ataque. Estas páginas son buenas para empezar de revisar el código. Presta atención que necesitamos revisar todas las páginas ASP/ASPX, no solo aquellas listadas en el log.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=verd size=2&gt;Hay métodos para filtrar inyección SQL utilizando palabras muy conocidas como CAST, DECLARE pero estos métodos solo son temporales y no es seguro que bloqueen todos. &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=verd size=2&gt;Para más información: &lt;/FONT&gt;&lt;A href="http://blogs.iis.net/nazim/archive/2008/04/28/filtering-sql-injection-from-classic-asp.aspx" mce_href="http://blogs.iis.net/nazim/archive/2008/04/28/filtering-sql-injection-from-classic-asp.aspx"&gt;&lt;FONT face=verd size=2&gt;http://blogs.iis.net/nazim/archive/2008/04/28/filtering-sql-injection-from-classic-asp.aspx&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=verd size=2&gt;Puede encontrar enlaces de los sitios abajo que pueden ayudarle de corregir el código:&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=verd size=2&gt;SLQ Injection, ASP.NET, ADO.NET &lt;BR&gt;&lt;/FONT&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/bb671351.aspx" mce_href="http://msdn.microsoft.com/en-us/library/bb671351.aspx"&gt;&lt;FONT face=verd size=2&gt;http://msdn.microsoft.com/en-us/library/bb671351.aspx&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=verd size=2&gt;SQL Injection in ASP code (diferente que arriba!) &lt;BR&gt;&lt;/FONT&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/cc676512.aspx" mce_href="http://msdn.microsoft.com/en-us/library/cc676512.aspx"&gt;&lt;FONT face=verd size=2&gt;http://msdn.microsoft.com/en-us/library/cc676512.aspx&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=verd size=2&gt;How SQL Injection works &lt;BR&gt;&lt;/FONT&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/ms161953.aspx" mce_href="http://msdn.microsoft.com/en-us/library/ms161953.aspx"&gt;&lt;FONT face=verd size=2&gt;http://msdn.microsoft.com/en-us/library/ms161953.aspx&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3071513" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/ksarens/archive/tags/Seguridad/default.aspx">Seguridad</category><category domain="http://blogs.technet.com/ksarens/archive/tags/SQL+Injection/default.aspx">SQL Injection</category></item></channel></rss>