Bonjour
Je désirerai mettre à contributin les visiteurs de mon site legypteantique.com à la manière de wikipedia.
Etant une brele en base de donnée, je souhaiterai dans un premier temps mettre un lien en bas de chaque page "modifier le contenu" puis une fois le lien cliqué, aboutir à une page à l´instar de
http://legypteantique.com/rubriques.php?article=me_contacter où dans le cadre commentaires la page à modifier apparait dedans. par exemple sur le page mettons pyramide le visiteur clique, et la page pyramide.php s´affiche dans commentaire. Comme cela, le visiteur modifie l´article à sa guise, puis m´envoie l´article retrabaillé par mail.
Pouvez vous me dire comment procéder ainsi?
Tonsite à un petit faille ;)
http://legypteantique.com/rubriques.php?article=%3Cscript%3Ealert(0);%3C/script%3E
T´es articles sont stockés dans quoi (fichier, bd) ?
c´est quoi ce lien?
en fait mes fichiers sont stockés dans un dossier nommé articles
et un lien tel que
http://legypteantique.com/rubriques.php?article=pierre_de_rosette intègre le fichier pierre_de_rosette.php dans la page chargée, qui est composée de plusieurs pages: menu gauche + article voulu + menu bas
C´est une faille XSS.
Google it.
deepblue, je me suis proposé comme correcteur sur ton site
http://www.series-sources.com/.
d´accord mais concretement comment y remédier???
dois je modifier une par une les variables à l´instar de
http://alph4net.free.fr/hacking/faille-xss.htm ?? ?
et surtout cette faille signifie t elle qu´on pourrait changer mes pages on line sans mon autorisation?
Pour la faille : htmlspecialchars(), htmlentities() (voit la doc php). Cette faille permet l´injection de code (html et javascript) ce qui peut conduire (par exemple) au vol de cookie.
Pour ton probleme initial, c´est donc dans des fichiers que sont stockés tes articles.
Regarde les fonctions : fopen, fwrite, file_get_contents, unlink mais fait TRES attenstion
Si tu as des soucis quant a leur utilisation, poste ici ou sur le forum "creation de sites web"
https://www.jeuxvideo.comom/forums/0-30-0-0-0-0-0-0.htm
Vieille_merde : on me l´a dit ![]()
OK, mais la fonction include ne peut pas etr securisée? Mais concretement comment quelqu´un peut modifier le contenu d´une page en ligne sur un serveur normalement sécurisé?
La fonction htmlspecialchars(), sert à pirater une page ou simplement à eviter de se la faire pirater?
Mettre
<?
print(htmlspecialchars($variable));
?>
ou
<?
echo htmlspecialchars($variable);
?>
ou
<?
include( htmlspecialchars($page));
?>
vous semble til bon? Avez vous repéré d´autres failles sur le site? merci de m´avoir alerté de cette faille
LIS LA DOC !
bah, il faut faire gaffe a ce que le mec te passe en parametre.
Tu dois aussi pouvoir utiliser pouvoir configurer le comportement d´include. Ca doit se faire dans le .ht-jesaisplusquoi.
On a eu une faille comme ca, l´année derniere au labo. Heureusement que c´était des neuneu, ils n´ont rien fait sur le serveur web et rapport avec nous. Mais notre machine a probablement servi de point de départ a une autre attaque...
deepblue tu m´arrete si je deconne trop, mais concretement, que peut faire un hacker avec une faille xss? Vol de cookies? quoi d´autre?
Sur un site j´ai entendu qu´on pouvait parser le $_get. Que cela signifie-t-il? Dois-je renoncer à mon ?a rticle= sur mon site pour remédier à ma faille?
cordialement
c´est super dangereux les failles de XSS. Parceque du coup, le site peut potentiellement servir de base pour des attaques de type DoS. Donc c´est pas bien cool...
d´accord (meme si attaque de type dos ca me dit pas grand chose)
En gros mon site marche comme ceci
<?
$article = $_GET[´article´];
$article2= "articles/$article.php";
?>
Texte
<?
if (file_exists($article2))
{
include ("$article2");
}
else
{
}
?>
En fait je désirais savoir comment pouvoir gérer un site qu´avec quelques pages (et des variables du type rubriques.php?article=internet) avec un include pour inclure l´article, et ce sans faille xss, ou si je suis obligé de gérer autant de pages que d´articles
Sur mon site, j´ai une intercace de radaction pour les news, dossier, acteur et roles qui me geneere des fichiers que j´edite seulement en ligne. J´utilise des parametres dans l´url pour choisir tel ou el dossier, news ...
Quel est ton site deepblue?
Sinon sur
http://alph4net.free.fr/hacking/faille-xss.htm ils disent de remplacer
<?
print(htmlspecialchars($variable));
?>
ou
<?
echo htmlspecialchars($variable);
?>
Au lieu de ca:
<?
print($variable);
?>
ou
<?
echo ($variable);
?>
mais rien sur le include
ce que dit le site
http://www.pcinpact.com/forum/index.php?s=f28820496dacdf55a7fb3a9c94c46782&showtopic=47608&mode=threaded&pid=743220 est il fiable???
simplement transformer le code
<?
if (file_exists($article2))
{
include ("$article2");
}
else
{
echo "<BR>";
echo "Désolé, mais le fichier <I>$article</I> n´ existe pas";
}
?>
par
<?
if (file_exists($article2))
{
$page=preg_replace("/[^a-z0-9_ ]/i", "", $page);
if(!@include("$article2")) die("Cette page n´existe pas sur le serveur, merci d´informer le webmaster du site si ce problème venait à se reproduire.");
}
else
{
echo "<BR>";
echo "Désolé, mais le fichier <I>$article</I> n´ existe pas";
}
?>
suffit il a securiser entierement mon site?
Personne ne pourrait me répondre???
je ne suis pas sur mais c´est mieux de toute facon.
Par exemple il faut faire attention que l´on ne puisse pas remonter dans l´arborescence de la machine...
snoooper > http://www.series-sources.com/
<?pbp
$dossier_articles = "./articles/";
if( isset($_GET["article"]) ) {
$path = $dossier_articles.$_GET["article"];
if( file_exists($path) ) {
include($path);
} else {
echo "article inconnu !" ;
}
} else {
echo "Aucun article choisis !´ ;
}
?>
t´as le principe
?>