Mostrando entradas con la etiqueta hack. Mostrar todas las entradas
Mostrando entradas con la etiqueta hack. Mostrar todas las entradas

domingo, 1 de septiembre de 2013

Ganando SIEMPRE a Atriviate (Triviados) en iOS (iPhone/iPad/iPod)

Buenas tardes a todos! Después de tanto tiempo sin escribir nada, hoy os voy a enseñar como ganar siempre en Atriviate(Triviados) para iOS. Aunque puede aplicarse a cualquier las app de iOS.

Para hacer esto necesitaremos usar Windows, el programa para gestión de dispositivos iOS iTools 2013 y SQLite Manager (plugin para Firefox).

Lo primero es conectar por USB nuestro dispositivo iOS. Una vez conectado cerramos iTunes si se ha abierto e iniciamos el iTools.
En el menu de la izquierda nos vamos al apartado "Applications", y nos aparecera una lista con las apps que tenemos instaladas.

Buscamos Atriviate, hacemos click sobre ella y despues hacemos click sobre el boton "Browse".
A continuación se nos abre una ventana dentro del iTools con la carpeta en la que esta instalada la app. Debeis saber que las bases de datos que usan las apps están en "/Documents" y son archivos .sqlite. En esta entrada nos vamos a centrar en la base de datos, pero podéis mirar mas archivos de otros directorios según lo que busquéis (otro archivo interesante es el de preferencias, que se encuentra en "/Library/Preferences", es el único .plist que te dejará abrir)



Como se puede ver en la imagen, el archivo de base de datos que buscamos es "Model.sqlite". Ahora lo arrastramos al escritorio, para poder modificarlo con SQLite Manager. Para abrir la base de datos con SQLite Manager. Abrimos SQLite Manager y vamos a: "Archivo->Conectar Base de Datos" y abrimos el archivo Model.sqlite que guardamos en el escritorio. Ahora podemos ir viendo las tablas que forman la base de datos. Nos centraremos en la tabla "ZPREGUNTAS", en esta tabla se guardan todas las preguntas que se van solicitando al servidor. ¿Por qué? Porque la app funciona de manera que la primera vez que jugamos pide las preguntas de la categoría que nos ha tocado jugar, y este nos envía unas 20 preguntas de esa categoría. De este modo, las preguntas se guardan, y conforme se van contestando esas 20 preguntas se van eliminando, cuando no quedan mas se piden nuevas. Ya podéis ir intuyendo que es lo que vamos a hacer.. Si, lo que vamos a hacer es rellenar la tabla de preguntas con preguntas que tengan la misma respuesta como correcta. Pues como veis, en esta tabla se guarda el enunciado, las respuestas, la respuesta correcta (un numero del 1 al 4) y el id de pregunta en el servidor, entre otras cosas..
Ya sabéis lo que vamos a hacer, así que si no sabeis SQL lo mas sencillo es jugar una partida y obtener preguntas con ids validos.

Despues podéis cambiar la categoria haciendo doble click en la columna, para no tener que jugar todas las categorias de preguntas.

Una vez que tenemos al menos 1 pregunta de cada categoria(son 7 categorias, la columna categoria puede tomar valores del 1 al 7, dependiendo de la categoria), hacemos que todas las respuestas correctas sean la misma, por ejemplo, que todas sean la primera opción. Esto lo podemos hacer facilmente haciendo click en "Ejecutar SQL" y ejecutando lo siguiente:
UPDATE ZPREGUNTAS SET ZCORRECTA='1'

Y damos en "Ejecutar SQL". Una vez hecho esto todas las preguntas que tengamos en la base de datos tendrán como opción correcta la primera respuesta.
Pero hay un problema.. Si tenemos pocas preguntas en la base de datos, en cuanto se acaben se pedirán mas al servidor ... :S
Por este motivo, debemos insertar mas preguntas "personalizadas". La manera mas sencilla es usar las que ya tenemos, para repetirlas en la base de datos. Así que simplemente usamos la siguiente instrucción SQL:
INSERT INTO ZPREGUNTAS(Z_ENT ,Z_OPT, ZCATEGORIA , ZCORRECTA , ZIDPREGUNTA , ZIDIOMA , ZPREGUNTA , ZRES1 , ZRES2 , ZRES3 , ZRES4 ) SELECT Z_ENT ,Z_OPT, ZCATEGORIA , ZCORRECTA , ZIDPREGUNTA , ZIDIOMA , ZPREGUNTA , ZRES1 , ZRES2 , ZRES3 , ZRES4 FROM ZPREGUNTAS

Lo que hace es simplemente insertar en la tabla preguntas, preguntas con esas columnas (las que van entre parentesis), usando las filas (preguntas) que ya existen en la tabla. Para los que sepan de SQL, como veréis, "duplicamos" las preguntas con todos los campos excepto el campo "Z_PK", ya que este campo es la clave primaria, que como sabréis no puede ser la misma para mas de una fila.
Una vez hecho esto se nos duplican todas las preguntas, si lo repetimos varias veces tendremos mas preguntas. No os paséis porque si creáis demasiadas preguntas, la app luego irá muy lenta, pues tiene que cargar demasiadas preguntas de la base de datos.
Bien, pues ahora queda usar la nueva base de datos en la app.. pero este archivo esta protegido, así que no bastará con arrastrarlo a la capeta "/Documents" de la app y reemplazar la antigua (si lo probáis veréis que da error). El único modo es  crear un backup de la app usando iTools.



Usando la opción que veis en la imagen "Backup program and documents". Esto nos generará un archivo IPA en nuestro escritorio. Lo que haremos será abrirlo con WinRar y entrar en la carpeta "/Container/Documents" y ahora arrastramos nuestra nueva base de datos con nuestras preguntas al archivo, lo que reemplazará la base de datos que se guardo en el backup. Y ya simplemente eliminamos nuestra app del dispositivo y despues instalamos el backup en nuestro dispositivo, arrastrando el archivo IPA a iTools.

Una vez se haya instalado la app, podremos usarla como siempre y podremos ganar siempre respondiendo con la primera opción :)

He escrito un poco a prisa y corriendo esta entrada, así que espero que sea entendible para todos. Si tienen algún problema diganlo por comentarios. No sean malos!! :P

lunes, 17 de diciembre de 2012

"Jugando" con Comunio

Buenas a todos, hoy os hablaré de Comunio, un juego de futbol que... no tengo ni p*** idea de como va, pero como lo conozco de ver gente que juega pues dije "Vamos a ver que cosilla chulas se pueden hacer!". Y aquí estoy, contándoos que he encontrado en el. :)

No ha sido mucho, ya que no he conseguido ningun XSS, pero si que he encontrado HTML Injection, que consiste en lo mismo que el XSS pero en este caso no se puede usar JavaScript. Así que aprovechando que se pueden meter etiquetas HTML como DIV, IMG o MARQUEE pues se me ocurrió contaroslo y echar un rato divertido ;)

Aquí os dejo un bonito DIV, que jugando con las propiedades CSS, puede ser divertido y molesto para otros usuarios de nuestra liga.

Esto se consigue en el panel de noticias, agregáis vuestra noticia con el código deseado y voila! A divertirse!
También se puede personalizar así vuestro perfil o el de vuestra liga colocando código en la descripción.
Os pego el código que usé yo:
<div style="width:100%;height:100%;z-index:999999999999px;top:0px;left:0px;position:fixed;background-color:black;font-size:40px;display:block;"><br><br><br><div align="center">i am sorry!<br><br><br><img src="http://4.bp.blogspot.com/-NTJjX7MtWfo/T_iaJCa1fuI/AAAAAAAABfc/fBFDwDzmecA/s1600/xdpin-752278.jpg"></div></div>

También se pueden tomar prestadas la cookies haciendo uso de enlaces con código de creación dinámica de webs, es decir, enlaces del tipo:
<a href="data:text/html;base64,codigo_HTML_codificado_en_base64">Link</a>

Podéis ver más información de estos tipos de enlaces y demás en esta entrada del gran Chema Alonso:  http://www.elladodelmal.com/2012/12/roundcube-ii-nuevos-vectores-para.html

Y por hoy esto es todo, a ver si esta navidad tengo algo de tiempo para dejaros mas entradas. Miraré a ver si encuentro algún XSS chulo en Comunio!
No seáis malos! :P