Meski WordPress sangat mudah digunakan, ada beberapa bug yang umum terjadi dan  membuat panik para pengguna pemula. Saya akan membahas tentang “User Enumeration”. Jadi, bug ini bisa berakibatkan hacker bisa mengetahui user admin untuk login ke website kita yang memakai CMS wordpress. Terdapat 3 cara untuk memunculkan bug ini, caranya bagaimana saja?

  • WordPress User Enumeration via Author Archives

Dengan membuat Request HTTP sederhana ke https://example.com/?author=1. Anda dapat mencoba ini di browser. Di alat pengembang web, lihat tab Network dan lihat respons HTTP yang diterima dari permintaan. Jika berhasil, Anda akan melihat sesuatu seperti ini:

Connection: keep-alive
Content-Type: text/html; charset=UTF-8
Date: Thu, 17 Oct 2019 23:12:26 GMT
Location: https://example.com/author/john/
Server: nginx/1.10.3 (Ubuntu)

Di kalimat Location: menunjukkan bahwa usernya bernama john

  • WordPress Enumeration via JSON API

Menggunakan JSON endpoint dimungkinkan untuk mendapatkan user admin di situs yang memakai WordPress.

https://example.com/wp-json/wp/v2/users

Jika wp-json/wp/v2/users di block. Bisa dengan cara yang lain yaitu

https://example.com/?rest_route=/wp/v2/users/

Jika sudah melihat JSON endpoint di website yang memakai wordpress maka usernamenya akan terlihat pada:

slug:    "ivan"

Maka Username yang dipakai di website adalah ivan

Cara Mencegahnya

Bisa dengan menggunakan plugin wordfence atau dengan mengubah sedikit .htaccess

<IfModule mod_rewrite.c>
RewriteCond %{QUERY_STRING} ^author=([0-9]*)
RewriteRule .* http://example.com/? [L,R=302]
</IfModule>