Categorizator : Attention Sécurité (injection + html)
18 messages
• Page 1 sur 2 • 1, 2
-

athoms - WRInaute discret

- Messages: 244
- Inscription: 22 Avr 2004
Categorizator : Attention Sécurité (injection + html)
Bonsoir,
Je viens de me rendre compte que dans la version standard de categorizator, il était possible lors de la soumission de sites, de placer dans les champs du code html et qu'il était vulnérable à une attaque de type injection. Sic.
Je viens donc de modifier le script, et vous livre la solution que j'ai adoptée afin de pouvoir vous protéger. Libre à vous de l'adapter, où de la modifier et vu le nombre de version de categorizators, yourphpannuaire, il y a de grande chance que vous devrez la modifier.
Le problème avec ce superbe script, et qu'il est possible de placer du code html (du moins dans la version que je possède),et que dans l'interface d'admin on ne le voit pas...
Voici donc ce que j'ai fait pour éviter cela.
Pour éviter cela :
Dans le fichier submit_site.php
Remplacer
Par
Cela aura pour effet de virer les codes html et javascript.
Pour eviter les injections sql :trouver la requête d'insertion (dans le cas d'une validation manuelle. Faire de même pour la requette de validation automatique le cas échéant) :
la Remplacer par :
Cela devrait empecher toute forme d'attaque par injection. J'ai testé, et chez moi ça fonctionne.
Bon week end à tous.
Je viens de me rendre compte que dans la version standard de categorizator, il était possible lors de la soumission de sites, de placer dans les champs du code html et qu'il était vulnérable à une attaque de type injection. Sic.
Je viens donc de modifier le script, et vous livre la solution que j'ai adoptée afin de pouvoir vous protéger. Libre à vous de l'adapter, où de la modifier et vu le nombre de version de categorizators, yourphpannuaire, il y a de grande chance que vous devrez la modifier.
Le problème avec ce superbe script, et qu'il est possible de placer du code html (du moins dans la version que je possède),et que dans l'interface d'admin on ne le voit pas...
Voici donc ce que j'ai fait pour éviter cela.
Pour éviter cela :
Dans le fichier submit_site.php
Remplacer
- Code: Tout sélectionner
$nom_proprio = isset($_POST['nom_proprio']) ? $_POST['nom_proprio'] : '';
$email_proprio = isset($_POST['email_proprio']) ? $_POST['email_proprio'] : '';
$titre = isset($_POST['titre']) ? $_POST['titre'] : '';
$url = isset($_POST['url']) ? $_POST['url'] : '';
$url_image = isset($_POST['url_image']) ? $_POST['url_image'] : '';
$url_image = $url_image=='http://' ? '' : $url_image;
$description = isset($_POST['description']) ? $_POST['description'] : '';
$add2newsletter = isset($_POST['add2newsletter']) ? (int)$_POST['add2newsletter'] : 0;
$code = isset($_POST['code']) ? $_POST['code'] : '';*/
Par
- Code: Tout sélectionner
$nom_proprio = isset($_POST['nom_proprio']) ? strip_tags ($_POST['nom_proprio']) : '';
$email_proprio = isset($_POST['email_proprio']) ? strip_tags ( $_POST['email_proprio']) : '';
$titre = isset($_POST['titre']) ? strip_tags ($_POST['titre']) : '';
$url = isset($_POST['url']) ? strip_tags ($_POST['url']) : '';
$url_image = isset($_POST['url_image']) ? strip_tags ($_POST['url_image']) : '';
$url_image = $url_image=='http://' ? '' : $url_image;
$description = isset($_POST['description']) ? strip_tags ($_POST['description']) : '';
$add2newsletter = isset($_POST['add2newsletter']) ? (int)$_POST['add2newsletter'] : 0;
$code = isset($_POST['code']) ? $_POST['code'] : '';
Cela aura pour effet de virer les codes html et javascript.
Pour eviter les injections sql :trouver la requête d'insertion (dans le cas d'une validation manuelle. Faire de même pour la requette de validation automatique le cas échéant) :
- Code: Tout sélectionner
$sql = "INSERT INTO $T_sites_in_wait (id_cat,titre,description,url,url_image,nom_proprio,email_proprio,date_soumission) VALUES ('$id_cat','$titre','$description','$url','$url_image','$nom_proprio','$email_proprio',CURRENT_DATE) ";
la Remplacer par :
- Code: Tout sélectionner
$sql = sprintf("INSERT INTO $T_sites_in_wait (id_cat,titre,description,url,url_image,nom_proprio,email_proprio,date_soumission) VALUES ('%s', '%s', '%s','%s','%s','%s','%s',CURRENT_DATE)",
mysql_real_escape_string($id_cat,$lk),
mysql_real_escape_string($titre,$lk),
mysql_real_escape_string($description,$lk),
mysql_real_escape_string($url,$lk),
mysql_real_escape_string($url_image,$lk),
mysql_real_escape_string($nom_proprio,$lk),
mysql_real_escape_string($email_proprio,$lk));
Cela devrait empecher toute forme d'attaque par injection. J'ai testé, et chez moi ça fonctionne.
Bon week end à tous.
- Victor BRITO
- WRInaute occasionnel

- Messages: 423
- Inscription: 21 Déc 2006
Re: Categorizator : Attention Sécurité (injection + html)
athoms a écrit:Je viens de me rendre compte que dans la version standard de categorizator, il était possible lors de la soumission de sites, de placer dans les champs du code html
Y compris des balises script enfermant du JavaScript susceptible d'être maléfique ?
-

athoms - WRInaute discret

- Messages: 244
- Inscription: 22 Avr 2004
Bonjour,
J espère que cette modif vous sera utile,
Oui... J'ai juste pour l'instant eu droit pour ma part à des petits malins qui mettaient de la pub ou des caractères gras, des couleurs... Il y a même un webmaster qui a placé une popub avec un effet retardateur
Sinon concernant la sécurité de ce script, Je vous conseille de renommer la répertoire admin, et de le protéger par password avec un htpasswd.
Les commentaires doivent être aussi protégés de la même manière que celle décrite plus haut.
De plus j'ai fait une petite fonction pour interdire de placer une url dans les commentaires. cela permet d'éviter que les commentaires ne soient là que pour faire de la pub (libre à vous de l'utiliser ou non).
Voici la fonction à intégrer par exemple dans functions.php:
Puis placer après la ligne
la ligne
Voila
J espère que cette modif vous sera utile,
Y compris des balises script enfermant du JavaScript susceptible d'être maléfique ?
Oui... J'ai juste pour l'instant eu droit pour ma part à des petits malins qui mettaient de la pub ou des caractères gras, des couleurs... Il y a même un webmaster qui a placé une popub avec un effet retardateur
Sinon concernant la sécurité de ce script, Je vous conseille de renommer la répertoire admin, et de le protéger par password avec un htpasswd.
Les commentaires doivent être aussi protégés de la même manière que celle décrite plus haut.
De plus j'ai fait une petite fonction pour interdire de placer une url dans les commentaires. cela permet d'éviter que les commentaires ne soient là que pour faire de la pub (libre à vous de l'utiliser ou non).
Voici la fonction à intégrer par exemple dans functions.php:
- Code: Tout sélectionner
function pas_http($champ,$message,$inc = false)
{
$message .= "<br><br>";
$message .= "<a href=\"javascript:history.go(-1);\">Retour au formulaire</a>";
$champ = trim($champ);
if (ereg("http",$champ))
{
echo "<CENTER>$message</CENTER>";
if ($inc) //si il faut inclure le fichier de fin (-> submit_site)
include("after.php");
exit;
}
else
return false; }
Puis placer après la ligne
- Code: Tout sélectionner
est_vide($texte,"Veuillez entrer votre commentaire!");
la ligne
- Code: Tout sélectionner
pas_http($texte,"Pas d'adresse de sites acceptée dans le message!");
Voila
-

titiplanti - WRInaute occasionnel

- Messages: 440
- Inscription: 4 Nov 2004
Merci.
(Il y a intérêt à vite faire la modif maintenant que tu as dévoilé la faille ^^)
(Il y a intérêt à vite faire la modif maintenant que tu as dévoilé la faille ^^)
-

athoms - WRInaute discret

- Messages: 244
- Inscription: 22 Avr 2004
de rien
J'ai oublié de dire une chose, lors de l'affichage il faudra enlever les "\" dans le titre et la description, sinon ça ne fera pas très propre.
Pas si évident en ce qui concerne l'injection de code mysql, ce n'est pas à la portée de tous et ça nécessite quand même de bien connaitre la structure des tables mysql utilisées sur ce script. Mais mieux vaut tout de même éviter les risques.
J'ai oublié de dire une chose, lors de l'affichage il faudra enlever les "\" dans le titre et la description, sinon ça ne fera pas très propre.
(Il y a intérêt à vite faire la modif maintenant que tu as dévoilé la faille ^^)
Pas si évident en ce qui concerne l'injection de code mysql, ce n'est pas à la portée de tous et ça nécessite quand même de bien connaitre la structure des tables mysql utilisées sur ce script. Mais mieux vaut tout de même éviter les risques.
-

alliax - WRInaute impliqué

- Messages: 561
- Inscription: 29 Aoû 2005
Salut, c'est cool d'apporter de la sécurité.
Mais est-ce que cela pourrait être ajouté au script lui même?
On m'a donné une page mais la dernière version semble dater d'aout 2005, est-ce possible que personne n'ai repris le script depuis pour y apporter quelques améliorations?
Si oui sur quel page peut on le télécharger?
Merci
Mais est-ce que cela pourrait être ajouté au script lui même?
On m'a donné une page mais la dernière version semble dater d'aout 2005, est-ce possible que personne n'ai repris le script depuis pour y apporter quelques améliorations?
Si oui sur quel page peut on le télécharger?
Merci
-

athoms - WRInaute discret

- Messages: 244
- Inscription: 22 Avr 2004
bonjour,
En fait il me semble que depuis il n'y ait plus de version officielle de ce script open source. Beaucoup de webmasters, l'ont intégré sur leur site, certains en se contentant de l'installer, d'autres en l'adaptant. Il me semblent que certains ont repris le travail et ont sorti des versions modifiées sous d'autres noms.
Effectivement, ça pourrait être sympa d'avoir un package de categorizator corrigé avec de nouvelles améliorations mais ça demanderait pas mal de travail, sachant que la plupart des utilisateurs l'ont customizé pour qu'il réponde à leur besoin et s'intègre à leur site.
En fait il me semble que depuis il n'y ait plus de version officielle de ce script open source. Beaucoup de webmasters, l'ont intégré sur leur site, certains en se contentant de l'installer, d'autres en l'adaptant. Il me semblent que certains ont repris le travail et ont sorti des versions modifiées sous d'autres noms.
Effectivement, ça pourrait être sympa d'avoir un package de categorizator corrigé avec de nouvelles améliorations mais ça demanderait pas mal de travail, sachant que la plupart des utilisateurs l'ont customizé pour qu'il réponde à leur besoin et s'intègre à leur site.
- freete
- Nouveau WRInaute

- Messages: 23
- Inscription: 23 Mai 2006
Salut Athoms
Merci mais tu dit :
" J'ai oublié de dire une chose, lors de l'affichage il faudra enlever les "\" dans le titre et la description, sinon ça ne fera pas très propre. "
est ce que tu pourrai précise la procédure pour enlever les "\"
Merci
Merci mais tu dit :
" J'ai oublié de dire une chose, lors de l'affichage il faudra enlever les "\" dans le titre et la description, sinon ça ne fera pas très propre. "
est ce que tu pourrai précise la procédure pour enlever les "\"
Merci
-

athoms - WRInaute discret

- Messages: 244
- Inscription: 22 Avr 2004
Bonjour,
Désolé cela fait quelque temlps que je ne suis pas venu sur Webrank.
Je ne pas fournir une version de categorizator, car je n'utlise plus que quelques gragments du code original..
Merci Noglob de ta réponse, il y a aussi strreplace qui peux faire l''affaire.
Bonne journée à tous.
Désolé cela fait quelque temlps que je ne suis pas venu sur Webrank.
Je ne pas fournir une version de categorizator, car je n'utlise plus que quelques gragments du code original..
Merci Noglob de ta réponse, il y a aussi strreplace qui peux faire l''affaire.
Bonne journée à tous.
18 messages
• Page 1 sur 2 • 1, 2
Lectures recommandées sur ce thème :
- Sécurité , injection sql : mysql_real_escape_string
- Sécurité site web : injection code malicieux
- Attention faille de sécurité avec Phpmyvisits
- -> Attention, problème de sécurité avec spip /EVA
- injection
- Injection code
- PHPDirector SQL injection
- injection code sql
- injection mysql et php
- Injection JS sur plusieurs pages
- Google rachète Postini, spécialiste de la sécurité Internet - 09-07-2007
- Faille de sécurité dans la Google Toolbar - 10-08-2002
- Google ouvre un blog sur la sécurité informatique en ligne - 23-05-2007
- 1ère faille de sécurité découverte sur Google Chrome - 03-09-2008
- Gokul Rajaram, spécialiste de la publicité en ligne, quitte Google - 17-11-2007
- Google Secure Access (GSA) - 20-09-2005
- Google Pack s'enrichit de 2 nouveaux logiciels gratuits - 28-03-2007
- L'algorithme de Google en résumé (mars 2003) - 04-03-2003
Consultez la description détaillée des produits ou services de Google suivants : Google Whack
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités




