2009/10/20

libpam-mysql i joomla 1.5

W życiu każdego z nas, zarządcy serwera, pojawiają się czasem takie chwile, kiedy to co oferuje nam oprogramowanie już wytworzone przez kogoś, po prostu nie wystarcza. W dzisiejszym odcinku na warsztat poszło libpam-mysql, gdzie niestety zabrakło mi funkcjonalności umożliwiającej zintegrowanie haseł użytkowników z joomla 1.5. Rozwiązanie okazało się o tyle proste, że hasła są hashowane przy pomocy md5 z saltem, który to znajduje się wraz z hashem hasła w kolumnie jos_users.password jako "passwd_md5:salt". Innymi słowy wystarczyło obliczyć md5(passwd+salt) i porównać to z passwd_md5. Nie było to jednak tak trywialne jak mogłoby się wydawać, ale udało się. Odpowiedni patch zgodny z libpam-mysql-0.7RC1 został przeze mnie zgłoszony i znajduje się tutaj. Aby skorzystać z tego mechanizmu należy ustawić crypt=5.

Zastrzegam, że nie ponoszę żadnej odpowiedzialności za straty powstałe w wyniku wykorzystania stworzonej przeze mnie poprawki. Taki Lajf :>

Rafał Prasał