<?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 f3tch on Medium]]></title>
        <description><![CDATA[Stories by f3tch on Medium]]></description>
        <link>https://medium.com/@f3tch?source=rss-568560923f15------2</link>
        <image>
            <url>https://cdn-images-1.medium.com/fit/c/150/150/1*JHgZj--ig6U-IyMQoEnuMw.jpeg</url>
            <title>Stories by f3tch on Medium</title>
            <link>https://medium.com/@f3tch?source=rss-568560923f15------2</link>
        </image>
        <generator>Medium</generator>
        <lastBuildDate>Fri, 15 May 2026 01:15:19 GMT</lastBuildDate>
        <atom:link href="https://medium.com/@f3tch/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[My First Bug: A Unique $500 XSS.]]></title>
            <link>https://medium.com/@f3tch/my-first-bug-a-unique-500-xss-eb5caccb628f?source=rss-568560923f15------2</link>
            <guid isPermaLink="false">https://medium.com/p/eb5caccb628f</guid>
            <category><![CDATA[hacking]]></category>
            <category><![CDATA[bug-bounty]]></category>
            <category><![CDATA[bugs]]></category>
            <category><![CDATA[xss-attack]]></category>
            <category><![CDATA[cybersecurity]]></category>
            <dc:creator><![CDATA[f3tch]]></dc:creator>
            <pubDate>Thu, 08 Jun 2023 17:33:35 GMT</pubDate>
            <atom:updated>2025-08-12T22:19:19.265Z</atom:updated>
            <content:encoded><![CDATA[<h3>whoami</h3><blockquote>Hi, my name is ### ###. I am 14 years old and started bug bounty when I was 13. My brother is a bugbounty hunter for almost 5 years on bugcrowd, he is my motivation and taught me everything security researching or bugbounty, After 7 months of hard work and dedication, I have finally gotten my first bug paid too, on a private program on a collaboration with my brother. Hope you will enjoy reading my finding.</blockquote><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/0*fpsOl0SHy0C7LdQF" /><figcaption>Photo by <a href="https://unsplash.com/pt-br/@arget?utm_source=medium&amp;utm_medium=referral">Arget</a> on <a href="https://unsplash.com?utm_source=medium&amp;utm_medium=referral">Unsplash</a></figcaption></figure><h3>cat vulnerability</h3><p>One evening after taking a shower, I thought let’s try to find a bug for real now. I opened BurpSuite, turned on some music, and opened a private program’s main domain, which we will call <a href="http://www.redacted.com">www.target.com</a>. I logged into my testing account, clicked just one button, “Add to Cart”, and intercepted the request using Burp Proxy. I checked Burp history, and before the Add to Cart actual request, there was another POST request that was being made through api.target.com. I sent the request to the repeater and inspected it, there was some URL Encoded JSON data inside a parameter named param. Basically, the request was bringing some known data about the product that I was adding to the cart. I noticed some data was reflected in the response. The response was in JSON, but the Content-Type was set to HTML!!! As I’m pretty dumb, I thought the JSON data was inside a script tag, which it wasn’t. I tried exiting the JSON data in response which did not work. Later when I finally realized, that the JSON data was printed straight to HTML document without any tags, I tried adding &lt;h1&gt; tag, and to my surprise, it worked!!!</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/495/1*Nnm3c2JtkysstvOUIn-aHg.jpeg" /></figure><p>The &lt;h1&gt; tag was reflected in the response body just as expected, after running it in the browser it was confirmed that an XSS was possible. But this XSS wasn’t as simple. I noticed api.target.com is only accessible if the referer header is set to any subdomain/domain of target.com, plus, because of it being POST-Based Reflected XSS, I had to send a request to that endpoint using a website owned by me, but Origin header would have blocked any request from other domains. This seemed like a big problem, but I had a trick up my sleeve. I had an idea, I first checked if I could change the POST request to GET request, and thankfully it worked! Even with GET request, the &lt;h1&gt; tag was reflected! Now I went to <a href="https://account.target.com/login?redirect=https://account.target.com/home">https://account.target.com/login?redirect=https://account.target.com/home</a> and put the vulnerable link in the redirect parameter! The link looked like something like <a href="https://account.target.com/login?redirect=https://account.target.com/home">https://account.target.com/login?redirect=https://api.target.com/</a>file?param={&quot;data&quot;:&quot;&lt;h1&gt;&quot;} Now, once I logged in to my account, account.target.com would redirect me to <a href="https://account.target.com/login?redirect=https://account.target.com/home">https://api.target.com/</a>file?param={&quot;data&quot;:&quot;&lt;h1&gt;&quot;} with the referer header and origin header both set to account.target.com, allowing the victim to enter the vulnerable link!</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/612/1*_eQQNg7b4iVYn-F03S729g.jpeg" /></figure><h3>cat WAF_Bypass</h3><p>Entering a &lt;script&gt; tag would be blocked by the WAF, so I tried bypassing the WAF in order to achieve a full-blown Reflected XSS. After about 6 hours of bypassing, I came up with a payload &lt;input+type=text+onbeforeinput=location=’<a href="https://asd.com&#39;">https://asd.com&#39;</a>&gt;&lt;!-- which, I don’t think would ever have been triaged if I reported that. Once the HTML code loads, the victim would have to enter any data in a form, and they would have been redirected to <a href="https://asd.com">https://asd.com</a>.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/500/1*7isf0KW9i5ykHK_XjJ5hbQ.jpeg" /></figure><p>I could not find a WAF and asked my real brother for collaboration (he is a much better hacker than me, top 500 in the world and top 50 in my country), and he accepted to collaborate. I sent all the details and information I had gathered yet, and BOOM! Within 2 hours he found the bypass!!! The payload looked like &lt;%s%v%g+%on%l%oad%=c%o%nf%i%rm%(1%)&gt;&lt;!--! I had achieved a valid XSS most likely to be triaged because of all the bypasses. The final link looked like: <a href="https://account.target.com/login?redirect=https://account.target.com/home">https://account.target.com/login?redirect=https://api.target.com/</a>file?param={&quot;data&quot;:&quot;&lt;%s%v%g+%on%l%oad%=c%o%nf%i%rm%(1%)&gt;&lt;!--&quot;}.</p><h3>exit</h3><p>After the report was done, in just a day, the report got triaged, and the bounty was rewarded after about 5 days of it being triaged. This was my first bug and after so much hard work I had finally achieved something in my life! The total payment was <strong>$750</strong>, and with division between me and my brother, I was awarded <strong>$500.</strong></p><figure><img alt="" src="https://cdn-images-1.medium.com/max/1024/1*_7De37i_990790V_a1fAhg.jpeg" /></figure><p>Thanks for reading till the end! I hope you learned something.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/480/1*NU12WB__lzhYI_cfFxjQGg.jpeg" /></figure><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=eb5caccb628f" width="1" height="1" alt="">]]></content:encoded>
        </item>
    </channel>
</rss>