Ir al contenido
  • Crear una cuenta

Un chico de 16 años hackeó Steam para lanzar un juego ridículo


Bartu

Posts recomendados

Un chico de 16 años hizo que su juego de 45 segundos apareciera en Steam sin que una sola persona de Valve se diera cuenta. "Watch Paint Dry" es un juego acerca de ver cómo se seca la pintura de una pared. Éste llegó a Steam sin que fuera aprobado en ningún sentido. El creador, Ruby Nealon, asegura que ésta es una forma de probar la vulnerabilidad del servicio.

fMmJVMj.png

Aunque la vulnerabilidad ha sido arreglada desde entonces (gracias a Nealon), el chico de 16 años narró su odisea en Medium. Comenzó por adquirir una cuenta en Steamworks –la forma en que lo hizo, no fue especificada. Entonces, Nealon se dio cuenta que podía engañar al sistema para que pensara que sus cartas intercambiables – que describió como "una broma"–, habían sido aprobadas por alguien en Valve.

Después pidió información no existente con una lista de opciones. Con una de éstas, pudo engañar al sistema para pensar que el juego había sido "liberado".

Para que Watch Paint Dry apareciera en la tienda, Nealon manipuló una función de javascript agregando su ID de app e ID de sesión –información de sus tarjetas intercambiables– y voila, el título estaba en la sección de nuevos lanzamientos de Steam.

"He estado en contacto con Valve, quienes ya han arreglado la vulnerabilidad", escribió Nealon al final de su publicación. "TL;DR — yo fui el responsable de Watch paint dry. Ser capturado era parte de mi plan. ¡Es sólo una broma, hermano!".

 

Odisea traducida por mi con Google Translate + Imagenes del Post Oficial.

Reloj de pintura seca: ¿Cómo llegué a un juego en la tienda de STEAM sin que nadie de Valve nunca mirarlo.

Fue quedar atrapados parte de su plan? ¡Por supuesto!

Si estuvieras en la página de inicio del Steam en el domingo por la noche, usted puede haber notado un nuevo título algo interesante disponibles: "Mira pintura seca". Esto provocó una gran controversia (y yo, sinceramente, tenía un poco de diversión en el foro: p) en Steam como personas afirmaban que la VALVE / STEAM había perdido todo el control de calidad para los juegos en Greenlight. Pero este juego no estaba en Greenlight. De hecho, ni siquiera he pagado el "ningún cargo pérdidas de tiempo" $ 100 a publicar juegos de Greenlight. Creo personalmente Greenlight es una gran plataforma para que las personas obtienen sus juegos independientes mucha exposición y se ha hecho y seguirá haciendo trabajar como desarrollador de juegos independiente una opción viable de la carrera. Y me gustaría disculparme si he causado alguna ofensa a los desarrolladores de juegos independientes que están luchando para conseguir sus juegos a STEAM. Esto no es más que una broma y no era más que para probar algo que he estado tratando de informar a VALVE durante los últimos meses - la capacidad de conseguir cualquier juego que desea a través de Steam, sin que VALVE se diera cuenta. Esta es una guía ya superados como la válvula de haber corregido estos problemas, pero si se va a viajar en el tiempo, entonces esto es una guía definitiva sobre cómo liberar su juego! Sólo otra nota rápida, esto no es nada que ver con la protesta- censura cinematográfica que sólo se enteró de que hoy en día, esto no tiene por tanto ", que significa" detrás de él.

Conseguir una cuenta de Steamworks

Esto va a ser una guía técnica más abajo pero conseguir acceso a Steamworks para mí era también lo que comenzó mi investigación sobre este. No voy a comentar sobre cómo / por qué tengo acceso a Steamworks pero voy a confirmar que no estaba explotando cualquier forma web, no GreenLight ya no a través del contacto directo con una persona de Valve. A pesar de que ya no funciona, no voy a dar más detalles sobre cómo se hizo esto así que por favor no pregunte! Tengo buenas razones para no hacerlo.

7iJZFnb.png

De cualquier manera, yo había conseguido el acceso a Steamworks (plataforma de publicación interna de la válvula de STEAM y la columna vertebral de logros del juego, DRM, multijugador, etc ...) y esto me dio la idea de mirar a su alrededor en busca de vulnerabilidades. Probé Válvula de contacto acerca de estos, pero no conseguir una respuesta. Con el tiempo, a punto de Abril, decidí usar la "aplicación sin título" de una broma de los inocentes para tratar de llamar la atención de la válvula acerca de los problemas.

Voy a cortar la parte donde hice de 45 segundos simulador de secado prolongado pintura en RPG Maker ya que no estoy particularmente orgulloso de ella y no es relevante.

Primeros las Tarjetas de colección de STEAM aprobados

¿Qué tipo de juego sería "reloj de la pintura seca" sin haber algunas tarjetas comerciales sorprendentes? Después de 10 minutos en photoshop que había hecho una broma básico establecido para jugar alrededor con. Sin embargo, la válvula tiene que revisar las tarjetas, emoticonos y fondos antes de que pueda liberarlos. Ah, pero lo hacen?

En cuanto a la página desde la primera vista, podemos ver el estado de liberación tiene algunas opciones iniciales:

1u9uWGO.png

Interesante, ¿qué pasa con la fuente detrás de esta forma?

Kyr931Z.png

Nota del editor: Algunos elementos de la página se han eliminado para ahorrar espacio en las fotos y no dar la información irrelevante

Interesante que están el seguimiento de mi sesión y la identificación de la cuenta del editor. Vamos a tratar de cambiar esto a alguien que podría funcionar en Valve (es decir, 1), cambie el valor del selectivo a algo que no existe, y ver si volvemos una forma diferente.

QKyLtRX.png

Hmm ... eso es interesante. El nuevo "Última editor" es una persona de Valve. Y si salvamos el formulario de nuevo con el valor seleccionado de la "Liberado" caja?

ptvcJSK.png

Entonces, ¿qué ha pasado aquí? Para resumir, cuando pongo en la solicitud incorrecta, se devuelve una lista completa de opciones con sus valores. En este caso, vi que "Liberado" era el valor 5. Actualizar la forma de conseguir mi "editor_accountid" hacia atrás y cambiando el valor de la casilla de selección para la "lista para su revisión" a 5 del 3 y el ahorro se puso al servidor como lo que podría ser una petición genuina de un desarrollador cuyas cartas de negociación fueron aprobadas. El servidor no comprobó si alguien de la válvula ya había aprobado esto, y acaba de establecer la condición de liberado. De acuerdo, a conseguir el juego en la tienda.

Proceso de aprobación de VALVE

Para darle un poco de conocimiento, antes que nada a poner la válvula de STEAM de agua, tienen un proceso de liberación de 3 pasos. En primer lugar, enviar su página de la tienda de una cola de revisión, a continuación, la versión final o casi final de su juego, a continuación, se le da la opción de liberarlo.

El evento principal: la liberación del juego

La página web Steamworks es mayormente AJAX. Todo el código para las funciones Javascript que alimenta la fuente no esté ofuscado y legibles por cualquier persona (autenticado en Steamworks por lo menos). Hay algo de código interesante, pero ya que este juego era una prueba de concepto, me quedé a lo que era relevante y se encontró una función de JavaScript interesante llamado "ReleaseGame (AppID, datos)". Esto pareció hacer una petición AJAX típico (aunque no había ningún tipo de autenticación en ella) a Steam y parece que, como se dice, suelte la aplicación.

m929vr9.png

Una breve descripción de la función ReleaseGame

Hacer una llamada a ReleaseGame con los parámetros 445.730 (mi id de aplicación) y datos en blanco me dio un error 403 (acceso prohibido). Interesante. Tuve un vistazo a algunas otras funciones en el archivo y se dio cuenta casi todos ellos estaban agregando un valor a la solicitud JSON llamado "sessionid" con el ID de sesión que vimos antes, cuando la liberación de nuestro propio juego de cartas coleccionables.

UjjZNAY.png

El comentario ayudó también!

Por lo tanto, llamar a ReleaseGame (445.730, { 'id_de_sesión': 'my_session_id')?

zetv7jL.png

Y a la tienda de STEAM ...

3VoKEkX.png

Tah-dah! Tengo que admitir que aparece de inmediato en la nueva sección de comunicados fue un descuido de mi parte. En principio queríamos que tuviera "próximo 1 inocentes" y no aparece hasta el viernes (aunque yo no habría esperado que durar tanto tiempo). También voy a admitir que estaba muy tentado a probar y ver hasta qué punto a lo largo de soltarlo que pude conseguir, pero creo que es lo mejor que la aplicación no se encuentra a la venta.

He estado en contacto con VALVE que ahora se han fijado la vulnerabilidad.

Algo que he aprendido definitivamente de hacer esto es cuando se trabaja con contenido generado por el usuario que primero debe ser aprobado, no tienen "Revisión Ready" y "Opinión" como dos estados de la existencia del contenido. En su lugar, tal vez tomar un enfoque en la revisión del artículo tiene una pista de auditoría, dando a cada pieza de contenido un "boleto de revisión" o algo similar y no permitir que el contenido para cambiar al estado liberado hasta que haya un billete de revisión para el contenido . O simplemente no permiten a los usuarios establecer el artículo a "Liberado".

¯ \ _ (ツ) _ / ¯

Gracias por leer chicos!

TL; DR - Yo era responsable de reloj de pintura seca. Ser atrapado era parte de mi plan. Es sólo una broma, bro!

IYqgQMP.jpg

Eres un tipo grande.

Enlace al comentario
Compartir en otros sitios

Invitado
Este tema se encuentra cerrado a nuevas respuestas.
  • Navegando Recientemente   0 miembros

    • No hay usuarios registrados viendo esta página
×
×
  • Crear nuevo...