Ukoliko ste zaljubljenik u WordPress ili ste zbog posla prinuđeni da koristite ovu blog platformu bitno je da znate što više o bezbednosnim propustima koje postoje u samom jezgru. Ono što je meni zapalo za oko i što predstavlja problem u problemu jeste propust u vezi sa korisničkim imenom. Zbog ovog propusta možete dobiti listu svih validnih korisničkih imena koje se nalaze u bazi korisnika. Unošenjem pogrešnog korisničkog imena i pogrešne lozinke dobijate informaciju da je nepostojeće korisničko ime (Invalid username). Međutim, ako pogodite i unesete pravo korisničko ime koje se nalazi u bazi i pogrešnu lozinku dobićete informaciju da je lozinka za to korisničko ime pogrešna (The password you entered for the username admin is incorrect). Sada, kada ovo znate, možete iskoristiti brutal force napad koristeći bazu imena/korisničkih imena kako bi dobili listu svih korisnika koji se nalaze u bazi.
Da biste proverili verodostojnost ovog propusta posetite zvaničnu stranicu za prijavu:
https://wordpress.org/wp-login.php
Unošenjem nepostojećeg korisnika i nepostojeće lozinke dobićete Invalid username
Primer:
username: vvdf
password: 12345
Unošenjem postojećeg korisnika i nepostojeće lozinke dobićete The password you entered for the username admin is incorrect.
Primer:
username: admin
password: 12345
username: ssssssssss
password: 12345
username: admins
password: 12345
OSVDDB je ovaj propust prijavio WordPress-u jos u junu 2009. godine i danas kada je izašla verzija3.6.1 taj propust još nije otklonjen.
Evo kako da sami ovaj propust zakrpite
Otvorite:
wp-includes/user.php i pronađite liniju 91
Umesto:
return new WP_Error(‘invalid_username’, sprintf(__(‘ERROR: Invalid username. Lost your password< /a>?’), site_url(‘wp-login.php?action=lostpassword’, ‘login’)));
Stavite:
return new WP_Error( ‘invalid_username’, sprintf( __( ‘ERROR: Invalid username and/or password.’)));
Zatim:
wp-includes/user.php i pronađite liniju 111
Umesto:
return new WP_Error( ‘incorrect_password’, sprintf( __( ‘ERROR: The password you entered for the username%1$s is incorrect. Lost your password?’ )
Stavite:
return new WP_Error( ‘incorrect_password’, sprintf( __( ‘ERROR: Invalid username and/or password.’)));
Nadajmo se da će WordPress ovo ispraviti i da je informacija obelodanjena pre nego što je kasno.
N.J.