Excessive Data Exposure
Check List
Methodology
Black Box
WordPress User Enumeration via Public REST API
1
2
https://target.com/wp-json/wp/v2/users3
https://target.com/wp-json/wp/v2/users/?per_page=100
https://target.com/wp-json/wp/v2/users/1
https://target.com/index.php?rest_route=/wp/v2/users
https://target.com/wp-json/wp/v2/users/me4
id, name, slug, username, login, nickname, url, description5
https://target.com/wp-json/wp/v2/users/1
https://target.com/wp-json/wp/v2/users/2
...
https://target.com/wp-json/wp/v2/users/100Information Disclosure via Verbose Error Messages
1
/api/login, /api/auth, /v1/sessions, /api/v2/users/{id}, /api/forgot-password, /api/check-email2
{"email": "this-user-definitely-does-not-exist-12345@target.com", "password": "anything"}3
4
{"email": "admin@target.com", "password": "wrong"}5
Fake user response
Real user response
Meaning
6
admin@target.com
support@target.com
john.doe@target.com
jdoe@target.comInformation Disclosure
1
2
GET /api/me
GET /api/v1/profile
GET /api/v2/user3
4
GET /api/v3/accounts?name=admin
GET /api/v3/accounts?id=15
White Box
Cheat Sheet
Last updated