Accéder au contenu principal

Web/Ajax javascript securité

Je m'excuse auprès des non informaticiens car ce billet est technique. J'essaierai de faire un billet simplifiant ce sujet ultérieurement.

Les vidéos de la Google Web Toolkit conference ont été publiées et si vous portez un intérêt à la sécurité sur le Web, je vous conseille de visualiser celle de Billy Hoffman.
Avant cet exercice, vous pouvez ouvrir la présentation ici et noter les bonnes pratiques page 20 et en fin de document.
Les experts en sécurité diront ne rien voir de nouveau car cette présentation ne se concentre pas sur un type d'attaque, mais c'est d'ailleurs tout son intérêt. Le présentateur oriente ici le sujet sur le navigateur web et démontre grâce à de multiples exemples comment il est possible de jouer en triturant le code javascript avec l'extension Firefox Firebug. Le message à retenir est " le code présent dans le navigateur peut à tout moment être changé ". La partie où doit se trouver la sécurité de votre application est le serveur.



Voici quelques notes personnelles et des liens supplémentaires :
- Toujours utiliser des requêtes SQL avec paramètres validés (Channel9 pour MS) ou plus simplement valider les entrées. Voir The Unexpected SQL Injection.
- Aussi incroyable que ceci puisse paraître, beaucoup de développeurs pensent que leurs applications sont sécurisées s'ils protégent l'accès au code javascript dans le navigateur. Remarque : Le navigateur est un outil, il suffit d'utiliser un autre outil ou simplement lire les données transmises pour lire ce code.
- Allez sur le Web et faites une recherche sur "Javascript obfuscation". Vous vous rendrez compte du nombre de développeurs persuadés que l'on peut brouiller le code pour qu'il ne soit pas lisible (obfuquer). Remarque : Si le navigateur peut le faire alors n'importe qui peut reproduire le scénario et le déobfusquer.
- Bonne démonstration JSON et une astuce pour éviter certaines attaques.

Si vous n'avez pas le temps de visualisez tous ces documents alors parcourez la version ci-dessous qui est pratiquement identique.



Dans le répertoire sécurité des clients Web, notez qu'il existe une page sur la sécurité des players flash sur le site de Adobe.

Sources :
Wikipedia : Billy Hoffman
Voicesthatmatter : Les documents de présentations
Voicesthatmatter : Les vidéos des présentations
Firebug : extension de debug javascript
Channel9 MSDN : Microsoft Security Wiki
webappsec.org : The Unexpected SQL Injection
JSON : JavaScript Object Notation
Alex's Corner : More Javascript Overloading
Adobe : Sécurité des players flash

Commentaires

Posts les plus consultés de ce blog

Les secrets de Google Calendar

Le calendrier Google Calendar est une des applications en ligne qui explose et je ne reviendrai pas sur la problématique de stockage des données dans ce billet. La force de cet outil réside dans la possibilité d’avoir plusieurs calendriers que nous pouvons partager ou garder privés. Ainsi, je peux avoir un calendrier partagé avec mes amis de l’association des ramasseurs de cailloux, un autre personnelle et un dernier pour les activités familiales. Je suis connecté sur Google Calendar (https://www.google.com/calendar) . Pour créer un nouveau calendrier je clique sur « Ajouter->Créer un agenda » dans la colonne de gauche. Après lui avoir donné un nom, je le vois apparaitre dans la colonne de gauche. Ensuite en cliquant sur le carré de couleur avec une flèche vers le bas, je peux le configurer à ma guise. Quelques tuyaux Pour une meilleure lecture j’ai besoin de compléter les affichages : Je clique sur "Ajouter->Ajouter un agenda public->Parcourir les agendas->Plus"...

Bonne année 2025

Que 2025 soit une année de simplicité et de retour à l’essentiel. Je vous souhaite plein de rires, de sport et de dynamisme pour cette importante année de transition écologique et sicietale.