Kerentanan API WordPress: Resiko Serangan Brute Force

JejakHacker.com – WordPress, sebagai Content Management System (CMS) paling populer sejak perilisannya pada 27 Mei 2003, terus berkembang menjadi solusi luar biasa bagi ribuan pengguna yang ingin meluncurkan situs web yang aman dan tanpa cacat.

Namun, dalam perjalanan pengujian penetrasi, saya menemukan cara yang aneh namun signifikan untuk mengidentifikasi pengguna, membuka pintu bagi serangan Brute Force.

Artikel ini akan membahas temuan tersebut dengan mendalam.

Untuk meyakinkan sebagian besar orang yang skeptis, berikut beberapa contoh yang menggambarkan kehebatan produk ini.

REST API WordPress

Sejak dua atau tiga versi terakhir, tim WordPress memperkenalkan REST API dengan tujuan menyederhanakan pengumpulan informasi dalam aplikasi, seperti kategori, artikel, produk, dll.

Meskipun banyak pemindai aplikasi WordPress terkenal, seperti WPScan dan Droopescan, tidak mengimplementasikan metode ini, penelitian saya mengungkap potensi kerentanan serius.

REST API dapat diakses melalui URL berikut:

https://example.com/?rest_route=/

REST API Default Mengandung Data Sensitif

Setelah menganalisis berbagai ujung yang disediakan oleh API ini, saya menyimpulkan bahwa tidak mungkin terjadi serangan eskalasi hak istimewa pada rilis terbaru CMS ini. Namun, satu rute tertentu menarik perhatian saya!

Ketika mengakses endpoint /wp/v2/users, aplikasi mengembalikan informasi pengguna terdaftar bersama situs web, menunjukkan ID, nama, slug, dll.

Yang menarik adalah bahwa fungsionalitas ini tersedia secara bawaan, dan hanya instalasi plugin yang dapat membatasi aksesnya hanya kepada pengguna yang terautentikasi.

Dengan demikian, setiap instalasi baru di internet rentan terhadap jenis enumerasi pengguna ini, memudahkan fase serangan Brute Force berikutnya!

REST API bukan satu-satunya cara untuk mengenumerasi pengguna WordPress.

Artikel penguatan keamanan banyak menjelaskan cara mencegah serangan semacam ini, misalnya dengan menonaktifkan path penulis (?author=ID) atau menggunakan pesan kesalahan generik ketika percobaan koneksi gagal.

Meningkatkan Keamanan API WordPress

Untuk memperluas cakupan temuan ini, saya melakukan fork pada repositori WPScan dan menambahkan vektor enumerasi ini.

Saat ini, saya menunggu ahli Ruby untuk meninjau kode saya sebelum mengajukan permintaan pull, karena alat ini begitu besar sehingga saya khawatir merusak pola desain yang telah diimplementasikan.

Jika ada yang termotivasi untuk melakukan tinjauan kode, silakan akses repositori saya di GitHub!

Dengan mengungkapkan potensi kerentanan ini, artikel ini bertujuan memberikan wawasan mendalam tentang risiko keamanan yang terkait dengan WordPress.

Penting bagi para pengguna dan administrator situs web untuk memahami risiko potensial dan mengambil langkah-langkah pencegahan yang diperlukan untuk melindungi integritas situs mereka.

Dengan demikian, artikel ini berfungsi sebagai peringatan penting bagi komunitas pengguna WordPress untuk meningkatkan keamanan dan mencegah potensi serangan Brute Force yang dapat merugikan situs web mereka.

Saya juga mengundang para pembaca untuk melihat implementasi baru ini di repositori WPScan, yang dapat menjadi langkah proaktif dalam memperkuat keamanan WordPress secara keseluruhan.

Tekan ESC untuk keluar