XSS na WordPress 3.0.3
Cytat:
|
Błąd znajduje się w pliku kses.php, a wynika z niedokładnego filtrowania atrybutu ***8220;href***8221; w linkach będących częścią komentarzy pochodzących od użytkowników. Jeśli atrybut jest zapisany dużymi literami, można przemycić w nim kod JavaScript
|
Jako że nie mam czasu bawić się w aktualizacje a dodatkowo konfig serwera uniemożliwia mi zautomatyzowany update jak i wprowadziłem kilka własnych przeróbek tam co wiązałoby się z przepisywaniem tego sam znalazłem lukę i załatałem.
Gdyby ktoś potrzebował,
funkcja
strtolower() zmienia wszystko na małe znaki więc:
w pliku
kses.php
765 linijkę kodu zmienić z:
Kod PHP:
if ( in_array($attrname, $uris) )
na:
Kod PHP:
if ( in_array(strtolower($attrname), $uris) )
781 linijkę z:
Kod PHP:
if ( in_array($attrname, $uris) )
na:
Kod PHP:
if ( in_array(strtolower($attrname), $uris) )
797 linijkę z:
Kod PHP:
if ( in_array($attrname, $uris) )
na:
Kod PHP:
if ( in_array(strtolower($attrname), $uris) )
No i XSS już nam niestraszny