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
-
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
-
vi prego, ditemi qualcosa :D
-
vi prego, ditemi qualcosa :D
Bello !! ;D
-
vi prego, ditemi qualcosa :D
Bello !! ;D
già qualcosa ;D
-
vi prego, ditemi qualcosa :D
Soccia che bello! ;D
-
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.
-
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...
-
sarebbe da inserire di default in Joomla questo mambot..
-
sarebbe da inserire di default in Joomla questo mambot..
Approvo! E' veramente un mambot eccezionale...e lo sta già dimostrando...