Je suis tombé ce soir sur http://www.securityfocus.com/bid/5798/info
Je ne me souviens pas que cette faille nous ait été signalée à l'époque mais bon passons...
J'ai regardé de plus près. Ce qui est reproché est que l'on acceptait des dépêches contenant <IMG SRC="javascript:alert('unsecure')">.
Je me suis dit, les navigateurs n'exécuteraient quand même pas un tel code ? Et bien Internet Explorer le fait. Ça résulte toujours en une image cassée bien sur.
En cherchant un peu, il semble que ça serve très souvent à exploiter d'autres failles. Ca n'a l'air de déranger personne...
La faille serait donc dans tout les sites qui laissent passer ce code que IE exécute alors qu'il ne peut que créer une image invalide (à moins bien sur de mettre javascript:this.src=uneurl mais ça ne sert pas à grand chose...) et non pas dans IE ?
J'ai un peu de mal à comprendre...
# Tien, une idée...
Posté par Raphaël G. (site web personnel) . Évalué à -3.
Maintenant je vais pouvoir pourrir la vie de mes utilisateurs qui osent encore venir avec IE sur mon site ;)
Amis utilisateurs de IE copain...
Remarque a sois-même, ça pourrais servir a mettre un logo anti-ie ou d'autre truc qui marchent a chaque coup...
[^] # Re: Tien, une idée...
Posté par ナイコ (site web personnel) . Évalué à 5.
<input type crash>
[^] # Re: Tien, une idée...
Posté par yves a (site web personnel) . Évalué à 2.
Type d'analyse : Analyse Auto-Protect
Evénement : Menace trouvée !
Menace : Trojan.CrashIE
Une autre qui marche bien aussi:
<html>
<STYLE>
.supp IMG {
VERTICAL-ALIGN: middle
}
</STYLE>
<P><A <It>.</P>
<DIV class="supp"> <A><IMG>
</html>
# Question existentielle
Posté par alexissoft . Évalué à 3.
=>[]
# vbscript
Posté par Pooly (site web personnel) . Évalué à 8.
Sinon, cette faille XSS a été corrigée dans les versions récentes de Templeet, le module cuthtml en particulier, et ce code est directement nettoyé. (Ok, on parle de daCode, mais comme c'est un morceau de daCode repris par Templeet)
[^] # Re: vbscript
Posté par Fabien Penso (site web personnel, Mastodon) . Évalué à 2.
Non, cuthtml a été codé par Pascal à partir de rien. Mais qui effectue une fonction qui fait la même chose se rendra compte du nombre d'emmerdes potentielles quand on écrit un bout de code pareil, en gros avoir la possibilité d'afficher un nombre de caractères affichables d'une longueur spécifié, sans compter les caractères non affichables, sans compter les &...; comme plusieurs, etc.
# Journal : C'est pas une faille d'IE ça ?
Posté par chx dein . Évalué à 10.
Non, c'est une feature.
[^] # Re: Journal : C'est pas une faille d'IE ça ?
Posté par Gniarf . Évalué à 8.
punk is not dead :)
# XSS et consorts
Posté par Anonyme . Évalué à 4.
Évidemment, on peut se demander si corriger les navigateurs ne serait pas une solution. Mais comme souvent, corriger le fautif client n'est pas vraiment possible, question de proportion et de volonté. Donc la seule solution est... d'interdire tout HTML.
Aussi pénible que ça puisse paraître, il faut inventer une surcouche au HTML pour au final autoriser le HTML, pour être sur que le HTML ne contienne que des éléments que les navigateurs n'exploitent pas n'importe comment.
C'est plus ou moins la conclusion que pour Savane on a tiré de https://gna.org/forum/forum.php?forum_id=1067 pour en arriver à https://gna.org/task/?func=detailitem&item_id=2874
[^] # Re: XSS et consorts
Posté par Pooly (site web personnel) . Évalué à 1.
La surcouche au HTML est donc absolument redondante, à moins d'offrir une syntaxe différente et plus agréable pour une catégorie d'utilisateurs, par exemple la syntaxe wiki.
[^] # Re: XSS et consorts
Posté par Anonyme . Évalué à 2.
[^] # Re: XSS et consorts
Posté par Sébastien Koechlin . Évalué à 2.
En prime, la syntaxe wiki n'est pas très claire; comment fait-on pour mettre du texte entre crochets ? Pour représenter un < en html, on sait clairement ce qu'il faut faire.
[^] # Commentaire supprimé
Posté par Anonyme . Évalué à 5.
Ce commentaire a été supprimé par l’équipe de modération.
[^] # Re: XSS et consorts
Posté par Pooly (site web personnel) . Évalué à 2.
# Pourquoi IE ?
Posté par pasBill pasGates . Évalué à 1.
IE affiche la page qui arrive, que la page ait ete creee par l'administrateur de linuxfr.org(qui pourrait ecrire ca lui-meme) ou un utilisateur n'y change rien. Mettre du javascript dans IMG SRC ne cause aucun probleme connu que je sache, bref, l'utilisateur pourrait mettre n'importe quel javascript, il s'executera tout comme si IE avait visite une autre page avec ce javascript ailleurs, rien de tres important.
Au pire, c'est une faille du site web permettant au jour d'aujourd'hui du cross-site scripting(permet a l'utilisateur d'injecter son propre code sur le site et faire croire aux autres utilisateurs qu'ils sont sur un autre site ou autre, ...)
Le coup du IMG SRC donne en exemple n'est qu'un exemple, il y a problablement d'autres cas, il voulait simplement signifier l'absence de filtrage a mon avis.
[^] # Re: Pourquoi IE ?
Posté par Pascal Terjan (site web personnel) . Évalué à 3.
Tu peux me citer un exemple où il est utile d'executer du code à cet endroit là (à part la majorité des exploits d'autres failles) ?
[^] # Re: Pourquoi IE ?
Posté par pasBill pasGates . Évalué à 1.
Si ca se trouve, c'est meme peut-etre un bug de fonctionnalite d'IE(qui sait, peut-etre que la RFC l'interdit), cependant ce n'est pas une _faille_ d'IE.
Que le javascript soit execute en etant place en IMG SRC ou autre, pour IE ca ne change rien, la javascript a le meme acces et permissions, raison pour laquelle ce n'est pas une faille de securite d'IE.
Le gars se plaint du fait que qq'un pourrait injecter du code javascript dans une page DaCode si sa depeche est acceptee(si j'ai bien compris), il se plaint pas que ce soit place dans IMG SRC ou autre.
[^] # Re: Pourquoi IE ?
Posté par Pascal Terjan (site web personnel) . Évalué à 1.
Accepter d'executer du code à un endroit ou il ne devrait pas y en avoir est pour moi une faille. Après que l'appli ne vérifie pas qu'il n'y en ait pas la ou il ne doit pas y en avoir, c'en est une aussi mais moins grave puisque le code n'est pas censé etre executé. Le pire c'est que ce code est executé sans action de l'utilisateur...
Pourquoi IE accepte javascript: dans le src d'une image, et pas par exemple dans un style=, ou tout autre attribut ? Ca aurait aussi peu de sens dans les différents cas, donc pourquoi avoir codé celui la qui est aussi inutile que les autres et tout aussi dangereux ?
Cela revient pour moi au même que si j'avais appris que <tt>javascript:...</tt> était executé comme si <tt> avait été <script>...
[^] # Re: Pourquoi IE ?
Posté par pasBill pasGates . Évalué à 2.
Que le javascript soit dans un IMG SRC= ou ailleurs dans la page, il a le meme effet.
Bref, si IE devait interdire le javasrcipt dans IMG SRC= pour se premunir d'une quelconque attaque, ca serait totalement inefficace vu que le javascript peut etre ailleurs et etre execute automatiquement.
Bref, du point de vue de IE, que le javasrcipt soit dans IMG SRC= ou ailleurs ne fait aucune difference du point de vue securite, c'est la meme chose que si le code etait ailleurs.
[^] # Re: Pourquoi IE ?
Posté par andeus . Évalué à 1.
Le problème n'est pas là.
Si un utilisateur d'un site réussis à placer javascript:quelquechose dans le code HTML et que ce code est éxécuté, il peut récupérer le cookie des autres utilisateurs ou le contenu de la page par exemple => faille XSS.
Donc les sites en général n'autorisent pas le HTML, utilisent des tags genre [url=http://url] ou [img=http://img] et en filtrent le contenu.
Mais comme un code javascript n'est pas censé s'exécuter dans une balise IMG, le site ne filtre pas forcément le contenu de [img=], et les utilisateurs de IE sont vulnérables à ce genre d'attaques.
ça n'empêche pas le site de corriger le problème, mais c'est une faille de IE.
[^] # Re: Pourquoi IE ?
Posté par pasBill pasGates . Évalué à 5.
Et parmis les exemples donnes :
This last example shows how SGML CDATA attributes can be quoted using single or double quote marks. If you use single quotes around the attribute string then you can include double quote marks as part of the attribute string. Another approach is use " for double quote marks, e.g.
< IMG SRC="&{logo(manufacturer("widget"))};" >
Bref, confirmation qu'IE ne fait rien de faux. Javascript est visiblement autorise dans IMG SRC
[^] # Re: Pourquoi IE ?
Posté par mcjo . Évalué à 1.
The processing of CDATA attributes proceeds as follows:
1. The SGML parser evaluates any SGML entities, e.g. ">"
2. Next the script macros are evaluated by the script engine
3. Finally the resultant character string is passed to the application for subsequent processing.
Donc le résultat est < IMG SRC="&{logo(manufacturer("widget"))};" >
Et pas
Maintenant je n'ai pas le temps de tout lire pour savoir si c'est extensible au javascript, si la source des macro sont limités aux domaines...
[^] # Re: Pourquoi IE ?
Posté par mcjo . Évalué à 0.
img src="javascript:alert('test');"
En espérant que certain vont me répondre et enfin m'expliqué pourquoi mon interprétation est erronnée
[^] # Re: Pourquoi IE ?
Posté par pasBill pasGates . Évalué à 1.
The processing of CDATA attributes proceeds as follows:
1. The SGML parser evaluates any SGML entities, e.g. ">"
2. Next the script macros are evaluated by the script engine
3. Finally the resultant character string is passed to the application for subsequent processing.
1), le parser s'occupe de tout ce qui est HTML avec des < et des >
2) Les scripts sont executes, pour avoir la valeur du IMG SRC entre autres
3) Le resultat de l'execution(normalement le nom d'une image dans ce cas la) est passe au browser pour qu'il aille prendre l'image et l'afficher
L'exemple "&{logo(manufacturer("widget"))};" c'est du script, tout comme "javascript:alert('test');"
Il n'y a aucune difference entre les 2.
La page specifie clairement :
This specification extends HTML to support locally executable scripts including JavaScript, VBScript, and other scripting languages and systems.
[^] # Commentaire supprimé
Posté par Anonyme . Évalué à 1.
Ce commentaire a été supprimé par l’équipe de modération.
[^] # Re: Pourquoi IE ?
Posté par Infernal Quack (site web personnel) . Évalué à 4.
L'association LinuxFr ne saurait être tenue responsable des propos légalement repréhensibles ou faisant allusion à l'évêque de Rome, au chef de l'Église catholique romaine ou au chef temporel de l'État du Vatican et se trouvant dans ce commentaire
[^] # Commentaire supprimé
Posté par Anonyme . Évalué à 1.
Ce commentaire a été supprimé par l’équipe de modération.
[^] # Commentaire supprimé
Posté par Anonyme . Évalué à 0.
Ce commentaire a été supprimé par l’équipe de modération.
[^] # Commentaire supprimé
Posté par Anonyme . Évalué à -1.
Ce commentaire a été supprimé par l’équipe de modération.
[^] # Re: Pourquoi IE ?
Posté par Pascal Terjan (site web personnel) . Évalué à 3.
[^] # Commentaire supprimé
Posté par Anonyme . Évalué à 0.
Ce commentaire a été supprimé par l’équipe de modération.
[^] # Re: Pourquoi IE ?
Posté par Pascal Terjan (site web personnel) . Évalué à 5.
Ca change qu'il y a plein de raisons d'accepter des images fournies par l'utilisateur, par contre aucun site n'a de raison de laisser passer un <script>. A cause de cette faille, un site qui vérifie juste qu'il n'y a que des image et l'attribut src (donc une simple url vers une image) laisse passer du code qui sera éxécuté par IE. Qu'il execute du code dans onClick, onLoad, <script>, ... ca ne me dérange pas. Qu'il éxecute du code dans ce qui devrait être des données me dérange. Ca me dérange autant que les softs qui executent du code sur la pile...
SecurityFocus désigne la faille comme étant dans DaCode, et non pas dans Internet Explorer
C'est ce qui m'étonne et le sujet de ce journal. Me le donner comme argument n'avance donc à rien :)
[^] # Re: Pourquoi IE ?
Posté par Seazor . Évalué à 1.
C'est p'tet une mauvaise idée à tes yeux, mais MS n'y est pour rien.
Cette fois au moins, IE respecte les specs du w3c. On ne va pas leur reprocher quand même ?
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.