Joomla <= 1.0.9 (Weblinks) Remote Blind SQL Injection Exploit
der titel sagt eigentlich schon alles.
das exploit findet man bei milw0rm.com. da es joomla bis jetzt nicht geschaft hat ein update zu veröffentlichen.
hab ich mal ein hier ein paar ansärtze wie man das sicherheitsproblem lösen kann.
als 1. dachte ich das im administrator bereich etwas nicht richtig überprüft wird. aber falsch gedacht. das problem ist in der datei components/com_weblinks/weblinks.php.
als erstes sollte man mal überlegen ob normale user (also frontend-user) wirklich weblinks speichern können. wenn nicht ist folgende variante die beste:
suchen und auskommentieren.
man könnte auch die funktion suchen
PHP:
-
function saveWeblink( $option ) {
und ein
gleich darunter einsetzen.
wenn ein "Author" Weblinks anlegen soll einfach
suchen und mit
ersetzen.
das ganze schützt ersteinmal vor dem einfachen users, das exploit funktioniert aber immer noch. das grundproblem ist
hier werden die post variablen nicht richtig überprüft. um das ganze zu lösen müssen 2 dateien bearbeitet werden.
1. die schon bekannte weblinks.php
folgende if anweisung suchen
PHP:
-
if (!$row->bind( $_POST, 'published' )) {
und mit
PHP:
-
if (!$row->bind( $_POST, 'published,hits,params,archived,sid,checked_out_time,checked_out' )) {
ersetzen. das hält schon mal ein paar angriffe auf.
das 2. und wichtigste ist die weblinks.class.php die sich im gleichen ordner befindet.
suchen und darunter:
PHP:
-
-
$numbers_ar =
Array('id',
'catid',
'ordering',
'approved');
-
foreach($numbers_ar as $nr_name)
-
{
-
-
{
-
$this->_error = 'Please provide a valid Number';
-
return false;
-
}
-
}
-
$escapes_ar =
Array('description',
'url',
'title');
-
foreach($escapes_ar as $escape_name)
-
{
-
$this->$escape_name = $database->getEscaped( $this->$escape_name );
-
}
einfügen. das verhindert die sql injection da die wichtigen parameter escaped werden.
ps: das grundgerüst dieses exploits können spamer auch zum verteilen ihrer links benutzen es brauch nur ein parameter angehängt zu werden und schon verlinkt man auf die besten porno- und potenzmittel-seiten