J'ai effectué une modification sur quelques fichiers source du forum, prout si tu passes par la, tu peux dire à ton pote de jetter un oeil, voir si ces modifications peuvent corriger le problème lié au dernier hacker, la y'a quelques fichiers en question, j'ai récupéré ce fichier de mise à jour manuelle sur un des bulletins de sécurité concernant notre version de forum, après il se peut que le hacker ai utilisé une autre faille je ne suis pas certain, la code qui est proposé effectue une vérification sur la base de la fonction clean_int_array( $array=array() placé dans le ipsclass qui est utilisé en tout temps par toute page du forum :
Les "-" correspondent à la ligne devant être remplacées par la ligne précédée d'un "+"
Création de la fonction clean_int_array
CODE
Index: sources/ipsclass.php
===================================================================
--- sources/ipsclass.php (revision 113)
+++ sources/ipsclass.php (revision 114)
@@ -2481,7 +2481,7 @@
{
foreach( $farray as $id => $stamp )
{
- $this->forum_read[$id] = $stamp;
+ $this->forum_read[ intval($id) ] = intval($stamp);
}
}
}
@@ -3517,7 +3517,31 @@
}
}
+ /*-------------------------------------------------------------------------*/
+ // Makes topics read or forum read cookie safe
/*-------------------------------------------------------------------------*/
Sécurisation du cookie forum/topic
CODE
+ /**
+ * Makes int based arrays safe
+ * XSS Fix: Ticket: 243603
+ * Problem with cookies allowing SQL code in keys
+ *
+ * @param array Array
+ * @return array Array (Cleaned)
+ * @since 2.1.4(A)
+ */
+ function clean_int_array( $array=array() )
+ {
+ $return = array();
+
+ foreach( $array as $k => $v )
+ {
+ $return[ intval($k) ] = intval($v);
+ }
+
+ return $return;
+ }
+
+ /*-------------------------------------------------------------------------*/
// Makes incoming info "safe"
/*-------------------------------------------------------------------------*/
Sécurisation du cookie des topics
CODE
Index: sources/action_public/topics.php
===================================================================
--- sources/action_public/topics.php (revision 113)
+++ sources/action_public/topics.php (revision 114)
@@ -2273,8 +2273,8 @@
if ( $read = $this->ipsclass->my_getcookie('topicsread') )
{
- $this->read_array = unserialize(stripslashes($read));
-
+ $this->read_array = $this->ipsclass->clean_int_array( unserialize(stripslashes($read)) );
+
if (! is_array($this->read_array) )
{
$this->read_array = array();
Sécurisation du cookie lié aus derniers topics lus dans le USER CP (panneau de controle)
CODE
----------------------Index: sources/action_public/usercp.php
===================================================================
--- sources/action_public/usercp.php (revision 113)
+++ sources/action_public/usercp.php (revision 114)
@@ -3279,6 +3279,7 @@
arsort($topics);
$topic_array = array_slice( array_keys( $topics ), 0, 5 );
+ $topic_array = $this->ipsclass->clean_int_array( $topic_array );
if ( count( $topic_array ) )
{
Idem mais via la recherche
CODE
Index: sources/action_public/search.php
===================================================================
--- sources/action_public/search.php (revision 113)
+++ sources/action_public/search.php (revision 114)
@@ -87,7 +87,7 @@
if ( $read = $this->ipsclass->my_getcookie('topicsread') )
{
- $this->read_array = unserialize(stripslashes($read));
+ $this->read_array = $this->ipsclass->clean_int_array( unserialize(stripslashes($read)) );
}
Sécurisation du cookie forum
CODE
//-----------------------------------------
Index: sources/action_public/forums.php
===================================================================
--- sources/action_public/forums.php (revision 113)
+++ sources/action_public/forums.php (revision 114)
@@ -82,7 +82,7 @@
if ( $read = $this->ipsclass->my_getcookie('topicsread') )
{
- $this->read_array = unserialize(stripslashes($read));
+ $this->read_array = $this->ipsclass->clean_int_array( unserialize(stripslashes($read)) );
}
//-----------------------------------------
Bon alors la dedans je ne vois rien concernant l'avatar donc je suis septique (flesh) mais cette modif empeche un type d'injection SQL en tout cas, maintenant je suis curieux d'avoir des avis externes....