TutorielsVous débutez ? C'est ici qu'on commence !
Mon compte
Recherche
Livre d'or
PublicitéVous devez être inscrit pour pouvoir poster des messages
| Page : 1 | |||||||
| Pseudo | Commentaire | ||||||
|---|---|---|---|---|---|---|---|
| Page : 1 | |||||||
tryks
|
# Posté le 10/04/2008 à 09:43:10 - Ce membre a mis la note : 16 | ||||||
|
Vis tibi adsit ! Groupe : Membres |
Pas mal. En revanche, petite faute à la fin: tu ouvres mal ta puce ![]() 16 Sententiae : le site des phrases cultes traduites en latin ! ==> en cours de reprogrammation! Blog perso |
||||||
Jérémy_B
|
# Posté le 15/04/2008 à 17:59:50 - Ce membre n'a pas mis de note | ||||||
Pensez avenir..![]() Groupe : Membres |
Bonjour , Voilà un tuto qui explique un peu mieux ce type de faille ! Par contre, est-il mieux d'utiliser " htmlentities " ou " htmlspecialchars " ? Les recommendations sur le forum sont bien plus nombreuses pour htmlspecialchars ! De plus, tu parles que pour les chaines de caractères... il faut aussi vérifier les valeurs numériques, grâce à " intval ", entre autre ! Ainsi, si la valeur attendu est un nombre, on place cette fonction pour éviter tout problème ! Mais cela reste quand même un bon tuto dans l'ensemble.
PHP | MySQL | POO Mes compétences : (Avancé) PHP, MySQL, xHTML, CSS | (Intermédiaire) POO, MVC | (Novice) Inkscape |
||||||
Savageman
|
# Posté le 28/04/2008 à 13:44:21 - Ce membre n'a pas mis de note | ||||||
Insa : If inside![]() Groupe : Membres |
C'est bien évidemment htmlspecialchars() qui faut utiliser et non pas htmlentities() : on s'en contre-fiche des accents, c'est tout juste bon pour ceux qui n'arrivent pas utiliser le bon encodage...
|
||||||
funnycat
|
# Posté le 28/04/2008 à 15:43:49 - Ce membre a mis la note : 15 | ||||||
Illusion tu nous trahis![]() Groupe : Membres |
Merci pour ce tutoriel bien expliqué et qui souligne bien les dangers que représente ce type de faille.
InfoWebMaster: Site pour webmasters (articles, informations et ressources pour webmasters). Elektronique: Site d'électronique (cours et montages d'électronique).
|
||||||
Valter
|
# Posté le 28/04/2008 à 17:35:31 - Ce membre a mis la note : 10 | ||||||
|
http://skyzzor.blogspot.com/ Groupe : Membres |
Bonjour, alors je t'ai mis un gentil 10 car je n'ai pas voulu trop te décourager puisque apparemment, il s'agit de ton premier tutoriel. Selon moi, tu ne connais pas assez la faille XSS pour pouvoir en faire un cours ou même un article, ceci dit je ne cherche pas à te faire renoncer, simplement qu'il faudrait te documenter un peu plus sur cette faille ou alors donner à ton tutoriel un nom un peu moins explicite. Je ne t'en dirais pas plus... |
||||||
Pio154
|
# Posté le 28/04/2008 à 17:40:05 - Ce membre a mis la note : 13 | ||||||
prendre du temps pour coder![]() Groupe : Membres |
Je met 13/20 mais il faut approfondir Sinon pour le question, la première question je n'ai pas compris, même avec la réponse.
|
||||||
Ninety
|
# Posté le 28/04/2008 à 17:48:35 - Ce membre a mis la note : 16 | ||||||
Voila qui me decrit mieux :p![]() Groupe : Membres |
Citation : Aj4x C'est sûr... Mais imaginons qu'au lieu de mettre "Hello world !", nous mettions file.php?texte=<script>alert('XSS')</script>... ... Et le code source : Code : HTML
C'est pas plutot alert('XSS') ? Sinon, comme l'a dit Jérémy_B il faudrai que tu parle de la fonction intval (). Concernant la fonction htmlspecialchars () et htmlentities () elles sont identiques sauf qu'avec htmlentities () tous les caractères qui ont des équivalents en entités HTML sont effectivement traduits (selon la doc). Personnellement j'utilise htmlentites ($var, ENT_QUOTES) ... Concernant le tuto, c'est une bonne approche meme s'il pourrait etre un peu plus detaillé et le code un peu mieux indenté .Ma note : 16. ![]() |
||||||
cypher666
|
# Posté le 28/04/2008 à 18:17:50 - Ce membre n'a pas mis de note | ||||||
Heu....![]() Groupe : Membres |
Je note 16/20 aussi car il manque quelques informations. Je pense qu'une liste non exhaustive de fonctions de sécurité ne serais pas de trop. Juste les plus importantes Voila, bonne améliorations
Site non officiel de mon lycée A VOIR!!! Quand vous allez sur un site amateur, cliquez sur les publicités, ça rapporte de l'argent au webmaster et vous ça ne vous coûte rien ![]() |
||||||
MicBeastKiller
|
# Posté le 29/04/2008 à 08:58:54 - Ce membre n'a pas mis de note | ||||||
|
Groupe : Membres |
Bonjour, Je n'y connais rien donc je ne note pas. Je l'ai juste lu pour info... Petite faute en deuxième partie Certains des risques provoqués par une faille XSS dans le premier exemple récupère le mot de passe que vous tapé... tapez et non tapé Bonne continuation |
||||||
Aztek
|
# Posté le 29/04/2008 à 12:40:19 - Ce membre a mis la note : 15 | ||||||
blablabla![]() Groupe : Membres |
Et dans ton QCM pourquoi et-ce dangereux USER-AGENT ? à part pour vouloir se hacker soi-même ?
Les chats retombent-ils toujours sur leur pattes ? Selon l'association américaine des vétérinaires : sur 22 chats tombés d'une hauteur supérieure à 7 étages (environ 25m), un seul est mort sur le coup, 20 ont été blessés par leur chute (principalement à l'abdomen), dont 1/3 de lésions graves et 1/3 de lésions sérieuses... (Quid 1991. page 209b) |
||||||
mrjay42
|
# Posté le 29/04/2008 à 13:48:15 - Ce membre n'a pas mis de note | ||||||
We gotta take the power back![]() Groupe : Membres |
<?php if($recherche = $_GET['search'])?>
C'est normal ça? Pourquoi n'y a t'il qu'un seul "=" dans le if ? Je précise que ce bout de code est extrait du QCM... Un ptit blog ou je stocke mes solutions concernant linux, windows, php, html, css, js et aussi le hardware : http://mrjay42.free.fr/blog _If you type "google" into google, you can break the internet! I swear! Don't do this. _L'homme est un loup level 54 pour l'homme |
||||||
Jeremie78
|
# Posté le 29/04/2008 à 19:26:17 - Ce membre n'a pas mis de note | ||||||
|
Powered by GNU/Linux Groupe : Membres |
Je ne suis pas d'accord avec la première question du questionnaire : ce script n'est PAS faillible. Disons que si on parle de faille XSS pur et simple, oui il y en a une, mais il faudrait plutôt se demander si il y a un risque pour les AUTRES VISITEURS. Dans ton exemple, le modification du USER-AGENT permet d'infiltrer du javasccript, mais comme ce code javascript n'est affiché qu'à celui qui a ce USER-AGENT là, alors le "pirate" se pirate lui-même ... Il faut donc tempérer tes propos quand tu parles de "faillibilité du script". J'estime qu'un script n'est RÉELLEMENT faillible que s'il introduit un risque de sécurité pour les AUTRES visiteurs du site. Dans ton exemple, il s'agit plus d'un bug qu'autre chose . Le bug étant que si des balises se trouvent dans le USER-AGENT, la page pourrait se retrouver défigurer.EDIT : D'ailleurs, je me demande comment tu peux pondre un code de ce genre : Code : PHP
À quoi servent les balises <script> entourant le texte ?? La seule chose que tu risque de faire est de faire bugger l'interpréteur de JS du navigateur. À mon avis, tu voulais soit mettre ce code : Code : PHP
Soit celui-là : Code : PHP
EDIT 2 : mrjay42 > le code n'est pas vraiment exemple, il suffit de regarder la qualité de l'indentation. Prend en compte le résultat définitif de code et pas les bizarreries du code. Dans le cas de cette ligne, il faut comprendre que le variable de gauche prend la valeur de la variable de droite. Mais bon, c'est vraiment pas un "bon" code, il n'y a pas de vérification sur l'existence de la variable "$_GET['search']" et faire cette assignation dans une condition n'a tout simplement aucun sens, à part mettre en exergue la médiocrité du code. (une code faillible peut être bien écrit, pas besoin de faire des trucs illogiques). Web-Modules : outils pour webmasters (compteurs, tchat, news ...) à installer sur son site, générateur de bannières, de userbars, ... |
||||||
Aztek
|
# Posté le 29/04/2008 à 20:55:30 - Ce membre a mis la note : 15 | ||||||
blablabla![]() Groupe : Membres |
@Jeremie78 -> C'est ce que je disais
Les chats retombent-ils toujours sur leur pattes ? Selon l'association américaine des vétérinaires : sur 22 chats tombés d'une hauteur supérieure à 7 étages (environ 25m), un seul est mort sur le coup, 20 ont été blessés par leur chute (principalement à l'abdomen), dont 1/3 de lésions graves et 1/3 de lésions sérieuses... (Quid 1991. page 209b) |
||||||
Jeremie78
|
# Posté le 29/04/2008 à 21:04:05 - Ce membre n'a pas mis de note | ||||||
|
Powered by GNU/Linux Groupe : Membres |
En effet, mis je donne plus de précisions
Web-Modules : outils pour webmasters (compteurs, tchat, news ...) à installer sur son site, générateur de bannières, de userbars, ... |
||||||
Otnip
|
# Posté le 29/04/2008 à 22:41:27 - Ce membre n'a pas mis de note | ||||||
|
Groupe : Membres |
Code : PHP
Je trouve un brin que $recherche == $_GET['search'] serait plus approprié. Nous sommes libres de ne pas nuire aux autres. |
||||||
coucou747
|
# Posté le 30/04/2008 à 07:57:27 - Ce membre a mis la note : 2 | ||||||
![]() Groupe : Membres |
Ce tuto est vraiment incomplet, il ne traite pas vraiment des exploits faits en javascripts tels que faire auto-valider un formulaire du site (si un admin vennait sur une page ayant ete exploitee, il pourrait alors supprimer involontairement un membre) ou mettre une image genre : http://admin.site.fr/delete_membre.php?id=42 comme image d'avatar pour supprimer automatiquement un membre des qu'un admin irait sur la page (il ne s'en rendrait alors meme pas compte...) ou les injections SQL a base de UNION SELECT ou autre sans compter les uploads et les includes a base de http://www.monsite/monscript Bref, c'est VRAIMENT incomplet. |
||||||
katagoto
|
# Posté le 30/04/2008 à 16:55:11 - Ce membre a mis la note : 5 | ||||||
Hard than a rock![]() Groupe : Membres |
Génial ça c'est de la sécurité à l'état pure : Code : PHP
Ce ne suffit pas... Code : PHP
Si je t'avais dans ma team de codeurs j'aurais peur... Bonne journée et bon code, Katagoto _______________________________________ Vive PHP, PostGreSQL, la POO, PDO, AC/DC et le C++ Je cherche une aide en C++ |
||||||
Nelty
|
# Posté le 30/04/2008 à 17:17:12 - Ce membre n'a pas mis de note | ||||||
Python rocks.![]() Groupe : Membres |
katagoto : je n'aimerais pas être dans ta team de codeur, car tu as l'air extrêmement incompétent. Sauf sauf sur certaines configurations de PHP (le mieux c'est de vérifier une fois et après on fait les scripts en conséquence), les ' et " sont échappés automatiquement. Si vous souhaitez activer/désactiver ça, il faut aller dans votre fichier PHP.ini et chercher "magic_quote". Cet échappement est valable pour toutes les valeurs transmises par $_COOKIE, $_POST et $_GET. Tu comprendras donc qu'échapper des caractères (' et ") déjà échappés, c'est un peu beaucoup débile. PythonÀ l'ouïe de ce mot, vous pouvez penser à deux choses. La première, c'est le serpent. La deuxième, c'est le langage de programmation. Étant donné que nous sommes sur un site basé autour de ce dernier domaine, je vais plutôt m'intéresser au langage. ![]() Concrètement, Python c'est quoi ?Python est comme je l'ai indiqué plus haut un langage de programmation interprété. Il est placé sous une licence libre et est un langage dit «multi-plateforme» (il fonctionne sous Windows, Mac et Linux). Comme beaucoup, il est à la base exploitable en console, mais l'utilisation de GUI est envisageable pour faire une application graphique. AtoutsUn des gros avantages de Python est qu'il est très simple à l'écriture et vous permet d'adopter de bonnes méthodes de programmation, notamment au niveau de la lisibilité du code. En effet, ici, plus d'accolades ou autres pour indiquer un bloc d'instruction (if, else, while, ...), tout se fait par indentation. Ainsi, un tel code en PHP : Code : PHP
Donnera ceci en Python : Code : Python
Les deux afficheront (à peu près) : Citation : Résultat : 2,4,6 Remarquez la simplification du code pour effectuer une action très simple. Il a aussi l'avantage d'intégrer de nombreuses bibliothèques pour effectuer une multitude d'actions très diverses, dans tous les domaines. math pour les opérations mathématiques par exemple. Pour finir, il est aussi exploitable sur le Web. Pour l'utiliser, il vous faudra un hébergeur l'acceptant et peut-être inclure certaines bibliothèques selon vos besoins (je pense à CGI pour les traitements de formulaire). À titre d'information, alwaysdata accepte le Python et est gratuit. Où apprendre ?Question évidemment indispensable si vous êtes intéressés... La première, la plus évidente, c'est la documentation officielle de Python, malheureusement uniquement disponible en anglais. Mais il existe un cours très réputé rédigé par un certain Gérard Swinnen qui est disponible en français. S'il ne vous plaît pas, Google (ou autre moteur de recherche) est votre ami ! Où se faire aider ?Peut-être une question qui ne vous viendra pas à l'esprit immédiatement, mais quand vous aurez un problème que vous ne saurez résoudre... Ne vous inquiétez pas, d'autres gens sont passés avant vous et sont prêts à vous aider ! Dans un premier temps, je vous conseille de passer sur IRC, channel #python, serveur irc.epiknet.org . Vous y trouverez un petit groupe de gens qui pourront peut-être vous aider. Après, si vous n'avez pas résolu votre problème, il reste le forum « Autres langages » où des Pythoneux viennent de temps en temps. Enfin, si votre problème est lié à l'utilisation d'une bibliothèque, n'oubliez pas d'aller consulter sa documentation (très souvent en anglais). |
||||||
zerro
|
# Posté le 30/04/2008 à 19:41:59 - Ce membre n'a pas mis de note | ||||||
$ 10.000 $![]() Groupe : Membres |
C'est en même temps trop léger, et en même temps pas assez développé sur des choses qui arrivent comme ça sans accroche. Ce n’est pas assez développé sur ce qui doit l’être si on voudrait partir de zéro, ou pas assez poussé si l’on veut partir d’un niveau moyen. En d’autres termes, le public de ce tuto est très difficilement cadré ! Je ne place pas de note ni ne veux saquer le tuto, c’était juste une impression, les commentaires devraient permettre de faire évoluer tout ça. Bonne chance pour la suite, je repasserai sûrement +
- D'un Z qui veut dire Zerro - |
||||||
coucou747
|
# Posté le 01/05/2008 à 02:46:09 - Ce membre a mis la note : 2 | ||||||
![]() Groupe : Membres |
svp, critiquez des codes et non des auteurs, ca permettra certainement une discution constructive plutot qu'un affrontement verbal. katagoto si t'as un exemple de choses qui ne passe pas avec le htmlentities... poste le... il se trouve que certaines versions de php etaient vulnerables a des caracteres chinois invalides |
||||||
utb_diablo
|
# Posté le 18/06/2008 à 20:09:37 - Ce membre n'a pas mis de note | ||||||
-uTb#`diablo 4 ever ;)![]() Groupe : Membres |
Vous vous demandez le danger que peut représenter un User-Agent falsifié ? Très simple ! Sur un site comme le Sdz où les navigateurs sont recensés, imaginez une page ou serait affiché la liste de tout les navigateurs qu'utilisent les visiteurs, pour un peu que les codeurs du Sdz soient des bras cassés, et n'aient pas pensé à protéger les User-agent enregistrés, le compte du premier admin à visionner ces stats serait volé illico ! Pire : imaginez que ces stats soient rendus public (comme c'est le cas sur le Sdz), un petit malin ayant falsifié son User-Agent volerait aussi facilement le compte de toutes les personnes visionnant ces stats. Ce serait l'anarchie totale ![]() Ne prenez pas les failles XSS à la légère, elles sont dangereuses ces petites bebetes ![]() Never trust user input Ils ne savaient pas que c'était impossible, alors ils l'ont fait ... You'll find my software here => ftp://serv-diablo.no-ip.org/Source Recherche offres de télétravail /Q me |
||||||
Aj4x
|
# Posté le 23/06/2008 à 09:37:51 - Ce membre n'a pas mis de note | ||||||
|
Groupe : Membres |
Et bien, et bien, je n'étais pas aller voir les commentaires. Pour être honnête, après sa validation j'ai laissé le tuto à l'abandon, ce qui explique que les fautes ne soient pas corrigés. Pour ce qui est du htmlentities() qu fait polémique, oui, vous pouvez choisir de l'utiliser, ou de préférer un htmlspecialchars, intval pour un nombre, etc ... Ensuite, pour le fait que le tuto soit incomplet, deux choses : - Si vous parlez, comme dans un commentaire, des failles autres que les XSS, c'est bien normal ( le commentaires site les CSRF et SQL Injection de mémoire ) - Il est quand même assez difficile de faire un long tuto sur ce sujet, surtout si l'on ne veut pas parler de l'exploitation de la faille ( auquel cas, on pourrait largement approfondir le sujet en abordant les XST, les tunnels & shells XSS, ... ) Je vois aussi que j'ai oublié de différencier 2 types de failles XSS : Celle qui ne sont accessible que par une URL, et celle qui sont réaffichées, car retenu dans la bdd ( les plus inquiétantes ). Je repasserais de temps à autres pour lire un peu les commentaires, c'est promis :). Cordialement, Ajax |
||||||
TheFirstZero
|
# Posté le 06/08/2008 à 10:50:24 - Ce membre a mis la note : 15 | ||||||
|
Groupe : Membres |
Très bonne initiative que de faire ce tuto, qui souligne comme d'autres l'ont dit la dangerosité des failles XSS. C'était quelque chose que je ne connaissais pas du tout auparavant. J'ignorais que l'on pouvait faire exécuter du code directement depuis l'URL. Il serait intéressant aussi de mettre à l'épreuve cette faille pour les variables en méthode POST. Bonne continuation. Florian. |
||||||
luc@s
|
# Posté le 11/08/2008 à 12:48:16 - Ce membre a mis la note : 13 | ||||||
|
PPHP Groupe : Membres |
@ katagoto 1-Addslashes ne protège pas contre les failles XSS 2-Addslashes ne sert à rien, utilise au moins mysql_real_escape_string 3-Je n'aimerai pas DU TOUT travailler avec toi non plus Le tuto est pas très complet, bof; 13/20 Code : PHP
|
||||||
Miguel1991
|
# Posté le 24/08/2008 à 03:46:24 - Ce membre n'a pas mis de note | ||||||
![]() Groupe : Membres |
J'ai bien aimé ce tuto qui est plutôt bien expliqué,je trouve mais je ne suis pas assez expérimenté pour savoir s'il est vraiment pertinent .J'ai juste une petite question : ce code ( qui vient du QCM) :Code : PHP
On ne peut pas réellement savoir s'il est faillible étant donné qu'on ne sait pas quelle traitement a subi (ou pas) la variable $client. Peut-être est elle passée aux htmlentites/htmlspecialchars autre part donc, selon moi, on ne peut pas savoir si il est faillible ou pas .
![]() |
||||||
Vous devez être inscrit pour pouvoir poster des messages
Changer de design |
En savoir plus |
Plan du site |
Politique d'accessibilité |
Règles |
RSS tutoriels |
RSS news
Édité par Simple IT SARL :
Nous contacter
| Notre blog | Revue de presse | Publicité
Y'a plus rien à lire, faut remonter maintenant !
Hébergement web - Correction de tutoriels - Créer un site
Vous souhaitez apparaître ici ? Contactez-nous.
74 Zéros connectés |
8 requêtes |
0.044s (0.0328s)
