Admin Emails & Passwords Exposed via HTTP Method Change
作者发现一个B2B CRM系统的API在改变HTTP方法后泄露了用户数据,包括密码哈希等敏感信息。这揭示了API配置错误的问题。 2025-7-24 11:11:50 Author: infosecwriteups.com(查看原文) 阅读量:21 收藏

Mahmoud El Manzalawy

Hello folks,
I’m Mahmoud El manzalawy, a bug bounty hunter who enjoys finding vulnerabilities in his free time.

Today, I’ll walk you through how how changing the HTTP method led to full admin credential disclosure email addresses, password hashes, and additional sensitive data

One of the simplest vulnerabilities I’ve found.

Our target today is a script called: B2B CRM Solution for eCommerce Software

While testing the platform, I accessed the email section and started interacting with the reply feature.
During this process, I noticed a suspicious request being sent it included an API in the path

Zoom image will be displayed

I copied the request and sent it to Repeater for further analysis.
To my surprise, the response returned: 201 created

Zoom image will be displayed

Understanding the Response: 201 Created

While replaying the request, the server responded with a 201 Created status code.
This HTTP response indicates that the request was successful and a new resource was created as a result such as a record being inserted into the database.

Example Scenario:
When an API receives a POST request to create a new message, order, or user, a 201 response confirms that the operation was successful and returns the new item’s ID or reference {“id”:1}

Initially, the server responded with a 201 Created upon replaying the original POST request indicating that a resource (likely a message reply) was created. The returned ID ({“id”:1}) matched the recipient’s user ID.

Out of curiosity and suspicion of a potential misconfiguration, I changed the HTTP method from POST to GET

Unexpectedly, the server responded with a full dump of user data.
This included a list of all registered users with the following sensitive details: User IDs , Email addresses and Passwords (in plain or hashed format)

This clearly confirms a critical misconfiguration in the API’s HTTP method handling, allowing unauthorized read access to sensitive user data.

Zoom image will be displayed

Zoom image will be displayed

Now Let’s Explain: How and Why This Vulnerability Occurred

This vulnerability exists due to poor access control and improper HTTP method handling on the backend. While the original POST request was correctly handled and didn’t expose any sensitive information, the same endpoint unexpectedly responded to a GET request with a full dump of registered user data — including emails and password hashes.

These data were never meant to be displayed, not even to authenticated users let alone anonymous visitors.
This reveals a critical misconfiguration where sensitive internal functions were exposed publicly

Zoom image will be displayed

Simple Example — Misconfigured Registration Endpoint

Imagine a registration system where users submit their data via POST to /register.

Everything seems secure no leak happens during normal usage.

But an attacker tries to access /register using a GET request and surprisingly receives a full list of users. This shows a serious issue: an internal function or admin logic was mistakenly mapped to a public endpoint.

Here’s a simplified visual explaining how this vulnerability occurred:

Zoom image will be displayed

Thank you for reading my write-up!
See you soon with another bugs 😄

Feel free to follow me on Medium , Linkedin , X: @is4curity
Happy bug hunting!

./Egypt 🇪🇬


文章来源: https://infosecwriteups.com/admin-emails-passwords-exposed-via-http-method-change-da23186f37d3?source=rss----7b722bfd1b8d---4
如有侵权请联系:admin#unsafe.sh