<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:cc="http://cyber.law.harvard.edu/rss/creativeCommonsRssModule.html">
    <channel>
        <title><![CDATA[Stories by Raunak Gupta Aka B1scuit on Medium]]></title>
        <description><![CDATA[Stories by Raunak Gupta Aka B1scuit on Medium]]></description>
        <link>https://medium.com/@RaunakGupta1922?source=rss-16e896712413------2</link>
        <image>
            <url>https://cdn-images-1.medium.com/fit/c/150/150/1*8CWlTBYd15lEaEd8vlSztw.jpeg</url>
            <title>Stories by Raunak Gupta Aka B1scuit on Medium</title>
            <link>https://medium.com/@RaunakGupta1922?source=rss-16e896712413------2</link>
        </image>
        <generator>Medium</generator>
        <lastBuildDate>Sat, 30 May 2026 05:38:54 GMT</lastBuildDate>
        <atom:link href="https://medium.com/@RaunakGupta1922/feed" rel="self" type="application/rss+xml"/>
        <webMaster><![CDATA[yourfriends@medium.com]]></webMaster>
        <atom:link href="http://medium.superfeedr.com" rel="hub"/>
        <item>
            <title><![CDATA[Learning About Post-message Vulnerabilities]]></title>
            <link>https://medium.com/@RaunakGupta1922/learning-about-post-message-vulnerabilities-a9e89e13a80c?source=rss-16e896712413------2</link>
            <guid isPermaLink="false">https://medium.com/p/a9e89e13a80c</guid>
            <category><![CDATA[javascript]]></category>
            <category><![CDATA[programming]]></category>
            <category><![CDATA[cybersecurity]]></category>
            <category><![CDATA[ethical-hacking]]></category>
            <category><![CDATA[bug-bounty]]></category>
            <dc:creator><![CDATA[Raunak Gupta Aka B1scuit]]></dc:creator>
            <pubDate>Fri, 10 Apr 2026 08:51:06 GMT</pubDate>
            <atom:updated>2026-04-10T08:51:06.481Z</atom:updated>
            <content:encoded><![CDATA[<p>Note: I’m writing this as personal learning notes, not a generic article please keep that in mind. Also, I used AI for rephrasing and grammar correction.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*UNbqCT1PzAIwQnKpQfT0yA.png" /></figure><p><strong>Structure of the notes:</strong></p><ul><li><strong>Fundamentals: </strong>API mechanics, event properties, mental model (treat listeners like REST APIs)</li><li><strong>Vulnerability classes: </strong>3 main types: no origin check, wildcard sender (data leak), weak origin validation</li><li><strong>Exploit templates: </strong>iframe embed, window.open() bypass for X-Frame-Options, OAuth token steal, both real-world CVEs with annotated payloads</li><li><strong>Recon &amp; discovery: </strong>all tools across articles: postMessage-tracker, DOM Invader, MessPostage, PMHook, Posta, Untrusted Types</li><li><strong>Testing methodology: </strong>10-step hunt process from discovery to PoC</li><li><strong>Bypass cheatsheet: </strong>all 4 regex/string bypass patterns (indexOf, no $ anchor, unescaped ., search() coercion) + escapeHtml bypass</li><li><strong>Dangerous sinks: </strong>everything that turns message data into XSS</li><li><strong>Remediation: </strong>exact code fixes</li><li><strong>Real-world cases: </strong>HackerOne reports with exploit flow explained</li></ul><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=a9e89e13a80c" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Best Labs to Practice XSS (Cross-Site Scripting)]]></title>
            <link>https://medium.com/@RaunakGupta1922/best-labs-to-practice-xss-cross-site-scripting-4b243fac4a40?source=rss-16e896712413------2</link>
            <guid isPermaLink="false">https://medium.com/p/4b243fac4a40</guid>
            <category><![CDATA[hacking]]></category>
            <category><![CDATA[information-security]]></category>
            <category><![CDATA[bug-bounty]]></category>
            <category><![CDATA[cybersecurity]]></category>
            <category><![CDATA[software-development]]></category>
            <dc:creator><![CDATA[Raunak Gupta Aka B1scuit]]></dc:creator>
            <pubDate>Thu, 04 Dec 2025 06:59:32 GMT</pubDate>
            <atom:updated>2025-12-04T06:59:32.599Z</atom:updated>
            <content:encoded><![CDATA[<h3>My Introduction</h3><p>Hiyya, I am Raunak Gupta, a Security Researcher and Bug Bounty Hunter for fun and profit.</p><p>Im documenting some data as article.</p><p>1. PortSwigger Web Security Academy<br><a href="https://portswigger.net/web-security/all-labs">https://portswigger.net/web-security/all-labs</a> <br>PortSwigger offers one of the most comprehensive free platforms. Their labs cover everything from basic reflected XSS to advanced cases like DOM-based XSS and WAF bypasses. Each lab comes with guided explanations, making it great for both beginners and advanced learners.</p><p>2. Polyglot XSS Cheat Sheet (Archive) <br><a href="https://web.archive.org/web/20190617111911/https://polyglot.innerht.ml/">https://web.archive.org/web/20190617111911/https://polyglot.innerht.ml/</a> <br>This archive contains creative polyglot payloads that work across multiple contexts. Practicing here helps you understand how XSS behaves in different filters and situations.</p><p>3. Sudo.co.il XSS Challenges <br><a href="https://sudo.co.il/xss/">https://sudo.co.il/xss/</a> <br>This platform has multiple real-world inspired challenges. It’s hands-on and gives you practical exposure to bypassing sanitization.</p><p>4. XSS Quiz (by int21h) <br><a href="https://xss-quiz.int21h.jp/">https://xss-quiz.int21h.jp/</a> <br>A fun quiz-style lab where you need to craft payloads for different scenarios. It starts simple but quickly gets tricky, testing your creativity.</p><p>5. Prompt.ml <br><a href="https://prompt.ml/0">https://prompt.ml/0</a> <br>Focused on prompt injection and XSS-like payloads, this is a unique place to experiment with modern attack vectors.</p><p>6. Alf.nu — The Classic Alert Game <br><a href="https://alf.nu/alert1?world=alert&amp;level=alert0">https://alf.nu/alert1?world=alert&amp;level=alert0</a> <br>This is an old but gold interactive game where each level requires you to trigger alert(1). It’s fun and addictive while teaching a lot about escaping contexts.</p><p>7. Intigriti Bugology <br><a href="https://bugology.intigriti.io/intigriti-monthly-challenges">https://bugology.intigriti.io/intigriti-monthly-challenges</a> <br>Intigriti publishes monthly bug bounty style challenges, often including XSS. They’re closer to real bug bounty scenarios, so great for hunters.</p><p>8. YesWeHack Dojo <br><a href="https://dojo-yeswehack.com/learn/vulnerabilities/xss">https://dojo-yeswehack.com/learn/vulnerabilities/xss</a> <br>A guided learning environment that explains XSS concepts clearly. Best for people starting out or looking to structure their learning.</p><p>9. Google XSS Game <br><a href="https://xss-game.appspot.com/">https://xss-game.appspot.com/</a> <br>Google’s classic XSS Game contains a set of levels where you exploit vulnerable applications. It’s simple, effective, and still widely used by learners.</p><p>10. Public Firing Range<br> <a href="https://public-firing-range.appspot.com/">https://public-firing-range.appspot.com/</a><br>A hands-on collection of intentionally vulnerable web apps and scenarios for practicing real-world web bugs (XSS, SQLi, CSRF, open redirects, etc.). Clean, challenge-style exercises with reproducible targets make it great for learning exploitation techniques and safe testing workflows — ideal for beginners → intermediate hunters wanting realistic practice without touching production.</p><p>Final Thoughts <br>Practicing on these labs will strengthen your fundamentals and give you the confidence to spot and exploit XSS in real-world applications. Start with PortSwigger and Google XSS Game if you’re new, then move on to Sudo.co.il and Intigriti Bugology for more advanced, practical challenges.</p><h3>Connect with me</h3><p>LinkedIn: <a href="https://www.linkedin.com/in/raunak-gupta-772408255/">https://www.linkedin.com/in/raunak-gupta-772408255/</a><br>My Discord server: <a href="https://discord.gg/8SSx5Ma9ve">https://discord.gg/8SSx5Ma9ve</a><br>My YouTube Channel: <a href="https://www.youtube.com/@BiscuitSecurity/featured">https://www.youtube.com/@BiscuitSecurity/featured</a></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=4b243fac4a40" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Web3 Terminology Explained: Blockchains vs Languages vs Tools]]></title>
            <link>https://medium.com/@RaunakGupta1922/web3-terminology-explained-blockchains-vs-languages-vs-tools-5aaacdb80322?source=rss-16e896712413------2</link>
            <guid isPermaLink="false">https://medium.com/p/5aaacdb80322</guid>
            <category><![CDATA[solidity]]></category>
            <category><![CDATA[defi]]></category>
            <category><![CDATA[blockchain]]></category>
            <category><![CDATA[smart-contracts]]></category>
            <category><![CDATA[web3]]></category>
            <dc:creator><![CDATA[Raunak Gupta Aka B1scuit]]></dc:creator>
            <pubDate>Sat, 27 Sep 2025 04:05:39 GMT</pubDate>
            <atom:updated>2025-09-27T06:11:50.788Z</atom:updated>
            <content:encoded><![CDATA[<h3>My Introduction</h3><p>Hiyya, I am Raunak Gupta, a Security Researcher and Bug Bounty Hunter for fun and profit.</p><blockquote><em>All sensitive data is blurred due to privacy reasons.</em></blockquote><p>When I first started exploring Web3, I found it confusing to differentiate between blockchains, programming languages, and other common terms. To clear this up for myself (and others who might feel the same), I created this simple table that organizes the most important terminology in one place.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*tYMCiUwU4oSqxxCIuuIR9Q.png" /></figure><h3>Connect with me</h3><p>LinkedIn: <a href="https://www.linkedin.com/in/raunak-gupta-772408255/?utm_source=chatgpt.com">https://www.linkedin.com/in/raunak-gupta-772408255/</a><br>My Discord server: <a href="https://discord.gg/8SSx5Ma9ve?utm_source=chatgpt.com">https://discord.gg/8SSx5Ma9ve</a><br>My YouTube Channel: <a href="https://www.youtube.com/@BiscuitSecurity/featured?utm_source=chatgpt.com">https://www.youtube.com/@BiscuitSecurity/featured</a></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=5aaacdb80322" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Advanced Paid Resources for Experienced Bug Bounty Hunters]]></title>
            <link>https://medium.com/@RaunakGupta1922/advanced-paid-resources-for-experienced-bug-bounty-hunters-3c900060bf8e?source=rss-16e896712413------2</link>
            <guid isPermaLink="false">https://medium.com/p/3c900060bf8e</guid>
            <category><![CDATA[penetration-testing]]></category>
            <category><![CDATA[hacking]]></category>
            <category><![CDATA[cybersecurity]]></category>
            <category><![CDATA[programming]]></category>
            <category><![CDATA[bug-bounty]]></category>
            <dc:creator><![CDATA[Raunak Gupta Aka B1scuit]]></dc:creator>
            <pubDate>Wed, 10 Sep 2025 08:23:57 GMT</pubDate>
            <atom:updated>2025-09-10T08:23:57.526Z</atom:updated>
            <content:encoded><![CDATA[<h3>My Introduction</h3><p>Hiyya, I am Raunak Gupta, a Security Researcher and Bug Bounty Hunter for fun and profit.</p><p>These resources are for people who already know bug bounty well and want to get better. They are not for beginners.</p><h3>1. CyberFlow Academy:</h3><p>Why It’s Good: It has lots of practical lessons and labs. You learn real hacking skills and get help from a private community.</p><p><a href="https://cyberflow-academy.github.io/#features">https://cyberflow-academy.github.io/#features</a></p><h3>2. PentesterLab PRO:</h3><p>Why It’s Good: It has many exercises from easy to hard. You learn to find bugs manually and make your own scripts. It also gives certificates.</p><p><a href="https://pentesterlab.com/pro">https://pentesterlab.com/pro</a></p><h3>3. Bug Bounty Reports Explained (BBRE):</h3><p>Why It’s Good: It shows real bug bounty reports and how top hackers find bugs. You learn strategies to report bugs effectively.</p><p><a href="https://study.bugbountyexplained.com/">https://study.bugbountyexplained.com/</a></p><h3>4. Critical Thinking Podcast: How to Go Full-Time Bug Bounty:</h3><p>Why It’s Good: It teaches how to go full-time in bug bounty. You get advice, steps to follow, and support from a Discord community.</p><p><a href="https://www.criticalthinkingpodcast.io/p/how-to-go-full-time-bug-bounty/">https://www.criticalthinkingpodcast.io/p/how-to-go-full-time-bug-bounty/</a></p><h3>5. Udemy: Web3 and Blockchain Security Pen Testing &amp; Bug Bounty Part 1:</h3><p>Why It’s Good: It focuses on Web3 and blockchain security. You learn about smart contract bugs and testing decentralized apps.</p><p><a href="https://www.udemy.com/course/web3-and-blockchain-securitypen-testing-bug-bounty-part1/?srsltid=AfmBOop-UF2iuuXws4imJ_GFFwKCfFRIey-yhl09CpUD92a8kqW_u3Ox&amp;couponCode=MT250908G2">https://www.udemy.com/course/web3-and-blockchain-securitypen-testing-bug-bounty-part1/?srsltid=AfmBOop-UF2iuuXws4imJ_GFFwKCfFRIey-yhl09CpUD92a8kqW_u3Ox&amp;couponCode=MT250908G2</a></p><h3>6. Udemy: Offensive Thick Client Penetration Testing:</h3><p>Why It’s Good: It teaches testing desktop applications, which most courses ignore. You learn to find bugs in thick client apps.</p><p><a href="https://www.udemy.com/course/offensive-thick-client-penetration-testing/?couponCode=PMNVD2025">https://www.udemy.com/course/offensive-thick-client-penetration-testing/?couponCode=PMNVD2025</a></p><h3>Conclusion:</h3><p>These courses help experienced bug bounty hunters improve their skills, learn advanced techniques, and get better at reporting and finding high-value bugs.</p><h3>Connect with me</h3><p>LinkedIn: <a href="https://www.linkedin.com/in/raunak-gupta-772408255/">https://www.linkedin.com/in/raunak-gupta-772408255/</a><br>My Discord server: <a href="https://discord.gg/8SSx5Ma9ve">https://discord.gg/8SSx5Ma9ve</a><br>My YouTube Channel: <a href="https://www.youtube.com/@BiscuitSecurity/featured">https://www.youtube.com/@BiscuitSecurity/featured</a></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=3c900060bf8e" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[I Found An Unintended Solution For The XSS Lab In PortSwigger.]]></title>
            <link>https://medium.com/@RaunakGupta1922/i-found-an-unintended-solution-for-the-xss-lab-in-portswigger-77b1f4d8512c?source=rss-16e896712413------2</link>
            <guid isPermaLink="false">https://medium.com/p/77b1f4d8512c</guid>
            <category><![CDATA[hacking]]></category>
            <category><![CDATA[software-development]]></category>
            <category><![CDATA[programming]]></category>
            <category><![CDATA[bug-bounty]]></category>
            <category><![CDATA[cybersecurity]]></category>
            <dc:creator><![CDATA[Raunak Gupta Aka B1scuit]]></dc:creator>
            <pubDate>Wed, 10 Sep 2025 05:30:31 GMT</pubDate>
            <atom:updated>2025-09-10T05:30:31.483Z</atom:updated>
            <content:encoded><![CDATA[<h3>My Introduction</h3><p>Hiyya, I am Raunak Gupta, a Security Researcher and Bug Bounty Hunter for fun and profit.</p><p>So while solving XSS lab in portswigger and I was approaching lab with my bug bounty methodology, this is the lab link: <a href="https://portswigger.net/web-security/cross-site-scripting/dom-based/lab-document-write-sink-inside-select-element">https://portswigger.net/web-security/cross-site-scripting/dom-based/lab-document-write-sink-inside-select-element</a></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/926/1*WB_ZI-1n3DTtMLe_iiGqXQ.png" /></figure><p>The XSS was in the stock check functionality, where I could influence the HTML content directly through the URL. So, I went to that functionality, clicked the “Check Stock” button, and intercepted the request in Burp Suite. Here’s how it looked.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/604/1*k5KTcZZnxDHNYyGWTuSCCw.png" /></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*K37WZkXzi4EmdFr2qBdEZg.png" /></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/926/1*hsXhrRVe82-RmU3raYXqpA.png" /></figure><p>Here are my observations:</p><ul><li>In the dropdown menu, I saw country names.</li><li>In the URL, I noticed the product_id= parameter.</li><li>In Burp Suite, both parameters appeared together, connected with &amp;, like this: productId=2&amp;storeId=London.</li><li>I copied this line, pasted it into the URL, and added my XSS payload after the storeId= parameter value, as shown in the example below.</li></ul><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*ifqgezvY1AdPDEivWddoFQ.png" /></figure><p>And boom, XSS! But then I noticed the lab was still not marked as solved. Why? I popped an XSS, right? So, I went to the PortSwigger Discord server and asked if the lab was bugged or not.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/927/1*HJjCr3ostwjNj7QAfXPGqA.png" /></figure><p>Then I went to ChatGPT and asked what I was doing wrong.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/728/1*RRjRIGPhKAoX2ujLU64HLw.png" /></figure><p>And now I finally understood what I did wrong.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/486/1*A47zIwHtVPWBMsd8T3EVEg.png" /></figure><p>This is where the XSS popped up inside the dropdown menu, technically inside the &lt;option&gt; tag. But I’m supposed to escape the &lt;option&gt; tag first and then trigger the XSS. So let’s do that.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*SnKfwS9hlEOh_6uFv5un-g.png" /></figure><p>Now the lab is solved I escaped the &lt;option&gt; tag using &lt;select&gt;.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/480/1*WxaEe-EtsVJTyolkNyfSVw.png" /></figure><h3>Connect with me</h3><p>LinkedIn: <a href="https://www.linkedin.com/in/raunak-gupta-772408255/">https://www.linkedin.com/in/raunak-gupta-772408255/</a><br>My Discord server: <a href="https://discord.gg/8SSx5Ma9ve">https://discord.gg/8SSx5Ma9ve</a><br>My YouTube Channel: <a href="https://www.youtube.com/@BiscuitSecurity/featured">https://www.youtube.com/@BiscuitSecurity/featured</a></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=77b1f4d8512c" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[The Leaky Bucket Bug]]></title>
            <link>https://medium.com/@RaunakGupta1922/the-leaky-bucket-bug-aa725b031cc5?source=rss-16e896712413------2</link>
            <guid isPermaLink="false">https://medium.com/p/aa725b031cc5</guid>
            <category><![CDATA[bug-bounty]]></category>
            <category><![CDATA[cybersecurity]]></category>
            <category><![CDATA[coding]]></category>
            <category><![CDATA[ethical-hacking]]></category>
            <category><![CDATA[programming]]></category>
            <dc:creator><![CDATA[Raunak Gupta Aka B1scuit]]></dc:creator>
            <pubDate>Fri, 29 Aug 2025 09:52:40 GMT</pubDate>
            <atom:updated>2025-08-29T16:16:19.861Z</atom:updated>
            <content:encoded><![CDATA[<h3>My Introduction</h3><p>Hiyya, I am Raunak Gupta, a Security Researcher and Bug Bounty Hunter for fun and profit.</p><blockquote><em>All sensitive data is blurred due to privacy reasons.</em></blockquote><h3>Target Overview</h3><p>Target Overview is not relevant to this bug, as it was discovered while testing static resources on the application.</p><h3>Now Main Story</h3><p>While casually testing some endpoints, I came across a file hosted on the domain redacted.com.</p><p>The file was being served from an Amazon S3 bucket, but when I accessed it directly, I got a simple <strong>Access Denied</strong> error. Nothing unusual at this point.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*rc6a7uuPl4ybrx7KFvLw0Q.png" /></figure><p>Out of curiosity, I appended a jsessionid parameter to the request. Surprisingly, the response was totally different this time. Instead of a plain denial, the request triggered Amazon’s Signature V4 signing process, and since the signature didn’t match, the error message revealed a lot more details than expected.</p><p>The verbose XML response exposed:</p><ul><li>The <strong>AWS Access Key ID</strong> (partially).</li><li>The <strong>Signing algorithm</strong> being used.</li><li>The <strong>Region</strong> (us-east-1).</li><li>Most importantly, the <strong>S3 bucket name</strong> → redacted-www-live.</li></ul><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*fZXXUirgOmvNXdtBAYpzlw.png" /></figure><p>appended a jsessionid parameter to the request.<br>Instead of a simple denial, the backend (or proxy in front of S3) tried to sign the request using AWS Signature v4.<br>Since my jsessionid didn’t match what the app expected, the request failed with SignatureDoesNotMatch.<br>But this failure returned debugging details in the XML error:<br>AWSAccessKeyId (partially exposed).<br>The StringToSign and CanonicalRequest (shows signing process).<br>The Host header → XXXXXXXXX.s3.amazonaws.com.<br>→ This directly leaks the S3 bucket name (XXXXXXXX).</p><h3>Why This Matters</h3><p>Normally, users should only see a plain access denied message. But due to this misconfiguration, just appending a parameter (jsessionid) forced the backend to handle the request differently and leak internal AWS storage details.</p><p>This might not directly allow full compromise, but such information disclosure is very useful for attackers during reconnaissance and can help in chaining bigger bugs like bucket takeover or privilege escalation.</p><h3>Learnings</h3><ol><li>Never rely on default error handling for signed requests.</li><li>Always sanitize and restrict error messages exposed to end users.</li><li>Even a simple parameter change can reveal critical internal details.</li></ol><h3>Connect with me</h3><p>LinkedIn: <a href="https://www.linkedin.com/in/raunak-gupta-772408255/?utm_source=chatgpt.com">https://www.linkedin.com/in/raunak-gupta-772408255/</a><br>My Discord server: <a href="https://discord.gg/8SSx5Ma9ve?utm_source=chatgpt.com">https://discord.gg/8SSx5Ma9ve</a><br>My YouTube Channel: <a href="https://www.youtube.com/@BiscuitSecurity/featured?utm_source=chatgpt.com">https://www.youtube.com/@BiscuitSecurity/featured</a></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=aa725b031cc5" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[The Thousand Dollar Bug]]></title>
            <link>https://medium.com/@RaunakGupta1922/the-thousand-dollar-bug-07955ff2ba57?source=rss-16e896712413------2</link>
            <guid isPermaLink="false">https://medium.com/p/07955ff2ba57</guid>
            <category><![CDATA[bug-bounty]]></category>
            <category><![CDATA[cybersecurity]]></category>
            <category><![CDATA[coding]]></category>
            <category><![CDATA[programming]]></category>
            <category><![CDATA[hacking]]></category>
            <dc:creator><![CDATA[Raunak Gupta Aka B1scuit]]></dc:creator>
            <pubDate>Tue, 26 Aug 2025 02:27:31 GMT</pubDate>
            <atom:updated>2025-09-18T16:33:10.840Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*Y28Fh2fBD2z7z4h-UnVX_g.jpeg" /></figure><h3>My Introduction</h3><p>Hiyya, I am Raunak Gupta, a Security Researcher and Bug Bounty Hunter for fun and profit.</p><blockquote>All sensitive data is blurred due to privacy reasons.</blockquote><h3>Target Overview</h3><p>Target Overview is not relevant to this bug, as it was discovered in a common functionality known as the “Forgot Password” page.</p><h3>Now Main Story</h3><p>I received a fresh private invite on YesWeHack, and luckily, at that time, I was learning Android pentesting while also looking for a new Bug Bounty program with an Android app in scope. As soon as I saw the invite, I checked the scope and found an Android app. I installed it in my emulator, bypassed root detection and SSL pinning, and directly started API/Dynamic testing.</p><p>After testing for basic API bugs, I was super tired then I opened my checklist in notion page</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*NGE-0stLXhrYdC_AKYL1pA.png" /></figure><p>and started with forgot password functionality.</p><h3>My hunting approach while testing any specific xyz functionality</h3><ol><li>clean burp history</li><li>Go to the desired functionality (e.g., signup, forgot password, invite user), run it through the proxy, and use it as a normal user.</li><li>analyse burp traffic<br>what Specific I do in “analyse burp traffic” <br>1. Checking how many API calls being made by that specific functionality.<br>2. What data being taken to server in request and what data being servered by the server in response to me ?<br>3. what and how many parameters being used ? can I do IDOR ? can I do SQLI ?, Can I do Mass assignment etc…………..</li><li>Then I look for any anomaly</li></ol><h3>Back To Story</h3><p>so while testing I entered my email and analyse the request and response in burpsuite</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*a51fTmHi_-Aydkfro0sqtw.png" /></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/812/1*-N1jjrpv76OHwtgqkxeJMw.png" /></figure><p>Wait what the password reset token doing in response ?<br>is it temporary token ?</p><p>what let me check password reset link i got on my mail</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/750/1*1fNyCfPzukcTCUoYZsm2Iw.png" /></figure><p>wait WTFFFFF both token are exact sameeee!!</p><p>Now, I just need to add the victim’s email in the request, extract the password reset token from the response, and insert it as the value of the pwrt parameter.</p><p>So now its time for $9999999999 bounty for my critical bug right ?</p><p>NOOOOOOOO!!!!!</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*a5mOQXclWs3WzHhj6TYCfA.png" /></figure><p>After a month of continuous discussions, they finally sent me a message stating that since the attacker needs to bypass root and SSL pinning, the attack complexity is high. Therefore, they categorized the bug as <em>High</em> instead of <em>Critical</em> with a payout of only $1000. However, due to my patience and the live session I provided (they asked me to demonstrate the exploitation on Google Meet), they decided to give me as $400 bonus.</p><h3>Learn Android Bug Bounty</h3><p>you can always refer to my gitbook where i mentioned tone of free resources there is no perfect roadmap so start reading articles and watching video from this list</p><p><a href="https://oreobiscuit.gitbook.io/introduction/learn-android-bug-bounty/video-tutorials">Video Tutorials | Biscuit&#39;s Bug Bounty Playbook</a></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/279/0*_mpATAEUBmrKxOpP" /></figure><h3>Connect with me</h3><p>LinkedIn: <a href="https://www.linkedin.com/in/raunak-gupta-772408255/">https://www.linkedin.com/in/raunak-gupta-772408255/</a><br>My Discord server: <a href="https://discord.gg/8SSx5Ma9ve">https://discord.gg/8SSx5Ma9ve</a><br>My YouTube Channel: <a href="https://www.youtube.com/@BiscuitSecurity/featured">https://www.youtube.com/@BiscuitSecurity/featured</a></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=07955ff2ba57" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Account Verification Bypass through JWT Misuse & CWE-347]]></title>
            <link>https://medium.com/@RaunakGupta1922/account-verification-bypass-through-jwt-misuse-cwe-398-d302276b80bf?source=rss-16e896712413------2</link>
            <guid isPermaLink="false">https://medium.com/p/d302276b80bf</guid>
            <category><![CDATA[programming]]></category>
            <category><![CDATA[cybersecurity]]></category>
            <category><![CDATA[coding]]></category>
            <category><![CDATA[bug-bounty]]></category>
            <dc:creator><![CDATA[Raunak Gupta Aka B1scuit]]></dc:creator>
            <pubDate>Mon, 25 Aug 2025 02:33:32 GMT</pubDate>
            <atom:updated>2025-08-25T05:47:20.626Z</atom:updated>
            <content:encoded><![CDATA[<h3>My Introduction</h3><p>Hiyya, I am Raunak Gupta, a Security Researcher and Bug Bounty Hunter for fun and profit.</p><blockquote>All sensitive data is blurred due to privacy reasons.</blockquote><h3>Target Overview</h3><p>Redacted is a platform that provides blog articles, tutorials, and resources for developers. Users can create accounts to interact with content, such as posting comments. To maintain authenticity, the platform requires users to verify their email before gaining full access to certain features.</p><h3>Now Main Story</h3><p>While testing the platform, I noticed that unverified users couldn’t post comments and were asked to verify their email first.</p><p>I decided to analyze the <strong>JWT tokens</strong> issued during registration.</p><ul><li>The unverified account’s JWT had a few extra claims compared to the verified one.</li></ul><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*gFqGiyI2FE55emXI4u71Pw.png" /></figure><ul><li>After clicking the official verification link, I noticed its structure:</li></ul><pre>https://example.com/auth/verify-email/&lt;JWT_TOKEN&gt;</pre><p>This gave me an idea: what if the verification endpoint accepted <em>any</em> valid session JWT?</p><p>So, I created a new account, intercepted an authenticated request (like a page refresh), copied the <strong>session JWT</strong>, and pasted it into the verification URL:</p><pre>https://example.com/auth/verify-email/&lt;SESSION_JWT&gt;</pre><p>Boom, the account got verified instantly, without ever needing to open the verification email.</p><p>This completely bypassed the intended email ownership check.</p><p>I will add poc video link as soon as bug will fixed</p><h3>Connect with me</h3><p>LinkedIn: <a href="https://www.linkedin.com/in/raunak-gupta-772408255/">https://www.linkedin.com/in/raunak-gupta-772408255/</a><br>My Discord server: <a href="https://discord.gg/8SSx5Ma9ve">https://discord.gg/8SSx5Ma9ve</a><br>My YouTube Channel: <a href="https://www.youtube.com/@BiscuitSecurity/featured">https://www.youtube.com/@BiscuitSecurity/featured</a></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=d302276b80bf" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Unauthenticated OTP Spam via Multi-Endpoint Rate Limit Bypass]]></title>
            <link>https://medium.com/@RaunakGupta1922/unauthenticated-otp-spam-via-multi-endpoint-rate-limit-bypass-577027c197c0?source=rss-16e896712413------2</link>
            <guid isPermaLink="false">https://medium.com/p/577027c197c0</guid>
            <category><![CDATA[programming]]></category>
            <category><![CDATA[cybersecurity]]></category>
            <category><![CDATA[bug-bounty]]></category>
            <category><![CDATA[ethical-hacking]]></category>
            <category><![CDATA[coding]]></category>
            <dc:creator><![CDATA[Raunak Gupta Aka B1scuit]]></dc:creator>
            <pubDate>Sun, 24 Aug 2025 02:33:33 GMT</pubDate>
            <atom:updated>2025-08-25T06:31:04.758Z</atom:updated>
            <content:encoded><![CDATA[<h3>My Introduction</h3><p>Hiyya I am Raunak Gupta, a Security Researcher and Bug Bounty Hunter for fun and profit.</p><blockquote><em>All The Sensitive Data is blurred Due To Privacy Reason</em></blockquote><h3>Target Overview</h3><p>The target was known to me for a very long time, and I tested every domain and app in scope.<br> After testing the whole scope, I noticed a pattern: for each of their products, I needed to create a separate account using the same email, as there was no single unified account across all their products.<br> The main point is that all the endpoints which send OTPs or any kind of emails are protected with rate limiting, but not securely enough they allow sending around 10 emails to the inbox before applying rate limits. So, what I did was gather all the endpoints and note them on a single Notion page.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/571/1*NLei-EDXBvVLN_VYiacIMA.png" /></figure><p>On that page, I only mentioned 3 endpoints, but in reality, there were 5 endpoints without any authentication or cookies. I created a bash script that takes the victim’s mobile number and sends OTPs from each endpoint until the rate limit is hit. Since each endpoint allows around 10–12 OTPs, I was able to send about 50 OTPs in total by leveraging all endpoints, effectively allowing me to spam the victim.</p><p>For this bug they paid me like 15k INR which is roughly 170 dollar for p4 level bug I think its totally fare amount</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*eI2c4nm2w4sugUNnXy9PcA.png" /></figure><h3>Quick Update After Posting This Writup</h3><p>After a long conversation with my fellow hunter friends, I realized this bug is generally not accepted in bug bounty programs, and I was a bit lucky to get a bounty for it. So, kindly don’t report the same issue in other programs, as you might not be lucky enough to get a bounty for such a minor bug.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/681/1*lE2iz3ipTT4idmJw3r9QtA.png" /></figure><h3>Connect with me</h3><p>LinkedIn: <a href="https://www.linkedin.com/in/raunak-gupta-772408255/">https://www.linkedin.com/in/raunak-gupta-772408255/</a><br>My Discord server: <a href="https://discord.gg/8SSx5Ma9ve">https://discord.gg/8SSx5Ma9ve</a><br>My YouTube Channel: <a href="https://www.youtube.com/@BiscuitSecurity/featured">https://www.youtube.com/@BiscuitSecurity/featured</a></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=577027c197c0" width="1" height="1" alt="">]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Unlimited Trials: Exploiting Email Alias Normalization in Redacted.com]]></title>
            <link>https://osintteam.blog/unlimited-trials-exploiting-email-alias-normalization-in-redacted-com-c77cc24dc09d?source=rss-16e896712413------2</link>
            <guid isPermaLink="false">https://medium.com/p/c77cc24dc09d</guid>
            <category><![CDATA[bug-bounty]]></category>
            <category><![CDATA[hacking]]></category>
            <category><![CDATA[cybersecurity]]></category>
            <category><![CDATA[coding]]></category>
            <category><![CDATA[programming]]></category>
            <dc:creator><![CDATA[Raunak Gupta Aka B1scuit]]></dc:creator>
            <pubDate>Sat, 23 Aug 2025 02:31:31 GMT</pubDate>
            <atom:updated>2025-08-23T20:25:26.960Z</atom:updated>
            <content:encoded><![CDATA[<h3>My Introduction</h3><p>Hiyya I am Raunak Gupta, a Security Researcher and Bug Bounty Hunter for fun and profit.</p><blockquote><em>All The Sensitive Data is blurred Due To Privacy Reason</em></blockquote><h3>Target Overview</h3><p>Redacted.com is a cloud-based cryptocurrency trading bot platform that automates trades using technical indicators, signals, and strategies.</p><h3>Context Behind Email Alias Normalization</h3><p>In bug bounty, <strong>email alias normalization</strong> is important because many providers like Gmail treat addresses with dots (r.andom@gmail.com = random@gmail.com) or plus tags (random+1@gmail.com) as the same account. If a system fails to normalize these, attackers can bypass restrictions such as <strong>free trial limits, one-account-per-user rules, or rate limits</strong>. This leads to abuse, revenue loss, and broken business logic, making it a valuable finding for bounty hunters.</p><h3>Now Bug Bounty Story</h3><p>While testing, I was frustrated by the 3-day trial limit since I had to create a new account each time. Then I wondered if I could manipulate my email so the system would treat it as a different address, while still receiving all messages in the same inbox. Gmail makes this possible through <strong>email aliases</strong>, which are variations of the same address that still deliver to one inbox. For example:<br>Random@gmail.com<br>ra.ndom@gmail.com<br>random+test@gmail.com<br>random@googlemail.com</p><p>All go to the same Gmail account. Attackers often exploit this in apps that don’t normalize aliases, to create multiple accounts or bypass restrictions.</p><p>So now I can use the same email with aliasing to get unlimited trials. There is no screenshot because there’s really nothing to show it’s just a technical writeup.</p><h3>Note</h3><p>After publishing this writeup, I received multiple messages saying it was just a P5-level bug. I realized the writeup wasn’t really valuable or informative for the community</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/598/1*74aOj6VzClIL8aCLrig2DQ.png" /></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/599/1*T5s7dEuL6hBSInYTo27Y7w.png" /></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/493/1*f9iisgrzrFmnoJyGZSCZ8g.png" /></figure><h3>Connect with me</h3><p>LinkedIn: <a href="https://www.linkedin.com/in/raunak-gupta-772408255/">https://www.linkedin.com/in/raunak-gupta-772408255/</a><br>My Discord server: <a href="https://discord.gg/8SSx5Ma9ve">https://discord.gg/8SSx5Ma9ve</a><br>My YouTube Channel: <a href="https://www.youtube.com/@BiscuitSecurity/featured">https://www.youtube.com/@BiscuitSecurity/featured</a></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=c77cc24dc09d" width="1" height="1" alt=""><hr><p><a href="https://osintteam.blog/unlimited-trials-exploiting-email-alias-normalization-in-redacted-com-c77cc24dc09d">Unlimited Trials: Exploiting Email Alias Normalization in Redacted.com</a> was originally published in <a href="https://osintteam.blog">OSINT Team</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
    </channel>
</rss>