Po wyczyszczeniu wszystkiego, kopię w plikach, to jakis spamerski bot, bo zebrał ~8000 reklamówek w katalogu skinów TinyMCE gotowych do odpalenia, 3 skrypty PHP o sporej wadze i wszędzie podoklejane exploity naszpikowane eval" title="Zobacz w manualu PHP" target="_manualami. Na szczęście, żadnej niszczycielskiej działalności nie ma (przynajmniej nie znalazłem), za to napuchnięty dziennik błędów.
Lock forum, czyszczenie. Wszystko połatane, ale jak zabezpieczyć...? Dokopałem się na oficjalnym forum do wątku: http://www.simplemachines.org/community/in...?topic=291486.0
Kto był winowajcą? Spambot, który rejestruje się na forum, dorzuca avatar i za pomocą wbudowanych atrybutów omija zabezpieczenie w postaci getimagesize" title="Zobacz w manualu PHP" target="_manual:
Normalnie żyć, nie umierać... Owszem, pozostaje blokada rejestracji użyszkodników (mod: http://custom.simplemachines.org/mods/index.php?mod=1547), ale przestrzegam wszystkich przed takim sprawdzaniem... Dawno wykorzystywana luka, niestety...
Trzeba zrobić filtrowanie do uploadowania, poszukam jeszcze jakiegoś sposobu na wywalenie atrybutów z pliku i chyba napiszę łatkę.
Obejście:
Kod
mogrify -strip image.jpg
edit:
<?php { $fileContents = fetch_web_data($url); // Though not an exhaustive list, better safe than sorry. { return false; } } elseif ($fp) { } ?>
Sprawdzanie jest, ale tylko dla zewnętrznych plików, uploadowanych już nie... :X
edit2: No i gotowa łatka. Powyższy listing jest z pliku ./Sources/Subs-Graphics.php i powinno wystarczyć:
<?php { $fileContents = fetch_web_data($url); // Though not an exhaustive list, better safe than sorry. { return false; } } elseif ($fp) { if (preg_match('~(iframe|<?php|<?|<%|html|eval|body|script)~', file_get_contents($destName)) === 1){ file_put_contents($destName, ''); return false; } } ?>
Zamiast tamtego fragmentu. Nieco obejście, ale powinno działać. Buga zgłosiłem autorom. Aha, nie zapomnijcie o
Kod
mogrify -strip *.jpg
dla katalogu attachments.edit3: wyszła wersja 1.1.9 łatająca tę dziurę.