Odebi.org Piraté...

C'est ici que sont postés les messages qui n'entrent pas dans le cadre des autres forums.
Ces messages doivent néanmoins rester en conformité avec la <a href=http://www.ixus.net/charte_forums.php>Charte</a> qui régule les forums.
Nous vous remercions d'éviter les sujets complètement off-topic (foot, pêche ...). Ne perdons pas de vue qu'Ixus reste un site relatif à l'informatique.

Modérateur: modos Ixus

Messagepar remi » 06 Juin 2003 11:36

lien de l'article de revue de presse : <!-- BBCode auto-link start --><a href="http://www.ixus.net/redirectrp.php?id=162" target="_blank">http://www.ixus.net/redirectrp.php?id=162</a><!-- BBCode auto-link end --> <BR> <BR>Q'est ce ? Un mdp forcé, une faille PHP, Mysql, Une blague ?? <BR> <BR>Quelqu'un a til plus d'info...
Art de vivre : Mourir pour mourir, que cela soit entre le $%#&! des femmes et le $%#&! des bouteilles !
Avatar de l’utilisateur
remi
AdminIxus
AdminIxus
 
Messages: 3218
Inscrit le: 22 Avr 2002 00:00
Localisation: Lyon

Messagepar xavier » 06 Juin 2003 11:40

c'est une faille dans le phpnuke ..... une de plus ! <BR> <BR>pour être plus précis, il s'agit d'un probleme d'injection sql dans la fonction rate-article.... (le truc qui permet de mettre un score aux news) <BR> <BR> <BR>voila voila ...... bref, un hack de script kiddies !! <IMG SRC="images/smiles/icon_boxe2.gif">
xavier
Capitaine de vaisseau
Capitaine de vaisseau
 
Messages: 306
Inscrit le: 18 Juin 2001 00:00

Messagepar tomtom » 06 Juin 2003 11:47

C'est quand même sacremment faible les php* !!!! <BR>Je pense que l'on n'arretera jamais d'y decouvrir des failles.... Enfin, c'est quand même pratique <IMG SRC="images/smiles/icon_biggrin.gif"> <BR> <BR> <BR>T.
One hundred thousand lemmings can't be wrong...
Avatar de l’utilisateur
tomtom
Amiral
Amiral
 
Messages: 6035
Inscrit le: 26 Avr 2002 00:00
Localisation: Paris

Messagepar nemesis » 06 Juin 2003 11:51

le truc c'est qu'il n'y a souvent pas de test de longeur ou de type de caractères dans les requêtes mysql passée par php donc si le gars rentre les bon caractère il fait faire tout autre chose au script que ce qui était prévu .... po cool koi!
ce n'est pas parce qu'il n'y a pas de preuve qu'une chose existe qu'elle ne peut pas exister
Avatar de l’utilisateur
nemesis
Amiral
Amiral
 
Messages: 1954
Inscrit le: 01 Jan 2003 01:00
Localisation: 75

Messagepar remi » 06 Juin 2003 11:52

<!-- BBCode Quote Start --><TABLE BORDER=0 ALIGN=CENTER WIDTH=85%><TR><TD><font size=-2>En réponse à:</font><HR></TD></TR><TR><TD><FONT SIZE=-2><BLOCKQUOTE> <BR>Le 2003-06-06 11:40, xavier a écrit: <BR>c'est une faille dans le phpnuke ..... une de plus ! <BR> <BR>pour être plus précis, il s'agit d'un probleme d'injection sql dans la fonction rate-article.... (le truc qui permet de mettre un score aux news) <BR> <BR> <BR>voila voila ...... bref, un hack de script kiddies !! <IMG SRC="images/smiles/icon_boxe2.gif"> <BR> <BR></BLOCKQUOTE></FONT></TD></TR><TR><TD><HR></TD></TR></TABLE><!-- BBCode Quote End --> <BR> <BR>Etant donné que Ixus y est déjà passé, on est tranquille.... <BR> <BR> <IMG SRC="images/smiles/icon_up.gif"> <IMG SRC="images/smiles/icon_up.gif">
Art de vivre : Mourir pour mourir, que cela soit entre le $%#&! des femmes et le $%#&! des bouteilles !
Avatar de l’utilisateur
remi
AdminIxus
AdminIxus
 
Messages: 3218
Inscrit le: 22 Avr 2002 00:00
Localisation: Lyon

Messagepar xavier » 06 Juin 2003 12:01

effectivement remi ! mais depuis, on a corrigé ! et si tu savais tout ce qui a déjà été customisé et modifié , pfffff ! quel boulot ! <BR> <BR>pour ceux que ça intéresse : (source phpsecure.info) <BR> <BR>Le problème se trouve dans le fichier index.php, dans la fonction rate_article, <BR>dont voici le code : <BR>---------------------------------------------------------------------------------------------------------------------------- <BR>[...] <BR>function rate_article($sid, $score) { <BR> global $prefix, $dbi, $ratecookie, $sitename, $r_options; <BR> if ($score) { <BR> if ($score > 5) { $score = 5; } <BR> if ($score < 1) { $score = 1; } <BR> if (isset($ratecookie)) { <BR> $rcookie = base64_decode($ratecookie); <BR> $r_cookie = explode(":", $rcookie); <BR> } <BR> for ($i=0; $i < sizeof($r_cookie); $i++) { <BR> if ($r_cookie[$i] == $sid) { <BR> $a = 1; <BR> } <BR> } <BR> if ($a == 1) { <BR> Header("Location: modules.php?name=News&op=rate_complete&sid=$sid&rated=1"); <BR> } else { <BR> $result = sql_query("update ".$prefix."_stories set score=score+$score, ratings=ratings+1 where sid='$sid'", $dbi); <BR> $info = base64_encode("$rcookie$sid:"); <BR> setcookie("ratecookie","$info",time()+3600); <BR> Header("Location: modules.php?name=News&op=rate_complete&sid=$sid$r_options"); <BR> } <BR> } else { <BR> include("header.php"); <BR> title("$sitename: "._ARTICLERATING.""); <BR> OpenTable(); <BR> echo "<center>"._DIDNTRATE."<br><br>" <BR> .""._GOBACK."</center>"; <BR> CloseTable(); <BR> include("footer.php"); <BR> } <BR>} <BR> <BR>[...] <BR> <BR>switch ($op) { <BR> <BR>[...] <BR> case "rate_article": <BR> rate_article($sid, $score); <BR> break; <BR>[...] <BR> <BR>} <BR> <BR>?> <BR>---------------------------------------------------------------------------------------------------------------------------- <BR>Cette fonction permet de voter pour des articles sur le site. <BR>la ligne importante est celle-ci : <BR>------------------------------------------------------------------------------------------------------------------- <BR>$result = sql_query("update ".$prefix."_stories set score=score+$score, ratings=ratings+1 where sid='$sid'", $dbi); <BR>------------------------------------------------------------------------------------------------------------------- <BR>On peut donner entre 1 et 5 point à l'article, comme le montre ces lignes : <BR>--------------------------------------- <BR> if ($score > 5) { $score = 5; } <BR> if ($score < 1) { $score = 1; } <BR>--------------------------------------- <BR>Quand la ligne de code contenant la requête SQL est donc executée, le score est ajouté dans la base de donnée <BR>("score=score+$score"), et le nombre de personnes ayant voté augmente de 1 ("ratings=ratings+1"). <BR>$prefix ayant comme valeur de défaut 'nuke', on voit que ces informations sont enregistrées dans la table nuke_stories. <BR>Hors cette table est la table où toutes les informations des news sont enregistrées (titre, intro, article, auteur,...). <BR>$score est modifiable par l'utilisateur. C'est donc la variable qui va nous servir à l'injection SQL. <BR>Un bête exemple, si on veut donner 2 points à l'article dont l'id est 15, mais ne pas enregistrer un vote supplementaire <BR>dans la base de données, seulement des points supplémentaires, on pourrait donner comme valeur à $score : 2 where sid='15'/* <BR>La requête SQL serait alors : <BR>---------------------------------------------------------------------------------------- <BR>update nuke_stories set score=score+2 where sid='15'/*, ratings=ratings+1 where sid='15' <BR>---------------------------------------------------------------------------------------- <BR>Ce qui se trouve après les caractères de commentaire (/*), c'est-à-dire : , ratings=ratings+1 where sid='' <BR>ne sera pas pris en compte lors de l'execution, et la requête executée dans la base sera : <BR>---------------------------------------------------- <BR>update nuke_stories set score=score+2 where sid='15' <BR>---------------------------------------------------- <BR>Pour le même résultat, on aurait pu donner à $score la valeur par exemple : <BR>2, ratings=ratings-1 <BR>Ce qui aurait revenu à faire ratings=ratings-1+1, ce qui ne change evidemment rien de la valeur de ratings. <BR>Les possibilités sont nombreuses... <BR> <BR>Mais comme on est dans la même table que les autres informations des news, on peut changer autre chose que le score ou le nombre <BR>de 'votants' ! On peut changer titre, intro, texte principal,... !!! Il y a par exemple les champs topic, title, hometext, <BR>bodytext, comments, ... <BR> <BR>voila voila...... <BR> <BR>une faille de plus qui d'ailleurs commence à dater <IMG SRC="images/smiles/icon_boxe2.gif"> <BR> <BR>Il est évident que si personne n'avait mis en ligne un soft permettant d'automatiser l'exploitation de cette faille, il y aurrait peut etre eu un peu moins de script kiddies <IMG SRC="images/smiles/icon_cussing.gif"> <BR> <BR> <BR>
xavier
Capitaine de vaisseau
Capitaine de vaisseau
 
Messages: 306
Inscrit le: 18 Juin 2001 00:00

Messagepar remi » 06 Juin 2003 13:56

<!-- BBCode Quote Start --><TABLE BORDER=0 ALIGN=CENTER WIDTH=85%><TR><TD><font size=-2>En réponse à:</font><HR></TD></TR><TR><TD><FONT SIZE=-2><BLOCKQUOTE> <BR>Le 2003-06-06 12:01, xavier a écrit: <BR>effectivement remi ! mais depuis, on a corrigé ! et si tu savais tout ce qui a déjà été customisé et modifié , pfffff ! quel boulot ! <BR></BLOCKQUOTE></FONT></TD></TR><TR><TD><HR></TD></TR></TABLE><!-- BBCode Quote End --> <BR> <BR> <BR>J'ai la chance de connaitre certaines customization, et c vraiment barquette... ! <BR> <BR> <BR>PS : A tout les détenteurs de site en phpnuke ! A vos index.php... <BR> <BR>
Art de vivre : Mourir pour mourir, que cela soit entre le $%#&! des femmes et le $%#&! des bouteilles !
Avatar de l’utilisateur
remi
AdminIxus
AdminIxus
 
Messages: 3218
Inscrit le: 22 Avr 2002 00:00
Localisation: Lyon


Retour vers Autres bavardages

Qui est en ligne ?

Utilisateur(s) parcourant actuellement ce forum : Aucun utilisateur inscrit et 1 invité