<?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 Pratik Dabhi on Medium]]></title>
        <description><![CDATA[Stories by Pratik Dabhi on Medium]]></description>
        <link>https://medium.com/@impratikdabhi?source=rss-189032d88f5e------2</link>
        <image>
            <url>https://cdn-images-1.medium.com/fit/c/150/150/1*sBeTVEEsL1ZTro685Al2iw.png</url>
            <title>Stories by Pratik Dabhi on Medium</title>
            <link>https://medium.com/@impratikdabhi?source=rss-189032d88f5e------2</link>
        </image>
        <generator>Medium</generator>
        <lastBuildDate>Mon, 25 May 2026 22:39:21 GMT</lastBuildDate>
        <atom:link href="https://medium.com/@impratikdabhi/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[From Open Redirect to Internal Access: My SSRF Exploit Story]]></title>
            <link>https://infosecwriteups.com/from-open-redirect-to-internal-access-my-ssrf-exploit-story-10a736962f98?source=rss-189032d88f5e------2</link>
            <guid isPermaLink="false">https://medium.com/p/10a736962f98</guid>
            <category><![CDATA[bugcrowd]]></category>
            <category><![CDATA[bug-bounty]]></category>
            <category><![CDATA[hacking]]></category>
            <category><![CDATA[hackerone]]></category>
            <dc:creator><![CDATA[Pratik Dabhi]]></dc:creator>
            <pubDate>Sun, 06 Jul 2025 06:24:56 GMT</pubDate>
            <atom:updated>2025-07-06T06:24:56.407Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*iCX_L2wCdi7eGGh_7ls2UQ.jpeg" /></figure><p>Hello there,</p><p>I am Pratik Dabhi, a Bug Bounty Hunter and a Penetration Tester. Many of you may already know me, but for those who aren’t, please visit my website to learn more about me.</p><p>In this blog, I will share an interesting bug I discovered last year on a multinational corporation’s website. The bug revolves around how I bypassed SSRF protections by chaining it with an open redirect vulnerability on a third-party domain. As in my recent blog posts, I’ve been detailing the bugs found during the reconnaissance phase. Similarly, in this case, I uncovered this bug during my reconnaissance phase.</p><h3>What is SSRF?</h3><p>Server-Side Request Forgery (SSRF) is a vulnerability where an attacker can trick a server into sending HTTP requests to internal or external systems that the attacker should not normally be able to reach.</p><p>This can lead to:</p><ul><li>Accessing internal-only services (e.g. databases, admin panels)</li><li>Scanning internal networks and discovering open ports</li><li>Retrieving sensitive data from cloud metadata services</li><li>Bypassing IP restrictions or firewalls</li></ul><p>Companies often try to prevent SSRF by blocking requests to certain hostnames like localhost or private IP ranges. But as you’ll see, creative chaining of bugs can sometimes bypass these defenses.</p><h3>Bug Summary</h3><p>The target had a service running at:</p><pre>https://thumbnail.example.com/?url=&lt;external_url&gt;</pre><p>This service fetched images from external URLs to generate thumbnails displayed on their platform.</p><p>They had protection mechanisms in place that blocked direct requests to internal resources. For example, if I tried:</p><pre>https://thumbnail.example.com/?url=http://localhost:443</pre><p>…the server responded with an error message like:</p><p><em>Error: localhost is prohibited.</em>So far, everything seemed secure.</p><h3>Discovery of the Open Redirect</h3><p>While performing reconnaissance, I came across a third-party domain blip.bizrate.com that had an interesting endpoint:</p><pre>https://blip.example.com/flip?u=https://evil.com</pre><p>When I opened this URL in my browser, it <strong>redirected directly to </strong><a href="https://evil.com/"><strong>https://evil.com</strong></a> without any validation or restrictions.</p><p>So, it was confirmed that the blip.example.com endpoint was vulnerable to an <strong>open redirect</strong> via the u parameter.</p><h3>Chaining the Open Redirect into SSRF</h3><p>Here’s where the fun began. I thought:</p><p><strong><em>If I can’t request localhost directly, what if I redirect through a trusted domain?</em></strong></p><p>So, instead of directly hitting localhost, I crafted this payload:</p><pre>https://thumbnail.example.com/?url=https://blip.example.com/flip?u=http://localhost:80</pre><p>Here’s what happened behind the scenes:</p><p>1. thumbnail.example.com fetched the initial URL: <br> <a href="https://blip.bizrate.com/flip?u=http://localhost:80`">https://blip.example.com/flip?u=http://localhost:80</a></p><p>2. The server at blip.bizrate.com issued an HTTP 302 redirect to: <br> <a href="http://localhost:80`">http://localhost:80</a>.</p><p>3. thumbnail.example.com followed the redirect and attempted to connect to <a href="http://localhost:80`">http://localhost:80</a>.</p><p><strong>And that’s how the SSRF was triggered despite protections.</strong></p><h3>Confirming the SSRF</h3><p>When I tested my crafted URL, the server responded with:</p><pre>dial tcp 127.0.0.1:80: connect: connection refused</pre><p>This clearly showed that the server <strong>attempted to connect to localhost</strong>. The connection was refused because nothing was listening on that port during my test.</p><p>To scan other ports, I simply changed the port number in my payload:</p><pre>https://thumbnail.example.com/?url=https://blip.example.com/flip?u=http://localhost:443</pre><p>If a service was running on that port, I’d receive either a different error message or possibly even a thumbnail response with sensitive data.</p><p>Through this method, I could perform internal port scanning and potentially interact with services not exposed publicly.</p><h3>Why This Vulnerability Happened</h3><p>The vulnerability existed because:</p><ul><li>The developers correctly blocked direct requests to internal hosts.</li><li>However, they <strong>trusted external domains</strong> and followed redirects blindly.</li></ul><p>The open redirect allowed me to start with a trusted external domain and end up at an internal resource — bypassing the protection logic entirely.</p><h3>Impact</h3><p><strong>Severity:</strong> Medium</p><p>With this SSRF vulnerability, an attacker could:</p><ul><li>Scan internal services and discover open ports.</li><li>Access internal endpoints like admin panels or databases.</li><li>Attempt to exploit other vulnerabilities on internal services.</li><li>Potentially access cloud metadata services (e.g. AWS, GCP, Azure) which could leak sensitive credentials.</li></ul><h3>Mitigation</h3><p>Here’s how such issues can be fixed:</p><p>✅ <strong>Strict Allowlisting</strong><br> Limit the thumbnail service to only fetch images from trusted domains (e.g. *.example.com).</p><p>✅ <strong>Validate Final Destination</strong><br> Check the <strong>final resolved IP</strong> of the URL after following redirects. Block requests to internal IP ranges or localhost.</p><p>✅ <strong>Avoid Open Redirects</strong><br> Third-party services like blip.example.com should fix open redirects by validating allowed destinations or implementing strict allowlists.</p><h4>With this vulnerability, I was able to earn good money, I will show you some of my reports.</h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/780/1*Qdq84IUegtZNanQ2lSFnTw.png" /></figure><p>Thanks, everyone for reading:)</p><p>Happy Hacking ;)</p><p>Support me if you like my work!<a href="https://www.buymeacoffee.com/impratikdabhi"> Buy me a coffee</a> and Follow me on <a href="http://twitter.com/impratikdabhi">Twitter</a></p><p><a href="https://www.buymeacoffee.com/impratikdabhi?source=post_page-----c6d17a0282ac--------------------------------">impratikdabhi</a></p><p>Website:- <a href="https://www.pratikdabhi.com/">https://www.pratikdabhi.com/</a></p><p>Instagram:- <a href="https://www.instagram.com/i.m.pratikdabhi/?hl=en">https://www.instagram.com/i.m.pratikdabhi</a></p><p>Twitter:- <a href="https://twitter.com/impratikdabhi?lang=en">https://twitter.com/impratikdabhi</a></p><p>Youtube:-<a href="https://www.youtube.com/impratikdabhi">https://www.youtube.com/impratikdabhi</a></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=10a736962f98" width="1" height="1" alt=""><hr><p><a href="https://infosecwriteups.com/from-open-redirect-to-internal-access-my-ssrf-exploit-story-10a736962f98">From Open Redirect to Internal Access: My SSRF Exploit Story</a> was originally published in <a href="https://infosecwriteups.com">InfoSec Write-ups</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[How I Hacked Accounts Using Host Header Injection in Password Reset Link — $$$$]]></title>
            <link>https://infosecwriteups.com/how-i-hacked-accounts-using-host-header-injection-in-password-reset-link-2774431eed89?source=rss-189032d88f5e------2</link>
            <guid isPermaLink="false">https://medium.com/p/2774431eed89</guid>
            <category><![CDATA[pratikdabhi]]></category>
            <category><![CDATA[bug-bounty]]></category>
            <category><![CDATA[pentesting]]></category>
            <category><![CDATA[bugcrow]]></category>
            <category><![CDATA[hackerone]]></category>
            <dc:creator><![CDATA[Pratik Dabhi]]></dc:creator>
            <pubDate>Wed, 18 Jun 2025 06:21:55 GMT</pubDate>
            <atom:updated>2026-05-08T07:26:33.506Z</atom:updated>
            <content:encoded><![CDATA[<h3>How I Hacked Accounts Using Host Header Injection in Password Reset Link — $$$$</h3><p><strong>Hello there,</strong></p><p>I am Pratik Dabhi, a Bug Bounty Hunter and a Penetration Tester. Many of you may already know me, but for those who aren’t, please visit my website to learn more about me.</p><p>In today’s blog, I’m going to share an interesting bug I found last year that allowed me to <strong>take over user accounts by manipulating the password reset link</strong>. This vulnerability is called <strong>Password Reset Poisoning via Host Header Injection</strong>.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*49nDlP0NJjHYkLnKMHF7jg.jpeg" /></figure><h3>🌟 What is Password Reset Poisoning?</h3><p>Whenever you forget your password, websites typically offer you a “Forgot Password” feature. When you use this feature, the website sends you a <strong>password reset link</strong> in your email. This link includes a <strong>unique token</strong> that allows you to reset your password.</p><p>However, the <strong>reset link</strong> itself is created by the server and typically includes the <strong>domain name</strong> (like https://example.com/reset?token=abc123). But if the application relies on <strong>user-supplied headers</strong> (like the Host header) to build this link, it can be manipulated.</p><p>This is known as <strong>Password Reset Poisoning</strong>. If an attacker can control the host in the reset link, they can hijack the reset link and <strong>take over other users’ accounts</strong>.</p><h3>🕵️‍♂️ My Recon Process</h3><p>Like every bug bounty hunter, I start with <strong>reconnaissance</strong>. Recon is the most important phase because it helps you understand how the target application works and where potential vulnerabilities may exist.</p><p>Here’s my approach:</p><p>✅ <strong>Subdomain Enumeration</strong><br> I used tools like <strong>Subfinder</strong> and <strong>Assetfinder</strong> to find all the subdomains of the target domain:<br> 👉 target.com<br> This helps to map out the full attack surface.</p><p>✅ <strong>Wayback Machine URLs</strong><br> I ran <strong>waybackurls</strong> to discover historical URLs. Sometimes older endpoints can reveal interesting behavior or vulnerabilities.</p><p>✅ <strong>Probing with httpx</strong><br> I used <strong>httpx</strong> to check if the discovered subdomains were alive and what technologies they used.</p><p>✅ <strong>Manual Browsing</strong><br> Finally, I always manually browse the site. Manual exploration often leads to interesting insights!</p><h3>🪝 How I Found the Vulnerability</h3><p>During my recon, I came across the <strong>account subdomain</strong>:<br> 👉 <a href="https://account.liwuxiao.com">https://account.example.com</a></p><p>On this subdomain, I found a <strong>“Forgot Password”</strong> page:<br> 👉 <a href="https://account.liwuxiao.com/en/cant-login">https://account.example.com/en/cant-login</a></p><p>This page allows users to enter their email address to receive a password reset link.</p><h3>🔍 Testing the “Forgot Password” Feature</h3><p>I wanted to see <strong>how</strong> the password reset link was created and if I could control any part of it.</p><p>Here’s what I did:</p><p>1️⃣ <strong>Opened Burp Suite</strong> to capture the request.<br> 2️⃣ <strong>Entered a test email address</strong> on the “Forgot Password” page.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*HVB9K9ZGK8MR8Oy0U1cnVw.png" /></figure><p>3️⃣ <strong>Clicked the submit button</strong> to trigger the password reset process.</p><p>Burp Suite captured the <strong>POST request</strong>:</p><pre>POST /en/cant-login HTTP/1.1<br>Host: account.example.com<br>Content-Type: application/x-www-form-urlencoded<br>Content-Length: 46</pre><pre>email=test@example.com&amp;action=forgot_password</pre><h3>💡 My Key Idea: Host Header Injection</h3><p>I suspected the server might be using the Host header to build the password reset link.</p><p><strong>Why?</strong><br> Because if the application is not validating the Host header, I could change it to <strong>any domain I want</strong>. This means the password reset link sent to the user would include the domain I control instead of the real site!</p><h3>⚙️ Reproducing the Issue</h3><p>To confirm my suspicion, I decided to <strong>manipulate the Host header</strong> using Burp Suite.</p><p>Here’s how:</p><p>1️⃣ In Burp Suite, I <strong>sent the captured request to the Repeater</strong>.<br> 2️⃣ In the Repeater tab, I <strong>modified the Host header</strong> to a different domain:</p><pre>Host: bing.com</pre><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*vp8iMg5FXOaexZZRtTys3w.png" /></figure><p>3️⃣ I sent the modified request.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*k6_WQH-U_nzMk0Vntmfq7g.png" /></figure><h3>🔥 The Response: It Worked!</h3><p>Shortly after sending the request, I checked my email. The password reset email arrived. But here’s the surprise: <strong>the reset link</strong> pointed to https://bing.com instead of <a href="https://account.liwuxiao.com!">https://account.example.com!</a></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*ZVhbrHxBsZcHFbosxZz9TA.png" /></figure><p>Here’s what the reset link looked like:</p><p>👉 <a href="https://bing.com/reset?token=abcdef123456">https://bing.com/reset?token=abcdef123456</a></p><p>This proved the application was using the <strong>Host header</strong> in the request to build the password reset link — and it was <strong>not validating it at all</strong>.</p><p>Impact</p><p>Attackers can fully take over a user’s account by capturing and using the poisoned password reset link. This allows them to change the victim’s password and lock them out of their own account.</p><p>After taking over an account, the attacker can access any sensitive or confidential information stored in that account, such as personal details, financial data, or internal company information.</p><p>If attackers exploit this vulnerability, it can lead to a loss of trust from users, as well as significant damage to the company’s reputation, which can affect future business and customer loyalty.</p><h3>Mitigation</h3><p>Applications should not rely on the Host header from the user request when creating password reset links. Instead, they should use a secure, server-side configuration like SERVER_NAME to ensure the correct and trusted domain is always used.</p><p>If the Host header is absolutely necessary for some functionality, it should be checked against a list of trusted and known domains to ensure it has not been tampered with.</p><p>Conduct regular security testing, including penetration testing and code reviews, to identify similar vulnerabilities early and fix them before they can be exploited.</p><h4>With this vulnerability, I was able to earn good money, I will show you some of my reports.</h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*bp-HXgmuRvLbDkYsdfc9Cg.png" /></figure><p>Thanks, everyone for reading:)</p><p>Happy Hacking ;)</p><p>Support me if you like my work!<a href="https://www.buymeacoffee.com/impratikdabhi"> Buy me a coffee</a> and Follow me on <a href="http://twitter.com/impratikdabhi">Twitter</a></p><p><a href="https://www.buymeacoffee.com/impratikdabhi?source=post_page-----c6d17a0282ac--------------------------------">impratikdabhi</a></p><p>Website:- <a href="https://www.pratikdabhi.com/">https://www.pratikdabhi.com/</a></p><p>Instagram:- <a href="https://www.instagram.com/i.m.pratikdabhi/?hl=en">https://www.instagram.com/i.m.pratikdabhi</a></p><p>Twitter:- <a href="https://twitter.com/impratikdabhi?lang=en">https://twitter.com/impratikdabhi</a></p><p>Youtube:-<a href="https://www.youtube.com/impratikdabhi">https://www.youtube.com/impratikdabhi</a></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=2774431eed89" width="1" height="1" alt=""><hr><p><a href="https://infosecwriteups.com/how-i-hacked-accounts-using-host-header-injection-in-password-reset-link-2774431eed89">How I Hacked Accounts Using Host Header Injection in Password Reset Link — $$$$</a> was originally published in <a href="https://infosecwriteups.com">InfoSec Write-ups</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Unauthenticated Kibana Dashboard Access — A Serious Security Risk You Can’t Ignore]]></title>
            <link>https://infosecwriteups.com/unauthenticated-kibana-dashboard-access-a-serious-security-risk-you-cant-ignore-002d4d0e24b9?source=rss-189032d88f5e------2</link>
            <guid isPermaLink="false">https://medium.com/p/002d4d0e24b9</guid>
            <category><![CDATA[bugcrowd]]></category>
            <category><![CDATA[bug-bounty]]></category>
            <category><![CDATA[hackerone]]></category>
            <dc:creator><![CDATA[Pratik Dabhi]]></dc:creator>
            <pubDate>Sat, 31 May 2025 12:35:16 GMT</pubDate>
            <atom:updated>2025-06-03T12:51:31.071Z</atom:updated>
            <content:encoded><![CDATA[<h3>Unauthenticated Kibana Dashboard Access — A Serious Security Risk You Can’t Ignore</h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*_wuBBnL59ykfhbMwIIwFFg.png" /></figure><p>Hello there,</p><p>I am Pratik Dabhi, a Bug Bounty Hunter and Penetration Tester. Many of you might already know me, but if you’re new here, please visit my website to learn more about me and my work.</p><p>In this blog, I want to share an important vulnerability I discovered last year on a multinational corporation’s infrastructure — <strong>unauthenticated access to their Kibana dashboard</strong>. I found this bug during the reconnaissance phase of my testing, which highlights how critical thorough recon is in finding high-impact vulnerabilities.</p><h3>Shodan &amp; Reconnaissance: Finding Exposed Kibana Dashboards</h3><p>Before diving into the vulnerability, let me share how I use reconnaissance tools to find such exposed services.</p><p>Kibana dashboards are often deployed internally but sometimes mistakenly exposed to the internet. To identify these, I rely heavily on <strong>Shodan</strong>, the search engine for internet-connected devices.</p><p>Using this Shodan query, I searched for publicly accessible Kibana instances:</p><pre>product:&quot;Elastic Kibana&quot;</pre><p>This query reveals numerous Kibana dashboards exposed without proper protection.</p><p>Additionally, I use Google dorks like:</p><pre>intitle:&quot;Kibana&quot; inurl:&quot;/app/kibana&quot;</pre><p>to identify publicly accessible Kibana pages indexed by Google.</p><p>If you are a security researcher or a defender, I highly recommend running these queries on your network to detect accidental exposure of Kibana dashboards and take action.</p><h3>Vulnerability Finding: Unauthenticated Access to Kibana Dashboard</h3><h3>What is Kibana?</h3><p>Kibana is a powerful open-source analytics and visualization platform designed to work with Elasticsearch. Organizations use it to monitor, analyze, and visualize data stored in Elasticsearch indices, which often include logs, metrics, and sensitive operational data.</p><h3>The Bug</h3><p>During my recon, I discovered a Kibana dashboard at the URL:</p><pre>https://kibana.example.net/app/management/data/index_management/indices</pre><p>What shocked me was that <strong>no authentication was required</strong> to access this dashboard. Simply visiting the URL gave me full admin access.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*FiuBU9SrSMJIg6iBs-769A.png" /></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*loWG5OgSnrVCyGrjV8mrEQ.png" /></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*nKWKUIYnpBHPqZ9QTwaseg.png" /></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*SxE8omHlAK-eiWPnf9CpTw.png" /></figure><h3>How I Verified It</h3><ul><li>I tried accessing multiple Kibana endpoints and confirmed they all allowed unauthenticated access.</li><li>I documented this with screenshots and videos showing full access to sensitive index management functions.</li><li>This means anyone on the internet could act as an admin, view sensitive data, and modify or delete indices.</li></ul><h3>Impact</h3><ul><li>Full administrative control without login.</li><li>Exposure of sensitive data and system analytics.</li><li>Potential for attackers to manipulate or disrupt services.</li><li>Compliance violations due to data exposure.</li></ul><h3>Fix and Mitigation</h3><p>To secure Kibana:</p><ul><li>Enable authentication mechanisms like Basic Auth, LDAP, or SAML.</li><li>Configure multiple providers with unique names and prioritized order in kibana.yml.</li><li>Example:</li></ul><pre>xpack.security.authc.providers:<br>  basic.basic1:<br>    order: 0<br>  saml.saml1:<br>    order: 1</pre><ul><li>Restrict Kibana access through firewalls or VPN.</li><li>Keep Elastic Stack components updated with security patches.</li></ul><h3>With this vulnerability, I was able to earn good money, I will show you some of my reports.</h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*gMGfqAYgSjQxGsWchoCzug.png" /></figure><p>Thanks, everyone for reading:)</p><p>Happy Hacking ;)</p><p>Support me if you like my work!<a href="https://www.buymeacoffee.com/impratikdabhi"> Buy me a coffee</a> and Follow me on <a href="http://twitter.com/impratikdabhi">Twitter</a></p><p><a href="https://buymeacoffee.com/impratikdabhi">impratikdabhi</a></p><p>Website:- <a href="https://www.pratikdabhi.com/">https://www.pratikdabhi.com/</a></p><p>Instagram:- <a href="https://www.instagram.com/i.m.pratikdabhi/?hl=en">https://www.instagram.com/i.m.pratikdabhi</a></p><p>Twitter:- <a href="https://twitter.com/impratikdabhi?lang=en">https://twitter.com/impratikdabhi</a></p><p>Youtube:-<a href="https://www.youtube.com/impratikdabhi">https://www.youtube.com/impratikdabhi</a></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=002d4d0e24b9" width="1" height="1" alt=""><hr><p><a href="https://infosecwriteups.com/unauthenticated-kibana-dashboard-access-a-serious-security-risk-you-cant-ignore-002d4d0e24b9">Unauthenticated Kibana Dashboard Access — A Serious Security Risk You Can’t Ignore</a> was originally published in <a href="https://infosecwriteups.com">InfoSec Write-ups</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[How I Discovered a Web Cache Deception Attack Exposing PII — A Real-World Case Study]]></title>
            <description><![CDATA[<div class="medium-feed-item"><p class="medium-feed-image"><a href="https://infosecwriteups.com/how-i-discovered-a-web-cache-deception-attack-exposing-pii-a-real-world-case-study-49aabe4258a3?source=rss-189032d88f5e------2"><img src="https://cdn-images-1.medium.com/max/1536/1*3SopBbmFEPoKVhQIGDC8lQ.png" width="1536"></a></p><p class="medium-feed-snippet">Hello there,</p><p class="medium-feed-link"><a href="https://infosecwriteups.com/how-i-discovered-a-web-cache-deception-attack-exposing-pii-a-real-world-case-study-49aabe4258a3?source=rss-189032d88f5e------2">Continue reading on InfoSec Write-ups »</a></p></div>]]></description>
            <link>https://infosecwriteups.com/how-i-discovered-a-web-cache-deception-attack-exposing-pii-a-real-world-case-study-49aabe4258a3?source=rss-189032d88f5e------2</link>
            <guid isPermaLink="false">https://medium.com/p/49aabe4258a3</guid>
            <dc:creator><![CDATA[Pratik Dabhi]]></dc:creator>
            <pubDate>Sat, 31 May 2025 12:35:02 GMT</pubDate>
            <atom:updated>2025-05-31T12:35:02.003Z</atom:updated>
        </item>
        <item>
            <title><![CDATA[Bug Bounty and Penetration Testing Explained: What’s the Difference]]></title>
            <description><![CDATA[<div class="medium-feed-item"><p class="medium-feed-image"><a href="https://infosecwriteups.com/bug-bounty-and-penetration-testing-explained-whats-the-difference-41384e187c9a?source=rss-189032d88f5e------2"><img src="https://cdn-images-1.medium.com/max/1536/1*teh2ri_Z5lYV2ULRpLkTDw.png" width="1536"></a></p><p class="medium-feed-snippet">Hello there,</p><p class="medium-feed-link"><a href="https://infosecwriteups.com/bug-bounty-and-penetration-testing-explained-whats-the-difference-41384e187c9a?source=rss-189032d88f5e------2">Continue reading on InfoSec Write-ups »</a></p></div>]]></description>
            <link>https://infosecwriteups.com/bug-bounty-and-penetration-testing-explained-whats-the-difference-41384e187c9a?source=rss-189032d88f5e------2</link>
            <guid isPermaLink="false">https://medium.com/p/41384e187c9a</guid>
            <category><![CDATA[bugcrowd]]></category>
            <category><![CDATA[hackerone]]></category>
            <category><![CDATA[hacking]]></category>
            <category><![CDATA[yeswehack]]></category>
            <category><![CDATA[bug-bounty]]></category>
            <dc:creator><![CDATA[Pratik Dabhi]]></dc:creator>
            <pubDate>Thu, 29 May 2025 15:19:30 GMT</pubDate>
            <atom:updated>2025-05-31T12:35:08.110Z</atom:updated>
        </item>
        <item>
            <title><![CDATA[Exploiting the Unprotected: How I Gained Unauthorized Access to Redis]]></title>
            <description><![CDATA[<div class="medium-feed-item"><p class="medium-feed-image"><a href="https://medium.com/@impratikdabhi/exploiting-the-unprotected-how-i-gained-unauthorized-access-to-redis-5070eea7da35?source=rss-189032d88f5e------2"><img src="https://cdn-images-1.medium.com/max/1280/1*ikr4GRISmF9B4kBiaekVPA.jpeg" width="1280"></a></p><p class="medium-feed-snippet">Hello there,</p><p class="medium-feed-link"><a href="https://medium.com/@impratikdabhi/exploiting-the-unprotected-how-i-gained-unauthorized-access-to-redis-5070eea7da35?source=rss-189032d88f5e------2">Continue reading on Medium »</a></p></div>]]></description>
            <link>https://medium.com/@impratikdabhi/exploiting-the-unprotected-how-i-gained-unauthorized-access-to-redis-5070eea7da35?source=rss-189032d88f5e------2</link>
            <guid isPermaLink="false">https://medium.com/p/5070eea7da35</guid>
            <category><![CDATA[hacking]]></category>
            <category><![CDATA[hacking-tools]]></category>
            <category><![CDATA[bugcrowd]]></category>
            <category><![CDATA[hackerone]]></category>
            <category><![CDATA[bug-bounty]]></category>
            <dc:creator><![CDATA[Pratik Dabhi]]></dc:creator>
            <pubDate>Tue, 01 Oct 2024 09:21:14 GMT</pubDate>
            <atom:updated>2024-10-01T09:21:14.339Z</atom:updated>
        </item>
        <item>
            <title><![CDATA[Unlocking Cash: Easy P1 Bug in Grafana Dashboard with Default Credentials = €€€€]]></title>
            <link>https://infosecwriteups.com/unlocking-cash-easy-p1-bug-in-grafana-dashboard-with-default-credentials-fa36ddf271da?source=rss-189032d88f5e------2</link>
            <guid isPermaLink="false">https://medium.com/p/fa36ddf271da</guid>
            <category><![CDATA[hackerone]]></category>
            <category><![CDATA[bug-bounty]]></category>
            <category><![CDATA[bugcrowd]]></category>
            <dc:creator><![CDATA[Pratik Dabhi]]></dc:creator>
            <pubDate>Fri, 10 Nov 2023 18:16:25 GMT</pubDate>
            <atom:updated>2023-11-11T14:08:04.490Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*AS0p9sJLq1fKnlCKldzFwA.jpeg" /></figure><p>Hello there,</p><p>I am Pratik Dabhi, a Bug Bounty Hunter and a Penetration Tester. Many of you may already know me, but for those who aren’t, please visit my <a href="http://www.pratikdabhi.com/">website</a> to learn more about me.</p><p>In this blog, I will share an interesting bug I discovered last year on a multinational corporation’s website. The bug revolves around how I gained unauthorized access to the Grafana Dashboard. As in my recent blog posts, I’ve been detailing the bugs found during the reconnaissance phase. Similarly, in this case, I uncovered this bug during my reconnaissance phase.</p><p><strong>What is Grafana Dashboard?</strong></p><p>Grafana dashboards provide centralized, visually appealing views of data from various sources, enabling monitoring and analysis of metrics such as CPU usage, network traffic, and application performance. They are customizable, connect to diverse data sources, and support collaboration, fostering improved observability, productivity, and communication.</p><p><strong>Bug Summary</strong></p><p>Grafana, a popular data visualization tool, possesses default credentials for the admin account, allowing anyone to access the dashboard without the necessity of creating their own account. This presents a significant security risk, as individuals with access to the default credentials could gain unauthorized access to sensitive data and potentially compromise the system. Utilizing the default username and password, I successfully accessed the dashboard with admin privileges.</p><p>I initiated the process with the basics, collecting all the subdomains of the target using various tools like Subfinder and more.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/940/1*3cg6uT0eQ24jh0PXfjSX2w.png" /></figure><p>Then, I used <a href="https://github.com/tomnomnom/waybackurls">waybackurls</a> along with httpx to probe the URLs and retrieve the current status of the URLs.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/875/1*FGXKlYPebOgyg7t-V2PFYQ.png" /></figure><p>I found a few IPS in the URLS which were found by <a href="https://github.com/tomnomnom/waybackurls">waybackurls</a> so the IP looks something like this “hi.dd.en.ip” using “-td or -tech-detect” switch in “httpx” I found this IP has Grafana in it. So I tried checking for a few bugs on Grafana using “Nuclei” in the background along with that I was manually checking for the bugs and whenever I found that the particular IP was using some technology I always tried to log in with default credentials that’s my first approach.</p><p>So, I googled the default credentials of Grafana, which is “admin/admin”.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/841/1*VbEU3Fub5DQ7p-hfvYWv7A.png" /></figure><p>I tried the same and it was the easy guess and I was able to log in.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*iYx4AQBmDyEfXBO8nVjzkQ.jpeg" /></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*s1bM9NOWuAFWUjeaXfDqbw.jpeg" /></figure><p>Once I was inside the dashboard, I tried to change the password.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/940/1*8w6hHQZv-O1HuUM5Ne3MJA.png" /></figure><p>After changing the password, I found a few interesting information in it, which may help an attacker to further investigate the target application and exploit it accordingly.</p><p><strong>Impact -</strong>This can lead to sensitive information about the server’s analytics and other information on resource utilization.<br>An attacker can also generate an API key to pull the resources out of this platform to an attacker’s control domain.</p><p><strong>Mitigation</strong> -Default passwords in applications are like open doors for cybercriminals to enter and steal sensitive data. To mitigate the issue, one should change default passwords to strong and unique ones and enforce regular password rotation.</p><h4>With this vulnerability, I was able to earn good money, I will show you some of my reports.</h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*VFap6oAlrlXJi6JrVCoAxg.png" /></figure><p>Thanks, everyone for reading:)</p><p>Happy Hacking ;)</p><p>Support me if you like my work!<a href="https://www.buymeacoffee.com/impratikdabhi"> Buy me a coffee</a> and Follow me on <a href="http://twitter.com/impratikdabhi">Twitter</a></p><p><a href="https://www.buymeacoffee.com/impratikdabhi?source=post_page-----c6d17a0282ac--------------------------------">impratikdabhi</a></p><p>Website:- <a href="https://www.pratikdabhi.com/">https://www.pratikdabhi.com/</a></p><p>Instagram:- <a href="https://www.instagram.com/i.m.pratikdabhi/?hl=en">https://www.instagram.com/i.m.pratikdabhi</a></p><p>Twitter:- <a href="https://twitter.com/impratikdabhi?lang=en">https://twitter.com/impratikdabhi</a></p><p>Youtube:-<a href="https://www.youtube.com/impratikdabhi">https://www.youtube.com/impratikdabhi</a></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=fa36ddf271da" width="1" height="1" alt=""><hr><p><a href="https://infosecwriteups.com/unlocking-cash-easy-p1-bug-in-grafana-dashboard-with-default-credentials-fa36ddf271da">Unlocking Cash: Easy P1 Bug in Grafana Dashboard with Default Credentials = €€€€</a> was originally published in <a href="https://infosecwriteups.com">InfoSec Write-ups</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Hunting for Hidden Treasures: Unveiling the 403 Bypass Bug Bounty Adventure ️‍♂️]]></title>
            <link>https://infosecwriteups.com/hunting-for-hidden-treasures-unveiling-the-403-bypass-bug-bounty-adventure-%EF%B8%8F-%EF%B8%8F-c6d17a0282ac?source=rss-189032d88f5e------2</link>
            <guid isPermaLink="false">https://medium.com/p/c6d17a0282ac</guid>
            <category><![CDATA[bug-bounty-tips]]></category>
            <category><![CDATA[bug-bounty]]></category>
            <category><![CDATA[penetration-testing]]></category>
            <category><![CDATA[hackerone]]></category>
            <category><![CDATA[bugcrowd]]></category>
            <dc:creator><![CDATA[Pratik Dabhi]]></dc:creator>
            <pubDate>Sun, 15 Oct 2023 09:27:11 GMT</pubDate>
            <atom:updated>2025-06-03T13:02:47.553Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*zMOt04XfvbtwrTgMd0M_LA.jpeg" /></figure><p>Hello there,</p><p>I am Pratik Dabhi, a Bug Bounty Hunter and a Penetration Tester. Many of you may already know me, but for those who aren’t, please visit my <a href="http://www.pratikdabhi.com">website</a> to learn more about me.</p><p>So, in this blog, I wanted to share an interesting bug that I have found on an MNC (Multi-National Company) website. The story starts when I was doing the recon on my target, I found a few interesting subdomains are gave me 403 Errors. I thought why don’t try to fuzz and try to bypass the protection? So, I used the 4-Zero-3 Tool to bypass the security and then I found a few more interesting endpoints that helped to bypass the protection. Let’s get started.</p><p><strong>What is 403 Error?</strong></p><p>A 403 Forbidden error is an HTTP status code that means that the client was able to communicate with the server, but the server won’t let the client access what was requested. This can happen for a number of reasons, such as:</p><p>· The client does not have permission to access the requested resource.</p><p>· The requested resource does not exist.</p><p>· The resource is protected by a password that the client does not know.</p><p>· The server is configured to deny access to all clients.</p><p>403 Bypass is the act of circumventing a 403 Forbidden error and gaining access to a protected resource. There are a number of different ways to bypass a 403 error, but none of them are guaranteed to work. Some of the most common methods include:</p><p>· <strong>Path fuzzing:</strong> This involves trying to access the resource using different variations of the path. For example, if you are trying to access a resource at /admin/, you could try /admin/’,/admin%2e/, or/admin/.htaccess`.</p><p>· <strong>HTTP header fuzzing:</strong> This involves trying to access the resource using different HTTP headers. For example, you could try setting the Referrer header to a different website or setting the User-Agent header to a different web browser.</p><p>· <strong>Exploiting vulnerabilities in the server software:</strong> This is a more advanced method, and it can be very dangerous if you don’t know what you’re doing.</p><p>What is the 4-Zero-3 tool?</p><p>This tool has all the possible techniques to bypass the 403/401 Error. You can learn more about it from Github</p><p><a href="https://github.com/Dheerajmadhukar/4-ZERO-3">GitHub - Dheerajmadhukar/4-ZERO-3: 403/401 Bypass Methods + Bash Automation + Your Support ;)</a></p><p>I started with basics, collecting all the subdomains of the target using various tools like amass, sublister, and more.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/936/1*nHTcMQ8kaAXRN4StR9UErA.png" /></figure><p>I used waybackurls along with httpx to probe the URLs and retrieve the current status of the URLs.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/936/1*oteZDrmeNJjC542HYqLRWA.png" /></figure><p>I found <a href="https://staging.target.com/actuator/prometheus">https://staging.target.com/actuator/prometheus</a> is giving me a 403 error but the parent folder of the same is giving me [200 OK] status. As I have found a few bugs on the targets using “<em>spring boot</em>”, so, I was familiar with “<em>/actuator</em>” folders on websites but I was not aware of “<em>/prometheus</em>” like what it is and why it is used, So I use google to gather some information about it. If you don’t know let me brief you about it.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/936/1*opvUPJwN9tKUgWf037NY6Q.png" /></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/936/1*xoXbbJ6bQuhr_pH53t-BrQ.png" /></figure><p><strong>What is Actuator?</strong></p><p>Spring Boot Actuator is a sub-project of Spring Boot that provides production-ready features for monitoring and managing Spring Boot applications. It exposes operational information about the running application, such as health, metrics, info, dump, env, etc., through HTTP endpoints or JMX beans.</p><p>The actuator is enabled by default in Spring Boot applications. To expose the actuator endpoints, you need to add the spring-boot-starter-actuator dependency to your project. Once the dependency is added, you can access the actuator endpoints at the /actuator endpoint.</p><p><strong>What is Prometheus?</strong></p><p>Prometheus is a monitoring system and time series database. It is presumed that untrusted users have access to the Prometheus HTTP endpoints and logs. They have access to all time series information contained in the database, plus a variety of operational debugging information. It is also presumed that only trusted users have the ability to change the command line, configurations file, rules files, and other aspects of the runtime environment of Prometheus and other components.</p><p>I found this endpoint interesting so I used 4-ZERO-3 to bypass it and after testing a few payload tools found that using URL Encoding, I was able to bypass it.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/936/1*lBHZtF0NcCsJpucFIDjCNQ.png" /></figure><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*ZqGB_TKFt0SEKM2VjwMR_Q.gif" /></figure><p>So the URL looks something like <a href="https://staging.target.com/actuator/prometheus;%2f..%2f..%2f">https://staging.target.com/actuator/prometheus;%2f..%2f..%2f</a></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/936/1*_RLuAv20coCL6-RE8tr5Kw.png" /></figure><p>After investigating the endpoint I found a few interesting information in it, which may help an attacker to further investigate the target application and exploit it accordingly.</p><p><strong>Mitigation</strong></p><p>To fix a 403 Bypass, you need to identify the method that is being used to bypass your security measures. Once you have identified the method, you can take steps to mitigate the risk.</p><p>Here are some general steps that you can follow to fix a 403 Bypass:</p><p>· Identify the method that is being used to bypass your security measures. You can do this by analyzing your server logs and looking for suspicious activity. You can also use a web application firewall (WAF) to detect and block malicious traffic.</p><p>· Update your server software. Make sure that you are using the latest version of your server software, and that all of your security patches are installed.</p><p>· Configure your server correctly. Make sure that your server is configured correctly and that all of your security measures are enabled.</p><p>· Use strong passwords and authentication mechanisms. Make sure that you are using strong passwords and authentication mechanisms for all of your accounts.</p><p>· Monitor your server for suspicious activity. Use a monitoring tool to monitor your server for suspicious activity, such as failed login attempts and unusual traffic patterns.</p><p>Here are some additional steps that you can take to fix specific types of 403 Bypass attacks:</p><p><strong>Path fuzzing:</strong> To prevent path fuzzing attacks, you can use a web application firewall (WAF) to block requests that contain suspicious characters in the path. You can also configure your server to deny access to all files and directories that are not explicitly allowed.</p><p><strong>HTTP header fuzzing:</strong> To prevent HTTP header fuzzing attacks, you can use a WAF to block requests that contain suspicious HTTP headers. You can also configure your server to ignore or deny requests that contain certain HTTP headers.</p><p><strong>Exploiting vulnerabilities in server software:</strong> To prevent vulnerabilities in server software from being exploited, you should keep your server software up to date and install all of the security patches. You should also configure your server correctly and use strong passwords and authentication mechanisms for all of your accounts.</p><h4>With this vulnerability, I was able to earn good money, I will show you some of my reports.</h4><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*7jzXDy_FRL2N64GaVxfA_A.png" /></figure><p>Thanks, everyone for reading:)</p><p>Happy Hacking ;)</p><p>Support me if you like my work!<a href="https://www.buymeacoffee.com/impratikdabhi"> Buy me a coffee</a> and Follow me on <a href="http://twitter.com/impratikdabhi">Twitter</a>.</p><p><a href="https://www.buymeacoffee.com/impratikdabhi">impratikdabhi</a></p><p>Website:- <a href="https://www.pratikdabhi.com/">https://www.pratikdabhi.com/</a></p><p>Instagram:- <a href="https://www.instagram.com/i.m.pratikdabhi/?hl=en">https://www.instagram.com/i.m.pratikdabhi</a></p><p>Twitter:- <a href="https://twitter.com/impratikdabhi?lang=en">https://twitter.com/impratikdabhi</a></p><p>Youtube:-<a href="https://www.youtube.com/impratikdabhi">https://www.youtube.com/impratikdabhi</a></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=c6d17a0282ac" width="1" height="1" alt=""><hr><p><a href="https://infosecwriteups.com/hunting-for-hidden-treasures-unveiling-the-403-bypass-bug-bounty-adventure-%EF%B8%8F-%EF%B8%8F-c6d17a0282ac">Hunting for Hidden Treasures: Unveiling the 403 Bypass Bug Bounty Adventure 🕵️‍♂️💰</a> was originally published in <a href="https://infosecwriteups.com">InfoSec Write-ups</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Web Application Vulnerabilities: CRLF Injection and Beyond]]></title>
            <link>https://infosecwriteups.com/web-application-vulnerabilities-crlf-injection-and-beyond-e7c7144ac0e8?source=rss-189032d88f5e------2</link>
            <guid isPermaLink="false">https://medium.com/p/e7c7144ac0e8</guid>
            <category><![CDATA[bug-bounty]]></category>
            <category><![CDATA[hackerone]]></category>
            <category><![CDATA[bugcrowd]]></category>
            <dc:creator><![CDATA[Pratik Dabhi]]></dc:creator>
            <pubDate>Wed, 11 Oct 2023 14:16:57 GMT</pubDate>
            <atom:updated>2023-10-29T18:47:35.208Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*w_xukyLN_VxDiTrY.jpg" /></figure><p>Hello there! I’m Pratik Dabhi, a bug bounty hunter and penetration tester. Many of you may already be familiar with me, but for those who aren’t, you can visit my website to learn more about what I do and who I am.</p><p>In this blog, I wanted to share an interesting bug that I have found on an MNC (Multi-National Company) Website. While I was in the recon phase I found an interesting parameter that made me think to test it for CRLF Injection. So in this blog, I am going to share the methods and tools I used during this phase also I will share some tips that you can use during your bug-finding process. Let’s get started.</p><p><strong>What is CRLF Injection?</strong></p><p>The CRLF injection attack is one of several types of injection attacks. It can be used to amplify more malicious attacks such as cross-site scripting (XSS), page injection, web cache poisoning, cache-based obfuscation, and more. A CRLF injection vulnerability exists if an attacker can inject CRLF characters into a web application, for example using a user input form or HTTP request.</p><p>Tools I have used in this — <a href="https://github.com/dwisiswant0/crlfuzz"><strong>Crlfuzz</strong></a>, <strong>Burpsuite</strong>, and <strong>Windows Terminal</strong></p><p>I started with basics collecting all the subdomains of the target using various tools like amass, sublister, subfinder, and more. Then I found the subdomain.redacted.com subdomain.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/904/1*scbGSE-xVd8QJsyvIwjWVA.png" /></figure><p>I initiated website fuzzing using tools such as Waybackurls and Gobuster. Subsequently, I forwarded all the unique parameters and URLs through a proxy to facilitate examination using Burp Suite.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/904/1*wgvSOC3JPJm51D4vSiawiw.png" /></figure><p>After examining 10 of URLS I found <em>subdomain.redacted.com/%0D%0A</em> whatever we type after this it used to come on the response header. So I thought why I don’t give CRLFUZZ a try to find any CRLF vulnerability.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/904/1*m6Sm1GRyTCDGqHQmcisjsg.png" /></figure><p>As here in the above image, I have confirmed that the target site is vulnerable to CRLF Injection. So I tried to use other exploits which I can trigger using CRLF Injection.</p><p><strong>Exploits I can trigger using CRLF Injection –</strong></p><p><strong>Cookie Injection: </strong>It is a web security vulnerability that occurs when an attacker is able to inject malicious data into a user’s cookies. This can be done by exploiting a flaw in the way that the website handles user input, such as through a form or a request parameter. Once an attacker has successfully injected malicious data into a user’s cookies, they can then use that data to gain unauthorized access to the user’s account or to perform other malicious actions.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/902/1*QY7cq_ZDe2iuoocOC3s--A.png" /></figure><p><strong>Disabling XSS Protection: </strong>If the website has disabled cross-site scripting protection (XSS), it is more vulnerable to XSS attacks. XSS attacks are a type of web security vulnerability that allows an attacker to inject malicious code into a website. This code can then be executed by other users when they visit the website, potentially giving the attacker access to their cookies, session tokens, or other sensitive data.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/904/1*XgyY52rmuhqDoyStxBT4GQ.png" /></figure><p><strong>HTTP Header Injection: </strong>HTTP header injection is a type of web security vulnerability that allows an attacker to inject malicious data into the HTTP headers of a web request. This can be done by exploiting a flaw in the way that the website handles user input, such as through a form or a request parameter.</p><p>Once an attacker has successfully injected malicious data into the HTTP headers of a web request, they can then use that data to gain unauthorized access to the user’s account or to perform other malicious actions.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/904/1*H0WRwkN2zcZ7o6BS-kFDGg.png" /></figure><p><strong>Mitigations</strong></p><p>A developer should keep the following things in mind to prevent CRLF injection:</p><p>Sanitization of user input.</p><p>Encode CR &amp; LF characters (<em>\r, \n</em>) so that even when they’re supplied, they aren’t recognized by the server.</p><p>Validate the user input before they reach the response headers (e.g. by using methods like <em>StringEscapeUtils.escapeJava()</em>). An unnecessary header should be disabled.</p><p>I end this blog here. Hope this helps you to find new bugs.</p><p>Thanks everyone for reading:)</p><p>Happy Hacking ;)</p><p>Support me if you like my work!<a href="https://www.buymeacoffee.com/impratikdabhi"> Buy me a coffee </a>and Follow me on <a href="https://twitter.com/impratikdabhi">twitter.</a></p><p>Website:- <a href="https://www.pratikdabhi.com/">https://www.pratikdabhi.com/</a></p><p>Instagram:- <a href="https://www.instagram.com/i.m.pratikdabhi/?hl=en">https://www.instagram.com/i.m.pratikdabhi</a></p><p>Twitter:- <a href="https://twitter.com/impratikdabhi?lang=en">https://twitter.com/impratikdabhi</a></p><p>Youtube:- <a href="https://www.youtube.com/impratikdabhi">https://www.youtube.com/impratikdabhi</a></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=e7c7144ac0e8" width="1" height="1" alt=""><hr><p><a href="https://infosecwriteups.com/web-application-vulnerabilities-crlf-injection-and-beyond-e7c7144ac0e8">Web Application Vulnerabilities: CRLF Injection and Beyond</a> was originally published in <a href="https://infosecwriteups.com">InfoSec Write-ups</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
        <item>
            <title><![CDATA[Open-redirection leads to a bounty]]></title>
            <link>https://infosecwriteups.com/open-redirection-leads-to-a-bounty-d94029e11d17?source=rss-189032d88f5e------2</link>
            <guid isPermaLink="false">https://medium.com/p/d94029e11d17</guid>
            <category><![CDATA[bug-bounty]]></category>
            <category><![CDATA[vulnerability]]></category>
            <category><![CDATA[hackerone]]></category>
            <category><![CDATA[bugcrowd]]></category>
            <category><![CDATA[penetration-testing]]></category>
            <dc:creator><![CDATA[Pratik Dabhi]]></dc:creator>
            <pubDate>Fri, 10 Jul 2020 14:58:45 GMT</pubDate>
            <atom:updated>2020-08-09T20:50:59.302Z</atom:updated>
            <content:encoded><![CDATA[<figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*lV7qDMDrpiCzSVAu" /></figure><p>Hey guys Pratik this side. In this writeup, I’m going to share some of my open-redirection hunts and what resources I use to find open-redirection as well as how do I make its severity higher. So let’s hop into it.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/498/0*tlHXpvk3XMY1L4d6" /></figure><p>What is an Open-redirection Vulnerability?</p><p>According to <a href="https://www.netsparker.com/blog/web-security/open-redirection-vulnerability-information-prevention/">netsparker.com</a>, “An Open Redirection is when a web application or server uses an unvalidated user-submitted link to redirect the user to a given website or page. Even though it seems like a harmless action to let a user decide on which page he wants to be redirected, such techniques if exploited can have a serious impact on the application security, especially when combined with other vulnerabilities and tricks”.</p><p>Open-redirections are the low hanging fruits. If you hunt for it</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*PMn0ksDoweR7aBv1" /></figure><p>Some resources</p><p><a href="https://twitter.com/jae_hak99/status/1279303602532528128">https://twitter.com/jae_hak99/status/1279303602532528128</a></p><p><a href="https://twitter.com/search?q=openredirection&amp;src=typed_query">https://twitter.com/search?q=openredirection&amp;src=typed_query</a></p><p><a href="https://twitter.com/search?q=open%20redirection&amp;src=typed_query&amp;f=live">https://twitter.com/search?q=open%20redirection&amp;src=typed_query&amp;f=live</a></p><p>Some dorks</p><p>/{payload}</p><p>?next=</p><p>?url=</p><p>?target=</p><p>?rurl=</p><p>?dest=</p><p>?destination=</p><p>?redir=</p><p>redirect_uri=</p><p>?redirect_url=</p><p>?redirect=</p><p>/redirect/</p><p>cgi-bin/redirect.cgi?{}</p><p>/out/</p><p>/out?</p><p>?view=</p><p>/login?to=</p><p>?image_url=</p><p>?go=</p><p>?return=</p><p>?returnTo=</p><p>?return_to=</p><p>?checkout_url=</p><p>Common Parameters</p><p>dest, redirect, uri, path, continue, url, window, to, out, view, dir, show, navigation, Open, url, file, val, validate, domain, callback, return, page, feed, host, port, next, data, reference, site, html</p><p>What happens in open-redirection (Short Story)</p><p>Basically when the ?url=redirects-to-home but you insert your malicious place then the web page redirects to there.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*X6c1e9K7SgHw1HBF" /></figure><p>Private Bug Bounty Story</p><p>I found 8+ open redirections on bugcrowd public and private programs but most of them haven’t patched yet so I don’t have the permission to share the the info for those bug but 2 bugs that are patched.</p><p>First case</p><p>Redacted.com using /// and then payload then webpage is redirect to payload.com</p><p>Like this</p><p>redacted.com///pratikdabhi.com — -&gt; pratikdabhi.com</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/976/1*JsCJsDk1bkcztilha1zYJA.png" /></figure><p>Second Case</p><p>Redacted.com/google/?dest_path=, here in place of path={}, I use javascript:alert() and changed its severity from P4 to P3</p><p>Like this</p><p>redacted.com/google/?dest_path=javascript:alert() — -&gt; javascript popup</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*cLJI66ovuTDsS2p3" /></figure><p>Url Based xss payloads</p><p><a href="https://github.com/R0X4R/D4rkXSS">https://github.com/R0X4R/D4rkXSS</a></p><p>Open-redirection leads to SSRF (<a href="https://portswigger.net/web-security/ssrf">PortSwigger</a>)</p><p>In the preceding SSRF example, suppose the user-submitted URL is strictly validated to prevent malicious exploitation of the SSRF behavior. However, the application whose URLs are allowed contains an open redirection vulnerability. Provided the API used to make the back-end HTTP request supports redirections, you can construct a URL that satisfies the filter and results in a redirected request to the desired back-end target.</p><p>For example, suppose the application contains an open redirection vulnerability in which the following URL:</p><p>/product/nextProduct?currentProductId=6&amp;path=http://evil-user.net</p><p>returns a redirection to:</p><p><a href="http://evil-user.net">http://evil-user.net</a></p><p>You can leverage the open redirection vulnerability to bypass the URL filter, and exploit the SSRF vulnerability as follows:</p><p>POST /product/stock HTTP/1.0</p><p>Content-Type: application/x-www-form-urlencoded</p><p>Content-Length: 118</p><p>stockApi=<a href="http://weliketoshop.net/product/nextProduct?currentProductId=6&amp;path=http://192.168.0.68/admin">http://weliketoshop.net/product/nextProduct?currentProductId=6&amp;path=http://192.168.0.68/admin</a></p><p>This SSRF exploit works because the application first validates that the supplied stockAPI URL is on an allowed domain, which it is. The application then requests the supplied URL, which triggers the open redirection. It follows the redirection and makes a request to the internal URL of the attacker’s choosing.</p><p>*Solve the lab to get hands-on practice.</p><p>→ Lab solve</p><p>In the lab, we get 2 vulnerable params that are stockApi and path, where path has open-redirection and stockapi has ssrf vulnerability. First, we have to do some param spidering using burpsuite.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*qvf_FEFc4Q8NPNxcJtbsoQ.jpeg" /></figure><p>By clicking on check stock we get the stockapi param</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*YlIpCErDlK0l-1tFarrMhQ.jpeg" /></figure><p>After we get the param just send that request to the repeater.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*Zxq-mVdj_5F-lJOYGrMwGw.jpeg" /></figure><p>To get path param we need to click on next product link.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*BJ8gaL8jJoke0TADu7JeTQ.jpeg" /></figure><p>Then we get our ?path= param send this request to repeater</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/960/0*oWGfQ7f7KPjzfSnO" /></figure><p>Now copy the whole path /product/nextProduct?currentProductId=1&amp;path=</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*pXPywCg6C679n9tZ" /></figure><p>Paste it on stockApi param. Like this stockApi=/product/nextProduct?path={here paste your given ssrf ip} for me its stockApi=/product/nextProduct?path=<a href="http://192.168.0.12:8080/admin">http://192.168.0.12:8080/admin</a></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*nQrg9ZjcNiGrYNiN" /></figure><p>Then click on go wait sometime then you get the response scroll down and you get the path which you use to delete user Carlos.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*qipbQFafRHjVPVBycl63CQ.jpeg" /></figure><p>Then just paste the path in stockApi (stockApi=/product/nextProduct?path=<a href="http://192.168.0.12:8080/admin">http://192.168.0.12:8080/admin</a>/delete?user=carlos) param and click go and BOOM! Lab solved.</p><p>Impact of Open-redirection (AC PortSwigger)</p><p>The user may be redirected to an untrusted page that contains malware which may then compromise the user’s machine. This will expose the user to the extensive risk and the user’s interaction with the web server may also be compromised if the malware conducts keylogging or other attacks that steal credentials, personally identifiable information (PII), or other important data.</p><p>The user may be subjected to phishing attacks by being redirected to an untrusted page. The phishing attack may point to an attacker-controlled web page that appears to be a trusted web site. The phishers may then steal the user’s credentials and then use these credentials to access the legitimate web site.</p><p>hanks everyone for reading:)</p><p>Happy Hacking ;)</p><p>Support me if you like my work!<a href="https://www.buymeacoffee.com/impratikdabhi"> Buy me a coffee </a>and Follow me on <a href="https://twitter.com/impratikdabhi">twitter.</a></p><p><a href="https://www.buymeacoffee.com/impratikdabhi">impratikdabhi</a></p><p>Website:- <a href="https://www.pratikdabhi.com/">https://www.pratikdabhi.com/</a></p><p>Instagram:- <a href="https://www.instagram.com/i.m.pratikdabhi/?hl=en">https://www.instagram.com/i.m.pratikdabhi</a></p><p>Twitter:- <a href="https://twitter.com/impratikdabhi?lang=en">https://twitter.com/impratikdabhi</a></p><p>Youtube:- <a href="https://www.youtube.com/impratikdabhi">https://www.youtube.com/impratikdabhi</a></p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=d94029e11d17" width="1" height="1" alt=""><hr><p><a href="https://infosecwriteups.com/open-redirection-leads-to-a-bounty-d94029e11d17">Open-redirection leads to a bounty</a> was originally published in <a href="https://infosecwriteups.com">InfoSec Write-ups</a> on Medium, where people are continuing the conversation by highlighting and responding to this story.</p>]]></content:encoded>
        </item>
    </channel>
</rss>