Joomla.it Forum

Joomla! 1.0.x (versione con supporto terminato) => Le voci di Joomla.it (solo per versione Joomla 1.0.x) => : Bettinz 26 Jul 2006, 12:43:23

: RequestFilter:una mano per la sicurezza
: Bettinz 26 Jul 2006, 12:43:23
tornato dal mare, mi sono messo a spulciare le novità su extensions.joomla.org, e mi sono imbattuto in questo:
System mambot for breaking attempts to specify values of configuration parameters via POST or GET query. Plugin will search through $_REQUEST array to check standard variables such as option, task, no_html, Itemid, id etc. for containing of any url links. In case of success plugin will return error code 403 and then stops script. Also it will block any attempts for passing parameters mosConfig_absolute_path and mosConfig_cachepath through GET or POST requests.

In pratica un mambot per la sicurezza che interrompe le richieste a specifiche variabili via POST e GET.
In caso di successo, restituisce un errore 403 e blocca lo script.
In alternativa blocca ogni tentativo di accesso ai parametri mosConfig_absolute_path e mosConfig_cachepath tramite POST o GET.

Cosa ne dite?
edit: dimenticavo, ecco il link http://tinyurl.com/hsvqf
: Re: RequestFilter:una mano per la sicurezza
: Bettinz 27 Jul 2006, 15:11:45
vi prego, ditemi qualcosa  :D
: Re: RequestFilter:una mano per la sicurezza
: ramses_2th 27 Jul 2006, 15:32:32
vi prego, ditemi qualcosa  :D

Bello !!  ;D
: Re: RequestFilter:una mano per la sicurezza
: Bettinz 27 Jul 2006, 16:12:59
vi prego, ditemi qualcosa  :D

Bello !!  ;D
già qualcosa  ;D
: Re: RequestFilter:una mano per la sicurezza
: napo 02 Aug 2006, 15:06:09
vi prego, ditemi qualcosa  :D

Soccia che bello! ;D
: Re: RequestFilter:una mano per la sicurezza
: napo 04 Aug 2006, 10:09:00
Il mambot è molto semplice, ma può risultare molto utile.
Certo non risolve tutti i problemi legati alla sicurezza, ma ci mette una piccola pezza. Riporto parte del codice per chi fosse interessato:
:
<?php

[...]

function 
botFilterRequests() {
    foreach(
$_REQUEST as $k=>$v) {
        switch(
strtolower($k)) {
            
// standart intger params
            
case 'id':
            case 
'itemid':
            case 
'limit':
            case 
'limitstart':
                
$_REQUEST[$k] = intval($v);
break;
            
// standart string params
            
case 'task':
            case 
'option':
            case 
'no_html':
            case 
'message':
            
// attempt to redeclare configuration variables
            
case 'mosconfig_absolute_path':
            case 
'mosconfig_cachepath':
                if (
preg_match('#(http|https|ftp):\/\/#is'$v)) {
                    include_once( 
'language/english.php' );
                    
header'HTTP/1.0 403 Forbidden' );
                    echo 
_NOT_AUTH;
                    exit;
                }
break;
        }
    }
}
?>

Come riportato da Bettinz, il bot intercetta tutti i parametri di $_REQUEST, vale a dire GET, POST e COOKIE.
Dopodichè analizza uno per uno quelli di sistema, alla ricerca di possibili errori o incrongruenze.
Ad esempio i parametri 'id', 'itemid', 'limit', 'limitstart' devono essere numeri interi e pertanto vengono convertiti. Questo impedisce che una stringa o qualche comando strano arrivi all'elaborazione.
Per quanto riguarda gli altri possibili parametri, viene verificato che non contengano indirizzi web, che possono aprire delle falle.

Occorre però sottolineare che il controllo viene effettuato esclusivamente sui parametri predefiniti di Joomla e basta.
Un attaccante potrebbe sfruttare lo stesso la falla di un componente aggiuntivo, attraverso uno dei suoi parametri.
: Re: RequestFilter:una mano per la sicurezza
: alex 12 Aug 2006, 00:16:59
Lo uso anche io questo MAMBOT e lo consiglio a tutti gli utenti di Joomla, davvero efficiente...credo che questo topic debba essere messo in evidenza...perchè la sicurezza è sempre al primo posto per qualsiasi sito web...
: Re: RequestFilter:una mano per la sicurezza
: Bettinz 12 Aug 2006, 14:46:43
sarebbe da inserire di default in Joomla questo mambot..
: Re: RequestFilter:una mano per la sicurezza
: alex 16 Aug 2006, 02:24:21
sarebbe da inserire di default in Joomla questo mambot..
Approvo! E' veramente un mambot eccezionale...e lo sta già dimostrando...