I Changed One Number… and Got Access to Citizens’ ID and Address Proofs
嗯,用户让我帮忙总结一下这篇文章的内容,控制在100个字以内,而且不需要用“文章内容总结”或者“这篇文章”这样的开头。首先,我需要理解文章的主要内容。 看起来这篇文章讲的是一个安全漏洞,作者在探索一个政府网页应用时发现了一个问题。用户可以通过修改API请求中的ID来获取其他人的敏感文件,比如身份证和地址证明。这属于IDOR漏洞,也就是不安全的直接对象引用。作者负责任地报告了这个问题,并得到了修复和认可。 接下来,我需要将这些要点浓缩到100字以内。要确保涵盖主要事件:发现漏洞、漏洞类型、影响以及结果。同时,语言要简洁明了。 可能会遇到的问题是如何在有限的字数内准确传达所有关键信息。可能需要去掉一些细节,比如测试的过程和具体的影响点,但要保留核心内容:IDOR漏洞、敏感文件暴露、负责任的披露和修复。 最后,检查一下是否符合用户的要求:中文、100字以内、直接描述内容。确保没有使用禁止的开头词,并且信息准确无误。 </think> 作者在探索政府网页应用时发现API漏洞:通过修改ID参数可获取他人敏感文件(如身份证、地址证明),暴露隐私数据。该问题属于IDOR(不安全直接对象引用)漏洞,最终被修复并获认可。 2026-4-28 07:4:35 Author: infosecwriteups.com(查看原文) 阅读量:15 收藏

Press enter or click to view image in full size

It Started With a Simple Request

While exploring a state government web application, I came across a feature where users could apply for a service and upload supporting documents.
Pretty standard flow:

  • Submit application
  • Upload ID proof
  • Upload address proof

Later, users could retrieve their documents through the portal.

Nothing unusual… until I looked at the request behind it.

The API That Did Too Much

The application fetched documents using a request like:

/api/getDocument?id=10234

At first, it worked as expected — I could access my own uploaded documents.
But something felt off.

The id parameter looked:

  • Numeric
  • Sequential
  • Predictable

And from experience, that’s always worth testing.

The One Change

Out of curiosity, I modified the request:

/api/getDocument?id=10235

Sent it.

And waited.

What I Saw Next Was Alarming

The server responded successfully.

But the document wasn’t mine.

It belonged to someone else.

And It Got Worse

I tested a few more IDs (carefully, without abusing the system).

Each time, I could access documents uploaded by different users.

These weren’t just random files.

They included:

  • Government-issued ID proofs
  • Address verification documents
  • Supporting files submitted for official services

Highly sensitive. Personally identifiable. Real.

The Real Problem

At this point, the issue was clear:

The application had no proper authorization checks.

It didn’t verify:

  • Who was making the request
  • Whether the document belonged to that user

Instead, it followed a dangerous logic:

“If the ID exists, return the file.”

The Vulnerability: IDOR

This is a classic case of Insecure Direct Object Reference (IDOR).

Get VoidSec24’s stories in your inbox

Join Medium for free to get updates from this writer.

Remember me for faster sign in

Where:

  • Internal object IDs are exposed
  • Access control is missing
  • Attackers can retrieve unauthorized data

Why This Was Serious

This wasn’t just a minor bug.

The impact included:

  • Exposure of sensitive identity documents
  • Risk of identity theft and fraud
  • Potential for mass data scraping
  • Violation of citizen privacy

And the scary part?

👉 No advanced skills required
👉 No authentication bypass needed
👉 Just changing a number

Responsible Disclosure

Once I confirmed the issue:

  • I documented a clear Proof of Concept
  • Included reproducible steps
  • Highlighted the severity and real-world impact

The issue was responsibly reported to the concerned authority.

It was acknowledged and fixed.

Recognition

As a result of this report:

  • The vulnerability was patched
  • I was recognized by CERT-In Hall of Fame

Key Takeaway

This experience reinforced a powerful lesson:

The most dangerous vulnerabilities are often the simplest.

One parameter.
One small change.
Huge impact.

Final Thoughts

If you’re into security or bug hunting:

  • Always inspect API requests
  • Never trust exposed IDs
  • Follow your curiosity

Because sometimes…

Changing one number is all it takes.


文章来源: https://infosecwriteups.com/i-changed-one-number-and-got-access-to-citizens-id-and-address-proofs-a02084428801?source=rss----7b722bfd1b8d--bug_bounty
如有侵权请联系:admin#unsafe.sh