PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Securityfocus meldet angebliche SQL injection vuln.


dhr
22.05.2008, 19:49
Hallo zusammen,

wie sieht es damit (http://www.securityfocus.com/bid/29293) aus?

Ist die Stellungnahme von diesem Martin Meredith (unter "References") authentisch? Ich bin etwas verunsichert...

Danke & Gruß
Daniel

Spenser
22.05.2008, 20:55
Ich hab das mal mit meinem Forum getestet. Da kommt nix bei raus.

General
22.05.2008, 21:02
Ich hab das mal mit meinem Forum getestet. Da kommt nix bei raus.

Hier genauso. Außer nem SQL Error kommt nix

Andreas
22.05.2008, 21:03
foreach ($search AS $word)
{
$find[] = preg_quote($word, '#'); // = '/(?<=[^\w=])(' . preg_quote($word, '/') . ')(?=[^\w=])/ie';

$whereText[] = "text LIKE('%" . $db->escape_string_like($word) . "%')";
}

$phrases = $db->query_read_slave("
SELECT varname AS faqname, fieldname
FROM " . TABLE_PREFIX . "phrase AS phrase
WHERE phraseid IN(" . implode(', ', $phraseIds) . ")
AND (" . implode($matchSql, $whereText) . ")
");

Hossie
22.05.2008, 22:50
Also bei mir kommt mit den Beispielqueries zumindest ein Datenbankfehler, insofern denke ich dochmal, dass da ein Exploit-Potenzial dahinter steht. :eek:

Hossie
22.05.2008, 22:54
Ich hab mal nen Thread @vb.com gemacht:

http://www.vbulletin.com/forum/showthread.php?t=272703

Mal sehen. :D

Mystics
22.05.2008, 23:07
Der Datenbankfehler wurde bereits behoben (http://www.vbulletin.com/forum/project.php?issueid=25377) und mehr steckt da nicht dahinter.

Sucht in der faq.php diesen Code: $phrases = $db->query_read_slave("
SELECT varname AS faqname, fieldname
FROM " . TABLE_PREFIX . "phrase AS phrase
WHERE phraseid IN(" . implode(', ', $phraseIds) . ")
AND (" . implode($matchSql, $whereText) . ")
");
if (!$db->num_rows($phrases))
{
eval(standard_error(fetch_error('searchnoresults', $displayCommon)));
}
Und ersetzt ihn mit: if (!empty($whereText))
{
$phrases = $db->query_read_slave("
SELECT varname AS faqname, fieldname
FROM " . TABLE_PREFIX . "phrase AS phrase
WHERE phraseid IN(" . implode(', ', $phraseIds) . ")
AND (" . implode($matchSql, $whereText) . ")
");
if (!$db->num_rows($phrases))
{
eval(standard_error(fetch_error('searchnoresults', $displayCommon)));
}
}
else
{
eval(standard_error(fetch_error('searchnoresults', $displayCommon)));
}

Hossie
22.05.2008, 23:19
Da war vBG selbst zu später Stunde schneller als vb.com (ist in Amerika überhaupt Feiertag? Nicht oder?). :eek:

Spenser
22.05.2008, 23:22
Da war vBG selbst zu später Stunde schneller als vb.com (ist in Amerika überhaupt Feiertag? Nicht oder?). :eek:
Nicht mal überall in Deutschland...

dhr
23.05.2008, 02:13
Vielen Dank!