Calendrier

« juin 2007
lunmarmerjeuvensamdim
123
45678910
11121314151617
18192021222324
252627282930

l'actualité du web, des technologies et aussi quelques bons tutoriaux ;-)

Netvibes, le web passé à l'Ajax

On parle beaucoup du web 2.0 en ce moment. Mais pour beaucoup, ceci reste de l'ordre du concept...

Parmi les technologies à la mode, on trouve Ajax. Mais si vous tapez "Ajax" dans google, vous trouverez surtout des démos, certes impressionantes, mais dont on ne voit pas directement l'utilité au quotidien.

Mais c'est quoi Ajax ?

Il s'agit d'un ensemble de technologies associant :
  • HTML et CSS2 pour la présentation
  • Javascript pour la couche applicative côté client
  • PHP (ou autre) pour la couche applicative côté serveur
  • XML/XSLT pour la manipulation et l'échange des données
  • l'objet XMLHttpRequest pour les échanges asynchrones entre le serveur et l'application

L'association de ces éléments, tous standards, permet de développer des sites web très dynamiques et modulaires. En s'affranchissant du rafraîchissement page par page (mode asynchrone), les modules d'une page sont mis à jour indépendamment, produisant des interfaces riches proches d'un vrai logiciel, fonctionnant dans tous les navigateurs.

Mais cette description idyllique se heurte dans les faits à quelques problèmes :
  • une standardisation théorique qui n'existe pas dans la réalité : il est nécessaire de tester l'application sur tous les navigateurs et d'adapter son code en fonction de ceux ci. Une obligation qui nous ramène plutôt à ce qu'était le web il y a 3 ans, avec les pages alternatives pour Netscape et Internet Explorer.

  • une publication intégrale du code client sous forme de fichiers JS facilement copiables. Cette tendance est certes dans la tendance GNU, mais ne ravira pas l'éditeur d'un service dans un milieu concurrentiel. Des solutions d'exécution de ce code côté serveur existent, notamment en Java ou Python, mais elles se heurtent à la problématique évoquée dans le point suivant.

  • une absence de framework applicatif : dans ce mix technologique qu'est Ajax, il n'existe pas de vraies conventions de développement. Les technologies utilisées se recroisent en de nombreux points et les choix de développements sont infinis. Difficile de savoir à l'avance quel sera l'architecture la plus rapide ou la plus facilement maintenable.

Cependant, les projets avancent et parmi ceux-ci Netvibes est une initiative particulièrement enthousiasmante.

Ce projet remet au goût du jour le fantasme des années 2000 : le portail personnalisable. Partant du principe qu'à l'avenir l'information piochée sur le web serait constitué de flux (les fils RSS sont là pour le démontrer), Netvibes propose à chaque internaute de se composer sa propre page d'accueil.

Composée de modules divers (Météo, Compte Gmail, Fils RSS), la page web se transforme en grand dash board où les modules sont comme des widgets, un peu à la manière de Mac OS X Tiger (en plus sobre).







Les widgets peuvent se déplacer, se réduire, se paramétrer... Toutes les préférences de l'utilisateurs sont sauvegardées, et en vous reconnectant vous retrouvez votre dashboard comme vous l'aviez laissé. Magique !


Un widget en mode Edition - Réglage des préférences

Certains widgets laissent entrevoir la puissance de l'outil : interrogation de comptes mail pop, surveillance de prix sur Kelkoo...

A l'usage, Netvibes se révèle très agréable, même s'il est encore perfectible. Et sa structure modulaire lui garantit un avenir très riche : le succès des widgets pour Mac Os est là pour en donner un apercu.

L'analyse rapide du code javascript donne une idée du travail accompli pour un applicatif relativement simple et dépouillé : Ajax et le web 2.0 sont à réserver à des développeurs plus qu'avertis...

En tout cas une chose est sûre, dans très peu de temps, notre perception du web et de son ergonomie vont radicalement changer.

DVDShrink - La copie de DVD gratuite

Les éditeurs de DVD font tout pour vous empêcher de réaliser des copies privées de vos disques commerciaux.

Mais aujourd'hui, un logiciel très simple et gratuit vous permet de passer outre et de réaliser des copies très facilement.

De plus, si vous ne possédez pas un graveur double couche, DVD Shrink vous permet de régler la compression de la vidéo afin de réduire la taille du fichier. Vous pouvez également supprimer les langues ou les sous-titres qui ne vous intéressent pas. Un peu à la manière du DivX pour graver un film sur un CD.

L'utilisation de DVDShrink est très simple :

1 - Vous cliquez sur l'îcone

2 - Vous sélectionnez le lecteur qui contient le DVD à copier



3 - Vous laissez tourner 2 minutes environ



4 - Ceci fait, vous accédez aux réglages : vous pouvez régler la compression vidéo, supprimer des éléments non désirés, etc. Tout est très simple et clair.



5 - Il ne reste plus qu'à sauvegarder les DVD (fichiers natifs ou image ISO), ou graver directement un DVD-R si vous possédez la dernière version de Nero. Je vous épargne la copie d'écran du bouton suffisament explicite.



Pour des raisons légales propres aux Etats-Unis, DVDShrink ne peut pas être téléchargé officiellement depuis la page officielle. Mais une petite requête sur Google devrait vous tirer d'affaire...

Gmail Drive : un disque virtuel basé sur votre compte gmail

Vous avez un compte gmail ? Saviez vous que vous pouviez utiliser votre compte comme un disque dur pour stocker vos fichiers importants ?

Avec Gmail Drive, vous pouvez créer très simplement un lecteur virtuel dans votre poste de travail qui vous donnera accès aux fichiers sauvegardés dans votre compte. Une bonne façon de ne plus reposer sur votre clé USB et de profiter des 2 gigas proposés par le service de webmail de Google.

Votre disque se comporte comme un disque Windows : vous pouvez créer des sous-dossiers. La seule limite est la taille maximale d'un fichier : 10 Mo, la limite d'une pièce jointe dans gmail.

D'ailleurs, les fichiers dépendant de votre disque sont en fait des messages avec pièces jointes. Pour éviter d'encombrer vos vrais mails, vous pouvez filtrer ces messages (préfixés GMAILFS dans l'objet).

Cette solution est terriblement pratique, surtout qu'en déplacement loin de votre PC, vous pourrez accéder à vos fichiers directement depuis votre webmail, en utilisant la fonction de recherche de gmail.

Le service gmail est toujours en beta et il est impossible de créer un compte sans être parrainé. Si vous le souhaitez, contactez moi sur info (a) webinterdit.com et je vous enverrais une invitation ;-)

Giganews : usenet à fond de freebox

Vous connaissez peut être le réseau Usenet (les newsgroups) pour ses fonctions de groupes de discussion, ancêtres de nos forums d'aujourd'hui. Mais saviez vous que ce réseau est devenu l'un des principaux repère de pirates, au même titre qu'emule ou bittorrent?

En effet, le réseau usenet permet de poster des messages contenant des données, les fameux "binaires" (binaries en anglais). Si au départ cette possibilité partait d'une bonne intention, dire qu'elle a été dévoyée est un euphémisme...

En effet, en utilisant la faculté des logiciels de compression (type Winrar) à diviser des grosses archives (images CD ou DVD) en petits morceaux, il est possible de poster un DVD entier. Le téléchargement et la reconstitution des données ne sont qu'un jeu d'enfant si l'on possède les bons outils... Mais ceux ci feront l'objet de billets spécifiques (voir liens en fin d'article).

Revenons-en aux newsgroup eux mêmes. Pour télécharger les en-têtes des groupes de discussion et lire les messages (utilisation classique d'Usenet), vous utilisez un logiciel de lecture (newsreader) et vous vous connectez sur le serveur de news de votre FAI (news.free.fr par exemple).

Mais pour télécharger des binaires, il vous faut de la puissance et ça, ça ne plaira pas à votre FAI. En effet, si des centaines d'utilisateurs siphonnent des binaires à pleine vitesse, l'infrastructure de serveurs de news du FAI en ressent vite les conséquences. Surtout qu'il s'agit d'un poste technique qui ne rapporte rien au FAI !

Par exemple, chez Free (qui figure parmis les FAI les plus généreux dans ce domaine), vous ne pouvez ouvrir que quatre connexions simultanées et vous ne dépasserez probablement pas 100/150 ko/s. Si vous tentez d'aller plus loin, la sanction sera immédiate : ban de votre adresse IP pour au moins 48 heures. Si vous recommencez, vous risquez des ennuis, surtout que les FAI savent parfaitement ce que signifie ce type de débits sur les newsgroup...

Cependant, une solution existe. Elle est payante, mais c'est bien peu de chose au regard des avantages qu'elle apporte. Cette solution, c'est Giganews. Cette société vous offre, pour environ 20€/mois, un accès à ses serveurs usenet avec 10 connexions simultanées, sans limite de vitesse. Si par exemple, vous disposez d'une freebox dégroupée, vous téléchargez sans problème entre 1500 et 2000 ko/s (si, vous avez bien lu).

Freebox

Faites le calcul : ça fait un CD complet (ou un Divx) en cinq minutes et même un vrai DVD en 40 minutes. Emule reste donc très loin derrière.

Créer un compte sur Giganews est donc la première chose à faire pour downloader sur usenet.

Voir aussi :
- Tutorial Newsleecher/Supersearch
- Tutorial QuickPar

Injection SQL : le chemin le plus rapide pour hacker un site web

Quand un serveur web n'a que le port 80 d'ouvert (ce qui est généralement le cas sur tout site "sérieux"), vous n'obtiendrez rien de vos logiciels de recherche de failles. De plus, vous pouvez être sûr que l'admin patche correctement son système : les mises à jour sont automatisées de nos jours. Pour obtenir des informations, il ne reste alors plus que le web-hacking. L'injection SQL est une forme de web-hacking qui ne nécessite que le port 80 et peut marcher dans quasiment tous les cas en cherchant bien. Ces attaques concernent la base de données et le language applicatif (PHP, ASP, CGI...), pas le système ou le serveur web. Leur objet est le plus souvent de récupérer des données (mots de passe, emails) ou de modifier celles-ci (rendre le site inutilisable).

L'injection SQL consiste à envoyer des commandes non-autorisées au serveur par le biais de d'entrées utilisateur dans les pages web (formulaires). De nombreuses pages demandent des informations à l'utilisateur et exécutent des requêtes dans la base de données. Par exemple, quand vous entrez votre login et votre mot de passe pour accéder à un forum, le résultat de la publication du formulaire de saisie est d'interroger la base de donnée pour vérifier la validité de vos identifiants. Avec l'injection SQL, vous pouvez utiliser ces champs pour envoyer des commandes spécifiques à la base pour obtenir un résultat que vous avez choisi (afficher la liste des mots de passe par exemple).

Pour réaliser des injections SQL, vous n'avez besoin que d'un seul logiciel : un navigateur web. Cependant, attention à l'endroit d'où vous effectuez ces essais : ceux-ci seront loggés par le serveur, et l'utilisation d'un proxy est fortement recommandée.

Essayez de cherche des pages qui vous permettent de soumettre des données (page de login, page de recherche, formulaire de contact, etc.). Parfois, les pages HTML (statiques) utilisent la commande POST pour envoyer des paramètres à une page dynamique (PHP). Vous ne verrez pas de paramètres dans l'url, mais vous pouvez regarder le code source et chercher le tag "FORM ". Vous risquez de trouver ce type de code :

<FORM action=Recherche/recherche.php method=post>
<input type=hidden name=A value=C>
</FORM>


Tout ce qui se trouve entre les balises <FORM> et </FORM> recèle des paramètres qui sont potentiellement exploitables.

Si vous ne trouvez pas de page qui font appel à des entrées utilisateurs, essayez les pages qui passent des paramètres comme :

http://www.webinterdit.com/index.asp?id=7
(pas la peine d'essayer chez nous, nous avons des protections en place...)



Pour tester une éventuelle vulnérabilité, commencez par essayer le guillemet simple.

Entrez quelque chose comme :

hi' or 1=1--

dans la case login, ou password, ou même dans l'URL. Par exemple :
 Login : hi' or 1=1--
 Mot de passe : hi' or 1=1--
 http://www.webinterdit.com/index.asp?id=hi' or 1=1--


Si vous devez impérativement utiliser un champ avec le paramètre HIDDEN, téléchargez le source HTML puis modifiez l'URL et le champ masqué. Par exemple :

<FORM action=http://www.webinterdit.com/recherche/recherche.php method=post>
<input type=hidden name=A value="hi' or 1=1--">
</FORM>


Si vous avez de la chance (et que le webmaster est suicidaire), vous entrerez sans login ni mot de passe.

Pour ceux qui connaissent SQL, il est évident que ce type de commandes est la porte ouverte à la base de données : si on peut exécuter 1=1, on peut tout demander. La puissance du langage SQL n'est plus à démontrer.

Pour éviter l'injection SQL, il suffit de filtrer les caractères utilisés par le langage SQL (slash, guillemets simples et doubles, pipeline, etc.) dès qu'il s'agit :
 - D'entrées utilisateurs
 - De paramètres d'URL
 - Valeur d'un cookie

Cette introduction à l'injection SQL est une approche simplifiée. La somme des techniques utilisables est immense, vous trouverez de nombreuses infos à ce sujet sur le web. Mais si vous testez un peu, vous verrez que de nombreux sites (même les plus grands) sont susceptibles d'être hackés. Personne n'est à l'abri d'un stagiaire qui oublie de protéger ses champs...


Bloxor : cool aggregator !

Les aggrégateurs de flux rss sont un nom compliqué pour des lecteurs de news (ce que sont les fils rss).

La caractéristique de ce type de logiels (le plus souvent, ils s'agit de vrais logiciels, différents du navigateur) est la complexité. Type de fil (Atom ou RSS), réglages divers et variés... Bref, décourageant pour l'utilisateur lamba...

Heureusement, XUL est passé par là.

"Mais c'est quoi XUL ?" vous demandez vous. C'est une association de langages qui permettent de créer des logiciels web (web applications en anglais) qui tournent dans le navigateur web. Cette méthode de programmation est la réponse de la communauté du logiciel libre à Microsoft et son système propriétaire : .net.

Mais revenons en à Bloxor. Il s'agit d'une application de gestion de fils RSS (un aggrégateur), mais qui se consulte depuis Firefox. Extrêmement simple d'utilisation, elle apporte un avantage majeur des "web apps" : vous pouvez vous connecter de n'importe où sur votre compte bloxor et retrouver vos fils favoris.

L'écran ci dessous montre l'interface "à la outlook" proposée par bloxor :



En plus, le logiciel est aussi libre que XUL : vous pouvez proposer bloxor à vos visiteurs si vous administrez un site web. Tout ce que vous avez à faire est d'installer le logiciel sur votre serveur et à l'intégrer à votre gestion de membres (comme phpBB par exemple). C'est très simple et vous permet d'offrir à vos visiteurs un super service à vos couleurs.

Pour finir, si vous n'avez jamais touché aux fils RSS, bloxor vous rendra très vite accros : vous aurez votre revue de presse person en un coup d'oeil sans visiter tous les sites auquels vous êtes abonné. Et ce, où que vous soyez...