JeuWeb - Crée ton jeu par navigateur
"Web attacks and gaming abuse" 2019 - Version imprimable

+- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org)
+-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38)
+--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51)
+--- Sujet : "Web attacks and gaming abuse" 2019 (/showthread.php?tid=8021)



"Web attacks and gaming abuse" 2019 - Xenos - 03-12-2019

Voici un petit résumé synthétique d'une étude de Akamai sur la sécurité des applis web et les jeux en ligne (période 2017-2019):

https://www.akamai.com/us/en/multimedia/documents/state-of-the-internet/soti-security-web-attacks-and-gaming-abuse-executive-summary-2019.pdf

Avec une version complètes:

https://www.akamai.com/us/en/multimedia/documents/state-of-the-internet/soti-security-web-attacks-and-gaming-abuse-report-2019.pdf

Je ne vous en fait donc pas un résumé (je ne l'ai pas encore lu!) mais vous avez là un paramètre important à prendre en compte si vous voulez "devenir pro" en faisant du jeu Facebook/Mobile/apps: les outils d'attaque automatiques sur ces supports existent aussi, et peuvent faire très mal à un petit jeu indé.

Pour rappels *rapides*:

* SQLi => SQL Injection = je concatène des data (entrées utilisateur, contenu d'un fichier, champs de la BDD) avec une query SQL et j'exécute le tout => Résultat, l'utilisateur a la main sur la query SQL et peut exécuter ce qu'il veut sur le serveur SQL
Exemple A NE PAS REPRODUIRE: $mysql->query('SELECT * FROM user WHERE id = ' . $_GET['id'])

* LFI => Local File inclusion = j'inclue (require/include) un fichier du serveur dans ma page web, et l'utilisateur peut influer sur le chemin de ce fichier => Résultat, l'utilisateur peut faire exécuter le code PHP qu'il souhaite (dès l'instant où ce code est présent dans un fichier du serveur, ce qui inclus parfois les avatars...!)
Exemple A NE PAS REPRODUIRE: require_once __DIR__ . '/pages/' . $_GET['page'];

* RFI => Remote file inclusion = idem que LFI, mais l'utilisateur inclue un fichier d'un serveur distant (le sien par exemple, ou un serveur compromis
Exemple A NE PAS REPRODUIRE: require_once $_GET['page'];

* XSS => Cross Site Scripting = le serveur envoie des données dans une page (HTML souvent) sans les avoir correctement échappées => Résultat, l'attaquant a la main sur le navigateur de sa victime par l'intermédiaire du serveur web
Exemple A NE PAS REPRODUIRE: echo '<html><body>' . $dataFromMysql['username'] . '</body></html>';

* PHPi => PHP injection = le serveur exécute dans le code PHP des commandes données par le client => Résultat, l'attaquant peut exécuter le code PHP qu'il souhaite, lui donnant la main sur le serveur
Exemple A NE PAS REPRODUIRE: eval("$resultat = " . $_GET['calculAFaire']);


RE: "Web attacks and gaming abuse" 2019 - Thêta Tau Tau - 03-12-2019

Il y a vraiment des jeux pros qui se font hacker via une de ses failles? Je veux dire, ces failles, n'importe quel tuto pour débutant en php explique comment les éviter. Même moi qui ne fait pratiquement pas de dev web, ben je les connais.

Je pensais que les hackers utilisaient principalement des bases de données de mot de passe pour voler des comptes, en espérant que le joueur utilise le même mot de passe sur ses jeux que sur le site qui s'est fait voler sa bdd. Et là vu que c'est un autre site qui laisse fuiter le mdp, il n'y a pas grand chose à faire à part une authentification à deux facteurs (genre par sms).


RE: "Web attacks and gaming abuse" 2019 - Xenos - 03-12-2019

T'as pas idée du merdier non-maitrisé qu'il y a derrière un paquet de projets sur le web (y compris les projets pros) Smile

Donc, perso, ça ne m'étonne pas Wink

Mais oui, l'attaque du "je teste password$! sur tous les comptes du jeu et j'en trouve qui matchent et je me les approprie", cela reste encore plus répandu que les SQLi (c'est le "credentials stuffing" qui fait des milliards de hits dans les stats d'Akamai apparemment)