Breaking Email Trust: How I Bypassed Email Verification in a Real-World Application.
嗯,用户让我总结一篇文章的内容,控制在一百个字以内,而且不需要特定的开头。首先,我需要快速浏览文章内容,抓住主要点。 文章讲的是一个安全研究人员发现了一个电子邮件验证绕过漏洞。他详细描述了漏洞的发现过程:注册时使用自己的邮箱,然后在验证页面更改邮箱到受害者地址。结果系统并没有发送新的验证邮件到受害者邮箱,而是继续发送到攻击者的邮箱。这样攻击者就能用未验证的受害者邮箱创建账户。 漏洞的原因是系统没有在更改邮箱时生成新的验证链接,而是继续使用旧的令牌。这导致攻击者可以绕过验证,带来身份盗用和滥用的风险。 总结的时候要包括:漏洞类型、发现过程、问题所在以及影响。控制在100字以内,所以需要简洁明了。 可能的结构:研究人员发现漏洞,描述步骤和问题,指出影响和修复建议。 现在组织语言:研究人员发现一个应用中的电子邮件验证绕过漏洞。通过更改注册后的邮箱地址,系统未重新发送验证邮件到新地址,导致攻击者能用未验证的邮箱创建账户。该漏洞可能导致身份盗用和滥用。 检查字数是否合适,并确保没有使用任何特定的开头词。 </think> 研究人员发现一个应用程序中的电子邮件验证绕过漏洞:通过更改注册后的邮箱地址,系统未重新发送验证邮件到新地址,导致攻击者能用未验证的邮箱创建账户。该漏洞可能导致身份盗用和滥用。 2026-4-21 05:54:28 Author: infosecwriteups.com(查看原文) 阅读量:23 收藏

kjulius

Press enter or click to view image in full size

Introduction

Email verification is one of the most fundamental security mechanisms in modern web applications. It ensures that users actually own the email address they register with.

But what happens when that trust is broken?

I go by kjulius, a regular self-taught Ethical Hacker. 🪞🗿

In this write-up, I’ll walk through how I discovered and responsibly reported an email verification bypass in a real-world application, allowing account creation with unverified email addresses.

🎯 Target Overview

During routine reconnaissance, I came across the signup page of:

👉 https://subdomain.target.com/signup

The application follows a standard registration flow:

  • Enter company name and email.
  • Receive a verification link.
  • Complete account setup.

Press enter or click to view image in full size

At first glance, everything looked normal… until I tested one small feature.

🧠 The Idea

While on the verification page, I noticed an option:

“Change your e-mail”

Press enter or click to view image in full size

This immediately raised a question:

What happens if I change the email after the verification link has already been sent?

That’s where things got interesting.

🔍 Step-by-Step Discovery

1. Initial Registration

I registered using my own email:

[email protected]

A verification link was sent to my inbox.

Press enter or click to view image in full size

2. Changing the Email

On the next page, I clicked:

Change your e-mail

Then I replaced it with:

[email protected]

The application responded:

“A verification email has been sent to your new email address.”

3. Unexpected Behavior

Here’s where the flaw appeared:

👉 The verification email was NOT sent to the new email ([email protected])
👉 It was still sent to my original email ([email protected])

Press enter or click to view image in full size

4. Verifying the Account

I clicked the first verification link from my inbox Please click here”.

The system accepted it.

Get kjulius’s stories in your inbox

Join Medium for free to get updates from this writer.

Remember me for faster sign in

Then I completed the registration form.

5. The Result

🚨 The account was created using:

[email protected]

❌ But that email was never verified. The verification link was rather sent to my inbox instead of the victim.

💥 Why This Is a Problem

This vulnerability allows:

  • Creating accounts with emails you don’t own.
  • Impersonation risks.
  • Blocking legitimate users from registering.
  • Breaking trust in email-based identity systems.

In simple terms:

The application verifies the wrong email address.

🧨 Exploitation Scenario

An attacker could:

  1. Register with their own email.
  2. Change it to a target’s email (e.g., [email protected]).
  3. Verify using their own inbox.
  4. Create an account tied to the target’s email.

This could be abused for:

  • Impersonation.
  • Social engineering.
  • Abuse of business workflows.

🧩 Root Cause

The issue exists because:

  • The system does not invalidate the original verification token.
  • No new token is generated for the updated email.
  • The backend trusts the old verification session.

🛠️ How It Should Work

A secure implementation should:

  • Invalidate old tokens when email changes.
  • Generate a new verification link.
  • Send it only to the new email address.
  • Block progress until the new email is verified.

📌 Impact Assessment

Although the application required admin approval, the vulnerability still:

  • Breaks email ownership validation.
  • Allows identity misuse.
  • Weakens authentication integrity.

🏁 Responsible Disclosure

The issue was responsibly reported and accepted by the security team.

Press enter or click to view image in full size

This highlights how even small logic flaws in authentication flows can have real-world impact.

🧠 Key Takeaways

  • Always test edge cases (like “change email”).
  • Don’t trust frontend messages blindly.
  • Business logic bugs are often hidden in plain sight.
  • Email verification ≠ secure if logic is flawed.

✍️ Final Thoughts

This bug is a great reminder:

Security isn’t just about encryption or firewalls —
it’s about
getting the logic right.

If you’re into bug bounty hunting, keep digging into:

  • Registration flows.
  • Password resets.
  • Email verification systems.

That’s where some of the simple vulnerabilities hide.

🔗 Connect

If you enjoyed this write-up, feel free to follow for more real-world bug bounty discoveries.
https://x.com/ethical_h4ck3r_
More to come… 🌇


文章来源: https://infosecwriteups.com/breaking-email-trust-how-i-bypassed-email-verification-in-a-real-world-application-5c8ef5a51b51?source=rss----7b722bfd1b8d---4
如有侵权请联系:admin#unsafe.sh