<?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:media="http://search.yahoo.com/mrss/"><channel><title><![CDATA[rashahacks]]></title><description><![CDATA[Writeups For Hackers By Hackers]]></description><link>https://rashahacks.com/</link><image><url>https://rashahacks.com/favicon.png</url><title>rashahacks</title><link>https://rashahacks.com/</link></image><generator>Ghost 5.44</generator><lastBuildDate>Mon, 06 Apr 2026 02:15:26 GMT</lastBuildDate><atom:link href="https://rashahacks.com/rss/" rel="self" type="application/rss+xml"/><ttl>60</ttl><item><title><![CDATA[jsmon-cli - Enhanced Security Tooling for JavaScript (jsmon.sh)]]></title><description><![CDATA[<p>A fast and convenient tool (API client) for your JS security tasks powered by jsmon.sh.</p><h3 id="what-is-jsmon-cli">What is jsmon-cli?</h3><p>A command-line interface designed to act as an API client for jsmon.sh. Whatever you can do at the webapp, most of these features can be used via jsmon-cli. It calls</p>]]></description><link>https://rashahacks.com/jsmon-cli/</link><guid isPermaLink="false">66cd85863e0e7204b9674291</guid><dc:creator><![CDATA[Inderjeet Singh]]></dc:creator><pubDate>Wed, 28 Aug 2024 06:01:36 GMT</pubDate><media:content url="https://rashahacks.com/content/images/2024/08/jsmon.png" medium="image"/><content:encoded><![CDATA[<img src="https://rashahacks.com/content/images/2024/08/jsmon.png" alt="jsmon-cli - Enhanced Security Tooling for JavaScript (jsmon.sh)"><p>A fast and convenient tool (API client) for your JS security tasks powered by jsmon.sh.</p><h3 id="what-is-jsmon-cli">What is jsmon-cli?</h3><p>A command-line interface designed to act as an API client for jsmon.sh. Whatever you can do at the webapp, most of these features can be used via jsmon-cli. It calls the same API endpoints which the webapp uses. The public github repo for tool is at https://github.com/rashahacks/jsmon-cli.</p><h3 id="what-is-jsmonsh">What is jsmon.sh?</h3><p>jsmon.sh is a JS security framework made for security enthusiasts, bugbounty hunters, penetration testers and security-focused enterprises to keep track of secrets, exposures and intel over the javascript files. As input, jsmon.sh can use a JS URL, a file (containing JS URLs), and even a domain name. The services present inside scans JS responses for domains, URLs, API paths, GraphQL operations, client-side vulnerabilites, GUIDs, JWTs, IP addresses, emails, S3 domains, and 100+ api keys. Embedded IP rotation, report generation, JS monitoring, and advanced notification service are also present. Well, this is about jsmon-cli, let&apos;s focus on that.</p><h3 id="installation-instructions-jsmon-cli">Installation Instructions (jsmon-cli)</h3><pre><code class="language-bash">git clone https://github.com/rashahacks/jsmon-cli
cd jsmon-cli
go build -o jsmon</code></pre><p>The following commands will output a binary by name jsmon.</p><h3 id="authentication-api-key">Authentication (API Key)</h3><p>In order to authenticate with your account via jsmon-cli. First, get your API key by logging in at the website. Once you are logged in, click on JSMON API in nav bar, and go to API Keys. You can regenerate the API key if it gets expired, by clicking on regenerate icon. Now, there are two methods to authenticate with jsmon-cli.</p><ol><li>Add your API key at ~/.jsmon/credentials file. At first line, just paste the API key. No dash, or curly braces are required. Paste the key in first line, that&apos;s it.</li></ol><figure class="kg-card kg-image-card"><img src="https://rashahacks.com/content/images/2024/08/image.png" class="kg-image" alt="jsmon-cli - Enhanced Security Tooling for JavaScript (jsmon.sh)" loading="lazy" width="1438" height="180" srcset="https://rashahacks.com/content/images/size/w600/2024/08/image.png 600w, https://rashahacks.com/content/images/size/w1000/2024/08/image.png 1000w, https://rashahacks.com/content/images/2024/08/image.png 1438w" sizes="(min-width: 720px) 720px"></figure><p>2. You can provide the API key to -apikey flag present in the CLI tool.</p><figure class="kg-card kg-image-card"><img src="https://rashahacks.com/content/images/2024/08/image-3.png" class="kg-image" alt="jsmon-cli - Enhanced Security Tooling for JavaScript (jsmon.sh)" loading="lazy" width="2000" height="484" srcset="https://rashahacks.com/content/images/size/w600/2024/08/image-3.png 600w, https://rashahacks.com/content/images/size/w1000/2024/08/image-3.png 1000w, https://rashahacks.com/content/images/size/w1600/2024/08/image-3.png 1600w, https://rashahacks.com/content/images/size/w2400/2024/08/image-3.png 2400w" sizes="(min-width: 720px) 720px"></figure><h3 id="usage">Usage</h3><pre><code>Usage of ./jsmon:
  ./jsmon [flags]

Flags:
INPUT:
  -scanUrl &lt;jsmonId&gt;         URL or scan ID to rescan
  -uploadUrl &lt;url&gt;       URL to upload for scanning
  -scanFile &lt;fileId&gt;        File ID to scan
  -uploadFile &lt;file.txt&gt;      File to upload (local path)
  -scanDomain &lt;example.com&gt;      Domain to automate scan

AUTHENTICATION:
  -apikey &lt;XXX-XXXX-XXXX-XXX&gt;          API key for authentication

OUTPUT:
  -automationData &lt;example.com&gt;  Get all automation results
  -scannerData            Get scanner results
  -urls                   View all URLs
  -size int               Number of URLs, automationData to fetch (default 10)
  -files                  View all files
  -usage                  View user profile

CRON JOB:
  -cron string            Set, update, or stop cronjob
  -notifications string   Set cronjob notification channel
  -time int               Set cronjob time
  -vulnerabilitiesType    Set type of cronjob (URLs, Analysis, Scanner)
  -domains string         Set domains for cronjob
  -domainsNotify string   Set notify (true/false) for each domain

ADDITIONAL OPTIONS:
  -H string               Custom headers (Key: Value, can be used multiple times)
  -words string           Comma-separated list of words to include in the scan
  -getDomains             Get all domains for the user
  -Emails &lt;example.com&gt;          View all Emails for specified domains
  -S3Domains &lt;example.com&gt;       Get all S3 Domains for specified domains
  -ips &lt;example.com&gt;             Get all IPs for specified domains
  -DomainUrls &lt;example.com&gt;      Get Domain URLs for specified domains
  -api &lt;example.com&gt;             Get the APIs for specified domains
  -compare &lt;example.com&gt;         Compare two JS responses by JSMON_IDs (format: ID1,ID2)</code></pre><h3 id="url-input">URL Input</h3><pre><code>jsmon -uploadUrl https://example.com/main.js
jsmon -scanUrl &lt;jsmonId&gt; #change detection</code></pre><figure class="kg-card kg-image-card"><img src="https://rashahacks.com/content/images/2024/08/image-4.png" class="kg-image" alt="jsmon-cli - Enhanced Security Tooling for JavaScript (jsmon.sh)" loading="lazy" width="2000" height="216" srcset="https://rashahacks.com/content/images/size/w600/2024/08/image-4.png 600w, https://rashahacks.com/content/images/size/w1000/2024/08/image-4.png 1000w, https://rashahacks.com/content/images/size/w1600/2024/08/image-4.png 1600w, https://rashahacks.com/content/images/size/w2400/2024/08/image-4.png 2400w" sizes="(min-width: 720px) 720px"></figure><figure class="kg-card kg-image-card"><img src="https://rashahacks.com/content/images/2024/08/image-5.png" class="kg-image" alt="jsmon-cli - Enhanced Security Tooling for JavaScript (jsmon.sh)" loading="lazy" width="2000" height="161" srcset="https://rashahacks.com/content/images/size/w600/2024/08/image-5.png 600w, https://rashahacks.com/content/images/size/w1000/2024/08/image-5.png 1000w, https://rashahacks.com/content/images/size/w1600/2024/08/image-5.png 1600w, https://rashahacks.com/content/images/2024/08/image-5.png 2238w" sizes="(min-width: 720px) 720px"></figure><h3 id="file-input">File Input</h3><pre><code>jsmon -uploadFile jsmon-jsurls.txt
jsmon -scanFile &lt;fileId&gt;</code></pre><h3 id="domain-input">Domain Input</h3><pre><code>jsmon -scanDomain jsmon.sh</code></pre><h3 id="querying-data">Querying Data</h3><pre><code>jsmon -usage
jsmon -automationData jsmon.sh -size 10
jsmon -ips jsmon.sh
jsmon -Emails jsmon.sh
jsmon -S3Domains jsmon.sh
jsmon -api jsmon.sh
jsmon -DomainUrls jsmon.sh
jsmon -getDomains
jsmon -urls -urlSize 15
jsmon -scannerData
jsmon -files</code></pre><figure class="kg-card kg-image-card"><img src="https://rashahacks.com/content/images/2024/08/image-6.png" class="kg-image" alt="jsmon-cli - Enhanced Security Tooling for JavaScript (jsmon.sh)" loading="lazy" width="2000" height="1524" srcset="https://rashahacks.com/content/images/size/w600/2024/08/image-6.png 600w, https://rashahacks.com/content/images/size/w1000/2024/08/image-6.png 1000w, https://rashahacks.com/content/images/size/w1600/2024/08/image-6.png 1600w, https://rashahacks.com/content/images/2024/08/image-6.png 2212w" sizes="(min-width: 720px) 720px"></figure><figure class="kg-card kg-image-card"><img src="https://rashahacks.com/content/images/2024/08/image-7.png" class="kg-image" alt="jsmon-cli - Enhanced Security Tooling for JavaScript (jsmon.sh)" loading="lazy" width="2000" height="610" srcset="https://rashahacks.com/content/images/size/w600/2024/08/image-7.png 600w, https://rashahacks.com/content/images/size/w1000/2024/08/image-7.png 1000w, https://rashahacks.com/content/images/size/w1600/2024/08/image-7.png 1600w, https://rashahacks.com/content/images/2024/08/image-7.png 2302w" sizes="(min-width: 720px) 720px"></figure><h3 id="conclusion">Conclusion</h3><p>jsmon-cli is a powerful and efficient tool that extends the capabilities of the jsmon.sh platform to the command line, making it easier for security professionals to automate and streamline their JS security tasks. With simple installation and flexible authentication methods, it offers a convenient way to leverage the robust features of jsmon.sh, including scanning, monitoring, and reporting, directly from your terminal.</p><h3 id="feedback">Feedback</h3><p>If you want to report some bugs, add something inside CLI or webapp, let us know by mailing at support@jsmon.sh for anything.</p><p></p><p>Thanks,</p><p>Inderjeet Singh (Founder, jsmon.sh)</p>]]></content:encoded></item><item><title><![CDATA[How I Got Multiple Privilege Escalations - The Easy Trick?]]></title><description><![CDATA[It's a vast application with tenants and user roles. For testing basic privilege escalations first, I created two accounts: admin user and least ]]></description><link>https://rashahacks.com/how-i-got-multiple-privilege-escalations/</link><guid isPermaLink="false">65cb15a6cfcdbf0482bd5f30</guid><category><![CDATA[api hacking]]></category><category><![CDATA[api security]]></category><category><![CDATA[bug bounty]]></category><category><![CDATA[bug bounty writeups]]></category><dc:creator><![CDATA[Inderjeet Singh]]></dc:creator><pubDate>Tue, 13 Feb 2024 12:30:41 GMT</pubDate><media:content url="https://rashahacks.com/content/images/2024/02/IDOR-2.png" medium="image"/><content:encoded><![CDATA[<img src="https://rashahacks.com/content/images/2024/02/IDOR-2.png" alt="How I Got Multiple Privilege Escalations - The Easy Trick?"><p></p><p>Hello hackers! Today, I&apos;ll describe a way through which I got multiple privilege escalations.</p><h2 id="background">Background:</h2><p>It&apos;s a vast application with tenants and user roles. For testing basic privilege escalations first, I created two accounts: admin user and least privilege user. Least privilege user is the user with zero permissions or the least possible access.</p><p>I have been hacking this app for the last 3 months so I became aware of most of the API calls, objects and error codes.</p><h2 id="technicalities">Technicalities:</h2><p>There is a search functionality with a common endpoint architecture for every object: <code>GET /api/v1/EMAIL/search</code>. Here, the object code is <code>EMAIL</code> for searching emails. Similarly, there are many object codes that I got in my burpsuite history like <code>PHONE</code>, <code>USER</code>, <code>INVOICE</code>, <code>PHOTO</code>, <code>DOCUMENT</code>, etc.</p><h2 id="exploitation-steps">Exploitation Steps:</h2><ol><li>I read the API docs of the application and found that all the object codes are documented for every version of the API.</li><li>Copy the object codes into a file (objCodes.txt).</li><li>Copy the cookies/auth-token of the least privileged user (LPU), who doesn&apos;t have access to most of the objects.</li><li>Take the HTTP request <code>GET /api/v1/EMAIL/search</code> into Repeater and substitute it with the session of LPU.</li><li>Send this request to Intruder, and set the object code <code>EMAIL</code> as the payload position. Use objCodes.txt for the wordlist. Start intruder attack.</li><li>I got around 40+ 200 status codes. Later, I figured out that many of the objects are still visible to LPU in the UI as well. LPU has some default access inside this app.</li><li>Time to filter out, which object codes shouldn&apos;t have read access as per docs but the API call is giving 200 OK and the whole response.</li><li>This took around 15-16 hrs to filter since it was a lot of work to review all of the features and docs properly.</li><li>I got 4 privilege escalations at the end.</li></ol><h2 id="conclusion">Conclusion:</h2><ul><li>Every IDOR or priv esc is not a vulnerability if the data is already public.</li><li>Always save your burpsuite projects to keep track of operations, query names, endpoints, methods, error codes, etc.</li><li>Always review the API docs, JS files and organization&apos;s GitHub for fetching operation names, objects, query names or endpoints.</li></ul><p></p><blockquote>Author: Inderjeet Singh, aka encodedguy</blockquote><blockquote>Twitter: https://twitter.com/3nc0dedGuY</blockquote><blockquote class="kg-blockquote-alt">Happy hacking!!</blockquote>]]></content:encoded></item><item><title><![CDATA[Discovering private chats between users and the support team]]></title><description><![CDATA[<p><br>Greetings, Bug Bounty community! I&apos;m Krishna Jaishwal, also known as jarvis0p, a Computer Science student and bug bounty hunter. Today, I&apos;m excited to share my recent $2000 bounty journey with you, where I discovered a significant Insecure Direct Object Reference (IDOR) vulnerability in a video content</p>]]></description><link>https://rashahacks.com/2000-dollar-idor-discovering-private-chats-between-users-and-support-team/</link><guid isPermaLink="false">653efa06cfcdbf0482bd58bd</guid><dc:creator><![CDATA[Jarvis0p]]></dc:creator><pubDate>Fri, 24 Nov 2023 16:48:24 GMT</pubDate><media:content url="https://rashahacks.com/content/images/2023/11/Screenshot-from-2023-11-12-01-42-50.png" medium="image"/><content:encoded><![CDATA[<img src="https://rashahacks.com/content/images/2023/11/Screenshot-from-2023-11-12-01-42-50.png" alt="Discovering private chats between users and the support team"><p><br>Greetings, Bug Bounty community! I&apos;m Krishna Jaishwal, also known as jarvis0p, a Computer Science student and bug bounty hunter. Today, I&apos;m excited to share my recent $2000 bounty journey with you, where I discovered a significant Insecure Direct Object Reference (IDOR) vulnerability in a video content streaming platform.</p><!--kg-card-begin: markdown--><h2 id="the-application">The Application</h2>
<!--kg-card-end: markdown--><p>While testing the application I was thoroughly checking for access controls on every functionality. But for hacking over a day I couldn&apos;t find anything. Despite robust authorization checks and ever-changing session cookies and CSRF tokens, I persisted in my hunt. My breakthrough came when exploring the <code>Need Support?</code> feature.</p><!--kg-card-begin: markdown--><h2 id="need-support">Need Support?</h2>
<!--kg-card-end: markdown--><p>The way that it works is that users have to create a support ticket where they will describe the issue details and the team will look into it to assist them. You can continue chatting with the team on this ticket to explain the issue or get assistance from the team. Users can also add images and attachments to show details of the issue. So I immediately created a support ticket to see how all of this was working on the programming level. There was nothing I could do with the creation of tickets as it was protected by CSRF tokens and session cookies. But my eyes got caught up when I saw how they were fetching data on these tickets. The request had two IDs in it. First was the user ID and second was the ticket ID.</p><pre><code class="language-http">POST /account/support/discussion/load-topic/&lt;user-id&gt;/&lt;ticket-id&gt;
</code></pre><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://rashahacks.com/content/images/2023/11/with_cookie.png" class="kg-image" alt="Discovering private chats between users and the support team" loading="lazy" width="1657" height="923" srcset="https://rashahacks.com/content/images/size/w600/2023/11/with_cookie.png 600w, https://rashahacks.com/content/images/size/w1000/2023/11/with_cookie.png 1000w, https://rashahacks.com/content/images/size/w1600/2023/11/with_cookie.png 1600w, https://rashahacks.com/content/images/2023/11/with_cookie.png 1657w" sizes="(min-width: 720px) 720px"><figcaption>Fetch Chats with support team</figcaption></figure><p>I immediately thought that this did not look right because the application can find/authorize the user from the session cookie. Then why user-id?</p><!--kg-card-begin: markdown--><h2 id="getting-to-an-idor">Getting to an IDOR</h2>
<!--kg-card-end: markdown--><p>First I wanted to try whether changing the user-id and ticket-id to another user IDs, will give me his chats. I had another testing account, so I tried to fetch other&apos;s account chats but the server gave me 403 Forbidden.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://rashahacks.com/content/images/2023/11/other_account_with_cookie-3.png" class="kg-image" alt="Discovering private chats between users and the support team" loading="lazy" width="1657" height="923" srcset="https://rashahacks.com/content/images/size/w600/2023/11/other_account_with_cookie-3.png 600w, https://rashahacks.com/content/images/size/w1000/2023/11/other_account_with_cookie-3.png 1000w, https://rashahacks.com/content/images/size/w1600/2023/11/other_account_with_cookie-3.png 1600w, https://rashahacks.com/content/images/2023/11/other_account_with_cookie-3.png 1657w" sizes="(min-width: 720px) 720px"><figcaption>Trying to access other user&apos;s chat by changing IDs</figcaption></figure><figure class="kg-card kg-image-card"><img src="https://rashahacks.com/content/images/2023/11/image-13.png" class="kg-image" alt="Discovering private chats between users and the support team" loading="lazy" width="373" height="498"></figure><p>At this point, I thought this endpoint again had authorization checks. But I still was not sure why user-id is in the request if you have session cookie. So I tried putting random cookie to fetch chats and again 403. Finally, I tried removing the cookie header completely from the request, and to my surprise, it worked !! </p><p>So basically if you know user-id of a person and the ticket-id then you can see the chats between any users and the support team in an unauthenticated session. The user ID was a 9-digit number and the ticket ID was a 7-digit number. These are most probably assigned in sequencing order because when I tried creating consecutive tickets, the ticket IDs were very close.</p><!--kg-card-begin: markdown--><h2 id="exploitation">Exploitation</h2>
<!--kg-card-end: markdown--><p>I needed the user ID of other users to show the exploit of this bug. I scrolled through the burpsuite proxy and found an endpoint where I was able to get the user ID of another user on the basis of the username/channel name.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://rashahacks.com/content/images/2023/11/image-1.png" class="kg-image" alt="Discovering private chats between users and the support team" loading="lazy" width="1635" height="755" srcset="https://rashahacks.com/content/images/size/w600/2023/11/image-1.png 600w, https://rashahacks.com/content/images/size/w1000/2023/11/image-1.png 1000w, https://rashahacks.com/content/images/size/w1600/2023/11/image-1.png 1600w, https://rashahacks.com/content/images/2023/11/image-1.png 1635w" sizes="(min-width: 720px) 720px"><figcaption>Find User ID via username</figcaption></figure><p>You can see in the response HTML, I found my user-id to be 730723625</p><p>Now to get ticket-id, there was no other option other than fuzzing, and that I wanted to avoid because the application was very serious about rate limitation. On almost every endpoint, it immediately throws <code>429 &#xA0;too many requests</code>, if I use burp intruder. But to my luck, this endpoint did not have any rate limitation checks. So I fuzzed the ticket-id for other users using ffuf and got some hits.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://rashahacks.com/content/images/2023/11/image-2.png" class="kg-image" alt="Discovering private chats between users and the support team" loading="lazy" width="902" height="640" srcset="https://rashahacks.com/content/images/size/w600/2023/11/image-2.png 600w, https://rashahacks.com/content/images/2023/11/image-2.png 902w" sizes="(min-width: 720px) 720px"><figcaption>Fuzzing for ticket-id of other users</figcaption></figure><p>On opening those tickets I was able to see chats between that user and the support team.</p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://rashahacks.com/content/images/2023/11/other_user_chat.png" class="kg-image" alt="Discovering private chats between users and the support team" loading="lazy" width="1657" height="923" srcset="https://rashahacks.com/content/images/size/w600/2023/11/other_user_chat.png 600w, https://rashahacks.com/content/images/size/w1000/2023/11/other_user_chat.png 1000w, https://rashahacks.com/content/images/size/w1600/2023/11/other_user_chat.png 1600w, https://rashahacks.com/content/images/2023/11/other_user_chat.png 1657w" sizes="(min-width: 720px) 720px"><figcaption>Other Users chats</figcaption></figure><h3 id="fetching-attachments">Fetching Attachments</h3><p>As I told this feature also allows users to add attachments i.e. screenshots. This was the endpoint that was fetching the attachment URL.</p><pre><code class="language-http">GET /account/support/&lt;attachment-id&gt;/&lt;ticket-id&gt;/&lt;user-id&gt;/attachment/1</code></pre><p>Guess what? This endpoint was again vulnerable to the same improper authorization. So on removing the cookie header, I was able to get attachments. The attachment ID was again 7-digit numbers, so this can be easily fuzzed.</p><p>Hence this vulnerability can allow any attacker to get complete chats between any user and support team.</p><h2 id="conclusion">Conclusion</h2><ul><li>The application had improper authorization on two endpoints allowing to get complete chats of any users including attachments with the support team in an unauthorized session.</li><li>Those endpoints have no rate limitation checks to prevent attackers from fuzzing the API endpoints.</li><li>The application uses weak IDs to identify its resources, making it vulnerable to IDOR. Instead strong IDs like UUIDv4 can be used which are not prone to fuzzing attacks</li></ul><!--kg-card-begin: markdown--><h2 id="timeline">Timeline</h2>
<!--kg-card-end: markdown--><ul><li>31 October 2023: I made a detailed report explaining the issue and submitted it with <code>High(7.5)</code> severity according to CVSS. </li><li>01 November 2023: The report was triaged and fixed immediately.</li><li>01 November 2023: They gave me a bounty of $1500 and a $500 bonus</li><li>03 November 2023: Awarded $50 for restest.</li></ul><figure class="kg-card kg-image-card"><img src="https://rashahacks.com/content/images/2023/11/image-9.png" class="kg-image" alt="Discovering private chats between users and the support team" loading="lazy" width="1120" height="92" srcset="https://rashahacks.com/content/images/size/w600/2023/11/image-9.png 600w, https://rashahacks.com/content/images/size/w1000/2023/11/image-9.png 1000w, https://rashahacks.com/content/images/2023/11/image-9.png 1120w" sizes="(min-width: 720px) 720px"></figure><figure class="kg-card kg-image-card"><img src="https://rashahacks.com/content/images/2023/11/image-12.png" class="kg-image" alt="Discovering private chats between users and the support team" loading="lazy" width="1133" height="112" srcset="https://rashahacks.com/content/images/size/w600/2023/11/image-12.png 600w, https://rashahacks.com/content/images/size/w1000/2023/11/image-12.png 1000w, https://rashahacks.com/content/images/2023/11/image-12.png 1133w" sizes="(min-width: 720px) 720px"></figure><!--kg-card-begin: markdown--><h2 id="tips">Tips</h2>
<!--kg-card-end: markdown--><!--kg-card-begin: markdown--><ol>
<li>Go for manual hacking. It is more effective, more fun, and avoids duplicates.</li>
<li>Test access controls on each and every feature. Maybe all features have good security checks but there could be some features where developers forgot to put the checks properly.</li>
<li>The way APIs are made is such that every resource has a unique ID assigned to it which they use to perform CRUD operations. So wherever you find IDs, try IDOR. IDOR is present everywhere.</li>
<li>Try changing/removing session-maintaining tokens or cookies, if resources are still accessible then it could be a bug. You can also do this with Burpsuite&apos;s Autorize extension.</li>
</ol>
<!--kg-card-end: markdown--><p>Thank you for reading. if you have any questions, DM me and I will get back to you!</p><blockquote class="kg-blockquote-alt">Happy Hacking!!</blockquote><blockquote>Author: Krishna Jaishwal</blockquote><blockquote>Twitter: <a href="https://twitter.com/Jarvis0p1?ref=rashahacks.com"><a href="https://twitter.com/3nc0d3dGuY?ref=rashahacks.com">twitter.com/j</a>arvis0p1</a><br>Linkedin: <a href="https://www.linkedin.com/in/krishna-jaishwal-3bb368237/?ref=rashahacks.com">linkedin.com/in/krishna-jaishwal-3bb368237/</a></blockquote>]]></content:encoded></item><item><title><![CDATA[Android Hacking: The libwebp Vulnerability (zero-day/zero-click)]]></title><description><![CDATA[libwebp vulnerability cve-2023-4863]]></description><link>https://rashahacks.com/android-hacking-the-libwebp-vulnerability-zero-day-zero-click/</link><guid isPermaLink="false">6528f730cfcdbf0482bd577b</guid><category><![CDATA[executable security]]></category><category><![CDATA[News]]></category><category><![CDATA[libwebp]]></category><category><![CDATA[cve-2023-4863]]></category><dc:creator><![CDATA[Bhaskar Ram]]></dc:creator><pubDate>Fri, 13 Oct 2023 08:11:32 GMT</pubDate><media:content url="https://rashahacks.com/content/images/2023/10/6a4a49_b00ebb52273c42108635b5b116369862-mv2.webp" medium="image"/><content:encoded><![CDATA[<img src="https://rashahacks.com/content/images/2023/10/6a4a49_b00ebb52273c42108635b5b116369862-mv2.webp" alt="Android Hacking: The libwebp Vulnerability (zero-day/zero-click)"><p>Welcome back, my aspiring cyberwarriors!</p><p>In recent days, a new and severe vulnerability has been found among the Android ecosystem that puts all Android devices, and even Apple iOS devices, at risk. It enables the attacker to send images via SMS and take control of the device with no user interaction! This vulnerability was first identified by Citizen Lab, a research lab based at the University of Toronto and famous for its tracking of the Pegasus malware. The vulnerability was first reported as <strong><a href="https://nvd.nist.gov/vuln/detail/CVE-2023-41064?ref=rashahacks.com">CVE-2023-41064</a></strong> but we have since learned that this vulnerability is ubiquitous throughout the Android ecosystem, Google chrome and many other Linux/Unix based systems. In addition, Telegram, the ToR browser, Brave, Gimp, LibreOffice and many other applications are vulnerable. This may be one of the most important vulnerabilities of our era!</p><figure class="kg-card kg-image-card"><img src="https://rashahacks.com/content/images/2023/10/Critical-zero-day-vulnerability-found-in-Google39s-Blog-Image-min-1980x745.jpg" class="kg-image" alt="Android Hacking: The libwebp Vulnerability (zero-day/zero-click)" loading="lazy" width="1980" height="745" srcset="https://rashahacks.com/content/images/size/w600/2023/10/Critical-zero-day-vulnerability-found-in-Google39s-Blog-Image-min-1980x745.jpg 600w, https://rashahacks.com/content/images/size/w1000/2023/10/Critical-zero-day-vulnerability-found-in-Google39s-Blog-Image-min-1980x745.jpg 1000w, https://rashahacks.com/content/images/size/w1600/2023/10/Critical-zero-day-vulnerability-found-in-Google39s-Blog-Image-min-1980x745.jpg 1600w, https://rashahacks.com/content/images/2023/10/Critical-zero-day-vulnerability-found-in-Google39s-Blog-Image-min-1980x745.jpg 1980w" sizes="(min-width: 720px) 720px"></figure><p>The vulnerability involves a library (reusable code) developed by Google over a decade ago to process images known as libwebp. libwebp was designed to be a more efficient method of processing images than say jpeg or other image processes algorithms. As such, it is used throughout the mobile device world and many browsers.</p><figure class="kg-card kg-image-card"><img src="https://rashahacks.com/content/images/2023/10/6a4a49_d43519ff90b54e18bfcef19a35994d39-mv2.webp" class="kg-image" alt="Android Hacking: The libwebp Vulnerability (zero-day/zero-click)" loading="lazy" width="928" height="356" srcset="https://rashahacks.com/content/images/size/w600/2023/10/6a4a49_d43519ff90b54e18bfcef19a35994d39-mv2.webp 600w, https://rashahacks.com/content/images/2023/10/6a4a49_d43519ff90b54e18bfcef19a35994d39-mv2.webp 928w" sizes="(min-width: 720px) 720px"></figure><p>The danger of this vulnerability is that it enables the attacker to install remote code on the device and take control with NO interaction from the user.</p><p>Let&apos;s delve a bit deeper into libwebp and this vulnerability.</p><h2 id="what-is-libwebp"><strong>What is libwebp?</strong></h2><p>libwebp is a library used by developers to compress graphic files for easier and more efficient transfer over the Internet. Nearly all graphic files you are familiar with such a jpeg, tiff, png, etc. are all compressed file formats. Without these compression algorithms, the Internet would move much slower. We also use compression in audio and video files such as mp3 and mp4.</p><p>libwebp was developed by Google and is widely used among phones, mobile devices and browsers. It&apos;s compression is significantly superior to other widely used compression algorithms such as jpeg (as much as 30-40% for efficient).</p><h2 id="what-is-lossless-and-lossy-compression"><strong>What is Lossless and Lossy Compression</strong></h2><p>Lossless compression is data compression in which the &#xA0;original data can be perfectly reconstructed from the compressed data. &#xA0;In other words, when a file undergoes lossless compression and is subsequently decompressed, no information is lost and the output is &#xA0;identical to the original input. PNG, FLAC, GIF and ZIP are lossless compression algorithms. Lossless compression is used throughout the Internet where speed and efficiency are important but where integrity is also necessary.</p><p>Lossy graphic file compression is a method of data compression &#xA0;where some of the file&apos;s data is permanently discarded during the &#xA0;compression process. In the context of graphic files, this means that &#xA0;some image information is lost when the file is compressed and cannot be &#xA0;fully recovered upon decompression. The main objective is to &#xA0;significantly reduce the file size to save storage space and decrease &#xA0;load times, often at the cost of some degradation in image quality. Many graphic, audio and video files are compressed with lossy compression due to the fact that our eyes and ears are not so sensitive to pick up the change of a single pixel or note</p><h2 id="how-does-the-exploit-work"><strong>How Does the Exploit Work</strong></h2><p>This exploit creates a buffer overflow in the image decoder enabling the attacker to install their own remote code and control the device. libwebp uses a Huffman tables (developed by David A. Huffman in 1952, is a popular &#xA0;method for lossless data compression. The central principle of Huffman &#xA0;coding is to use shorter binary codes for more frequent elements in the &#xA0;data and longer codes for less frequent elements) for compression and decompression. The compressed image files contain information about the shape of the Huffman tables and those tables are constructed by the decoder. These Huffman tables are constructed in a heap (heap is a memory area what application data is stored). A specially crafted WebP file can create a Huffman tree that overflows the heap and allows the attackers code to run</p><figure class="kg-card kg-image-card"><img src="https://rashahacks.com/content/images/2023/10/6a4a49_07a1054452164910ada6af409fba1b7e-mv2.webp" class="kg-image" alt="Android Hacking: The libwebp Vulnerability (zero-day/zero-click)" loading="lazy" width="1110" height="714" srcset="https://rashahacks.com/content/images/size/w600/2023/10/6a4a49_07a1054452164910ada6af409fba1b7e-mv2.webp 600w, https://rashahacks.com/content/images/size/w1000/2023/10/6a4a49_07a1054452164910ada6af409fba1b7e-mv2.webp 1000w, https://rashahacks.com/content/images/2023/10/6a4a49_07a1054452164910ada6af409fba1b7e-mv2.webp 1110w" sizes="(min-width: 720px) 720px"></figure><h2 id="summary"><strong>Summary</strong></h2><p>The libwebp vulnerability affects nearly every mobile device whether Android or iOS. It also affects the most commonly used browsers and many applications that enable graphics manipulations. The libwebp vulnerability may be the most important mobile device vulnerability of our times!</p><blockquote class="kg-blockquote-alt">Thank You for Reading!</blockquote><p>I appreciate you taking the time to read my blog post. Your support means the world to me. If you enjoyed this content and would like to stay connected, feel free to follow me on social media:</p><ul><li><strong>X (Formerly Twitter)</strong>: <a href="https://x.com/bhaskarvilles?ref=rashahacks.com">bhaskarvilles</a></li><li><strong>Instagram</strong>: <a href="https://instagram.com/bhaskarvilles?ref=rashahacks.com">bhaskarvilles</a></li><li><strong>LinkedIn</strong>: <a href="https://linkedin.com/in/bhaskarvilles?ref=rashahacks.com">bhaskarvilles</a></li></ul><p>Your feedback, comments, and shares are always welcome and greatly appreciated. I look forward to engaging with you and sharing more insightful content in the future.</p><p>Remember, your support keeps this blog going. Thank you once again for being a part of our community!</p>]]></content:encoded></item><item><title><![CDATA[Soft Deletion of Resources - [Privacy Violation]]]></title><description><![CDATA[<p></p><h2 id="introduction">Introduction</h2><p>Soft deletion is the process of showing that an entry is removed but not actually removed from the databases. Is it GDPR compliant? No. As per GDPR (General Data Protection Regulation), unauthorized access and unlawful processing of personal data protection must be there.</p><p>I am Inderjeet Singh aka encodedguy,</p>]]></description><link>https://rashahacks.com/soft-deletion-of-resources-privacy-violation/</link><guid isPermaLink="false">6528c97bcfcdbf0482bd5565</guid><category><![CDATA[bug bounty]]></category><category><![CDATA[web security]]></category><category><![CDATA[api security]]></category><dc:creator><![CDATA[Inderjeet Singh]]></dc:creator><pubDate>Fri, 13 Oct 2023 07:08:00 GMT</pubDate><media:content url="https://rashahacks.com/content/images/2023/10/username.png" medium="image"/><content:encoded><![CDATA[<img src="https://rashahacks.com/content/images/2023/10/username.png" alt="Soft Deletion of Resources - [Privacy Violation]"><p></p><h2 id="introduction">Introduction</h2><p>Soft deletion is the process of showing that an entry is removed but not actually removed from the databases. Is it GDPR compliant? No. As per GDPR (General Data Protection Regulation), unauthorized access and unlawful processing of personal data protection must be there.</p><p>I am Inderjeet Singh aka encodedguy, and today, I will describe how soft deletion works, why it&apos;s a bad idea for developers and what&apos;s in it for security people.</p><h2 id="table-of-contents">Table of Contents:</h2><ul><li>Soft Deletion</li><li>Why it&apos;s a bad idea?</li><li>Security</li><li>Finding Soft Deletion Vulnerabilities</li></ul><h2 id="soft-deletion">Soft Deletion</h2><p>How is it possible to show that my passport is not on the table but it&apos;s still there? In reality, it&apos;s not possible, but in computers (a world of illusion), it can be happen.</p><p>Developers while creating databases add a boolean field <code>is_deleted</code> for every record. When a user deletes some record from a table, the record&apos;s <code>is_deleted</code> value is set to <code>true</code> but the record is not actually removed from DB.</p><p><code>UPDATE users_passports SET is_deleted=true WHERE user_id =req.user.ID;</code></p><p>When a user sees the same records in the application, records won&apos;t appear.</p><p><code>SELECT * FROM users_passports WHERE (is_deleted=false &amp; user_id=req.user.ID)</code></p><p>Developers use it for data collection, processing, and for analytics purposes to analyze user data.</p><h2 id="why-its-a-bad-idea">Why it&apos;s a bad idea?</h2><ul><li>Extra storage space is required because resources are never going to be hard deleted, and one extra field <code>is_deleted</code> is required in the table.</li><li>It&apos;s not GDPR compliant. User have deleted their personal data but still it&apos;s present in the databases.</li></ul><h2 id="security">Security?</h2><p>Since, soft deletion doesn&apos;t care about personal data protection, security researchers can report soft deletion vulnerabilities in pentests or bug bounty engagements. Hackerone submissions and Bugcrowd VRT have options for privacy related bugs.</p><figure class="kg-card kg-image-card"><img src="https://rashahacks.com/content/images/2023/10/image-1.png" class="kg-image" alt="Soft Deletion of Resources - [Privacy Violation]" loading="lazy" width="2000" height="390" srcset="https://rashahacks.com/content/images/size/w600/2023/10/image-1.png 600w, https://rashahacks.com/content/images/size/w1000/2023/10/image-1.png 1000w, https://rashahacks.com/content/images/size/w1600/2023/10/image-1.png 1600w, https://rashahacks.com/content/images/size/w2400/2023/10/image-1.png 2400w" sizes="(min-width: 720px) 720px"></figure><figure class="kg-card kg-image-card"><img src="https://rashahacks.com/content/images/2023/10/image.png" class="kg-image" alt="Soft Deletion of Resources - [Privacy Violation]" loading="lazy" width="1586" height="590" srcset="https://rashahacks.com/content/images/size/w600/2023/10/image.png 600w, https://rashahacks.com/content/images/size/w1000/2023/10/image.png 1000w, https://rashahacks.com/content/images/2023/10/image.png 1586w" sizes="(min-width: 720px) 720px"></figure><p></p><h2 id="finding-soft-deletion-vulnerabilities">Finding Soft Deletion Vulnerabilities</h2><p>Depending on the application, way to find soft deletion could differ. Common idea is to delete something and find a way to access this resource after deletion via API endpoints or via other referenced table.</p><h3 id="restapi">RestAPI</h3><ul><li><code>GET /api/v2/passports/&lt;UUID-A&gt;</code> : 200 OK with the passport data.</li><li><code>DELETE /api/v2/passports/&lt;UUID-A&gt;</code> : <code>204 No Content</code> with passport data in response body.</li><li><code>GET /api/v2/passports/&lt;UUID-A&gt;</code>: <code>404 Not Found</code>.</li><li>Hit the <code>DELETE</code> endpoint once again with same UUID.</li><li><code>DELETE /api/v2/passports/&lt;UUID-A&gt;</code>: <code>204 No Content</code> with same passport data in response body.</li></ul><p>This shows that GET endpoint for fetching password data is not responding, but we can verify using DELETE endpoint that data is not hard deleted.</p><h2 id="graphql">GraphQL</h2><ul><li><code>query getUserPassport(){fields}</code>: 200 OK with the passport data.</li><li><code>mutation deleteUserPassport(&quot;passport&quot;:&quot;&lt;UUID-A&gt;&quot;)</code>: 204 No Content with passport data in response body.</li><li><code>query getUserPassport(){fields}</code>: 404 Not Found.</li><li>Hit the delete mutation once again with same UUID.</li><li><code>mutation deleteUserPassport(&quot;passport&quot;:&quot;&lt;UUID-A&gt;&quot;)</code>: 204 No Content with same passport data in response body.</li></ul><h2 id="others">Others</h2><ul><li>Delete Profile Picture.</li><li>Is the profile picture&apos;s CDN URL still accessible? If yes, privacy violated.</li><li>Delete user uploaded data (videos, attachments, etc.)</li><li>Are files still accessible? If yes, privacy violated.</li></ul><h2 id="conclusion">Conclusion</h2><p>Soft deletion method is used by businesses for data collection and analytics purposes and it&apos;s not GDPR compliant. If you ever counter, such soft deletion scenario while deletion, just click on Submit a Bug Report.</p><blockquote class="kg-blockquote-alt">Thank you for reading!</blockquote><blockquote>Author: Inderjeet Singh</blockquote><blockquote>Twitter: <a href="https://twitter.com/3nc0d3dGuY?ref=rashahacks.com">twitter.com/3nc0d3dGuY</a></blockquote>]]></content:encoded></item><item><title><![CDATA[Binary Exploitation: 64-bit Buffer Overflow Attack]]></title><description><![CDATA[<p></p><p>Hello security folks, before I start let me first introduce myself. I am jarvis0p, a college student in daylight and cyber security learner during shadows. This write up is going to be complete beginners friendly, a guide to perform 64-bit buffer overflow attack. Along the way you ll learn some</p>]]></description><link>https://rashahacks.com/binary-exploitation-64-bit-buffer-overflow-attack/</link><guid isPermaLink="false">650d15c484712707302e0fdc</guid><category><![CDATA[binary exploitation]]></category><category><![CDATA[buffer overflow]]></category><category><![CDATA[pwning]]></category><category><![CDATA[executable security]]></category><dc:creator><![CDATA[Jarvis0p]]></dc:creator><pubDate>Sat, 23 Sep 2023 08:15:38 GMT</pubDate><media:content url="https://rashahacks.com/content/images/2023/09/Firefly-Generate-an-image-where-a-bucket-full-of-bytes--0s-and-1s--is-overflowing-and-the-bytes-are-.jpg" medium="image"/><content:encoded><![CDATA[<img src="https://rashahacks.com/content/images/2023/09/Firefly-Generate-an-image-where-a-bucket-full-of-bytes--0s-and-1s--is-overflowing-and-the-bytes-are-.jpg" alt="Binary Exploitation: 64-bit Buffer Overflow Attack"><p></p><p>Hello security folks, before I start let me first introduce myself. I am jarvis0p, a college student in daylight and cyber security learner during shadows. This write up is going to be complete beginners friendly, a guide to perform 64-bit buffer overflow attack. Along the way you ll learn some fundamentals of assembly, payload creation, and getting code execution.</p><!--kg-card-begin: markdown--><h2 id="setup-environment">Setup Environment</h2>
<!--kg-card-end: markdown--><p>Before we start, lets setup our working environment to perform this attack and make sure in anyway it is not going to harm our system. For this, I want to you to use a remote Virtual Private Server (VPS). You can achieve this easily by firing up an Ubuntu Machine on AWS &#xA0;EC2 instance. After initializing, connect to the instance and run below commands to install necessary packages.</p><!--kg-card-begin: markdown--><pre><code class="language-bash">sudo apt update
sudo apt install gcc gdb checksec
bash -c &quot;$(curl -fsSL https://gef.blah.cat/sh)&quot;
</code></pre>
<!--kg-card-end: markdown--><p>There is one more thing you need to configure before we proceed. By default all Linux kernels are configured with a memory randomization protection known as Address Space Layout Randomization or ASLR. This is a security feature which randomizes the memory addresses at which various components of a program, including the stack, heap, shared libraries, and the executable itself. This randomization makes it more challenging for attackers to predict the memory addresses of specific functions or data structures, making it harder to execute successful buffer overflow attacks. This mechanism can be implemented on three levels.</p><!--kg-card-begin: markdown--><ul>
<li>2 = Full Randomization</li>
<li>1 = Conservative Randomization</li>
<li>0 = No Randomization</li>
</ul>
<!--kg-card-end: markdown--><p>Run this command to see the current value of randomization.</p><!--kg-card-begin: markdown--><p><code>sysctl kernel.randomize_va_space</code></p>
<!--kg-card-end: markdown--><p>You ll get it default value set to be 2. Yes, linux kernels are very protective!!!. So lets turn it off completely to 0 so that we don&apos;t have to deal with complex low level programming. </p><!--kg-card-begin: markdown--><p><code>sudo sysctl kernel.randomize_va_space=0</code></p>
<!--kg-card-end: markdown--><p>With this we are all set with our environment.</p><!--kg-card-begin: markdown--><h2 id="vulnerable-code">Vulnerable Code</h2>
<!--kg-card-end: markdown--><p>Take a look at this C code</p><!--kg-card-begin: markdown--><pre><code class="language-c">#include &lt;stdio.h&gt;
#include &lt;string.h&gt;

void secret() {
    printf(&quot;You have successfully executed the secret function!\n&quot;);
}

void vulnerable_function(char *input) {
    char buffer[64];
    strcpy(buffer, input);
    printf(&quot;Buffer content: %s\n&quot;, buffer);
}

int main() {
    char input[128]; 

    printf(&quot;Enter input: &quot;);
    if (scanf(&quot;%127s&quot;, input) != 1) {
        printf(&quot;Failed to read input.\n&quot;);
        return 1;
    }

    vulnerable_function(input);

    return 0;
}

</code></pre>
<!--kg-card-end: markdown--><p>This C program have three functions: main, vulnerable_function and secret. The main() function is reading array of characters as input. The vulnerable_function is then called with this input as argument. In this function a 64 bytes buffer array has been defined and then it is calling a literally very dangerous function strcpy() to copy bytes form input variable to buffer. The problem here with this function is that while copying it does not care about size of the buffer and keeps doing it even though the size 64 bytes is filled. The copying of extra bytes now start to mess around with other stacks in the programs memory. So suppose if we pass lots of &apos;A&apos; to the input of the program, it will start overwriting other stacks and pointers ex stack pointer ESP, base pointer EBP. But there is one more secret function which is actually never been called in the code or program never intends to call it, but by the end I ll show you that using buffer overflow vulnerability how an attacker can execute this secret function.</p><figure class="kg-card kg-image-card"><img src="https://rashahacks.com/content/images/2023/09/image.png" class="kg-image" alt="Binary Exploitation: 64-bit Buffer Overflow Attack" loading="lazy" width="1400" height="1157" srcset="https://rashahacks.com/content/images/size/w600/2023/09/image.png 600w, https://rashahacks.com/content/images/size/w1000/2023/09/image.png 1000w, https://rashahacks.com/content/images/2023/09/image.png 1400w" sizes="(min-width: 720px) 720px"></figure><!--kg-card-begin: markdown--><h2 id="disable-securities">Disable securities</h2>
<!--kg-card-end: markdown--><p>Now let see this in live action and compile the program &amp; run it with say 10 A&apos;s as input</p><!--kg-card-begin: markdown--><p><code>gcc vuln.c -o vulnbin</code><br>
<code>./vulnbin</code></p>
<!--kg-card-end: markdown--><figure class="kg-card kg-image-card"><img src="https://rashahacks.com/content/images/2023/09/image-2.png" class="kg-image" alt="Binary Exploitation: 64-bit Buffer Overflow Attack" loading="lazy" width="930" height="269" srcset="https://rashahacks.com/content/images/size/w600/2023/09/image-2.png 600w, https://rashahacks.com/content/images/2023/09/image-2.png 930w" sizes="(min-width: 720px) 720px"></figure><p>Okay, everything went smoothly, no problem. But we want to create problem, so this time try it with 100 A&apos;s. For that you can use our good old friend python3 to print these A&apos;s like this:</p><!--kg-card-begin: markdown--><p><code>python3 -c &apos;print(&quot;A&quot;*100)&apos;</code></p>
<!--kg-card-end: markdown--><figure class="kg-card kg-image-card"><img src="https://rashahacks.com/content/images/2023/09/image-3.png" class="kg-image" alt="Binary Exploitation: 64-bit Buffer Overflow Attack" loading="lazy" width="1890" height="420" srcset="https://rashahacks.com/content/images/size/w600/2023/09/image-3.png 600w, https://rashahacks.com/content/images/size/w1000/2023/09/image-3.png 1000w, https://rashahacks.com/content/images/size/w1600/2023/09/image-3.png 1600w, https://rashahacks.com/content/images/2023/09/image-3.png 1890w" sizes="(min-width: 720px) 720px"></figure><figure class="kg-card kg-image-card"><img src="https://rashahacks.com/content/images/2023/09/giphy.gif" class="kg-image" alt="Binary Exploitation: 64-bit Buffer Overflow Attack" loading="lazy" width="480" height="270"></figure><p>Ooops, looks like someone&apos;s hurt. Yess Linux and gcc does not like to be messed around. It says <code>stack smashing detected</code> so basically we are caught red hands. Here I want to you to use a tool that I earlier made you to install. It is designed to check the security of a binary.</p><!--kg-card-begin: markdown--><p><code>checksec --file=vulnbin</code></p>
<!--kg-card-end: markdown--><figure class="kg-card kg-image-card"><img src="https://rashahacks.com/content/images/2023/09/image-4.png" class="kg-image" alt="Binary Exploitation: 64-bit Buffer Overflow Attack" loading="lazy" width="1873" height="118" srcset="https://rashahacks.com/content/images/size/w600/2023/09/image-4.png 600w, https://rashahacks.com/content/images/size/w1000/2023/09/image-4.png 1000w, https://rashahacks.com/content/images/size/w1600/2023/09/image-4.png 1600w, https://rashahacks.com/content/images/2023/09/image-4.png 1873w" sizes="(min-width: 720px) 720px"></figure><p>This shows how securely the program was compiled. You ll see full relro, stack canary found, NX enabled, Position Independent executable (PIE), etc. I recommend to dig into these terms later but for now we atleast get that these green colors shows that this was the thing which was earlier detecting stack smashing. So to make these in red or I mean to say turn off these security protections, compile it like this and then again run the program with 100 A&apos;s.</p><!--kg-card-begin: markdown--><p><code>gcc -fno-stack-protector -z execstack -no-pie vuln.c -o vulnbin</code></p>
<!--kg-card-end: markdown--><!--kg-card-begin: markdown--><h2 id="overflow-begins">Overflow begins</h2>
<!--kg-card-end: markdown--><figure class="kg-card kg-image-card"><img src="https://rashahacks.com/content/images/2023/09/image-5.png" class="kg-image" alt="Binary Exploitation: 64-bit Buffer Overflow Attack" loading="lazy" width="1854" height="196" srcset="https://rashahacks.com/content/images/size/w600/2023/09/image-5.png 600w, https://rashahacks.com/content/images/size/w1000/2023/09/image-5.png 1000w, https://rashahacks.com/content/images/size/w1600/2023/09/image-5.png 1600w, https://rashahacks.com/content/images/2023/09/image-5.png 1854w" sizes="(min-width: 720px) 720px"></figure><p>Finally this time we get different output. It says Segmentation fault. Its clear that we managed to break the program. Lets get into details of exactly what and where it broke. You can easily achieve this by using a tool dmesg which logs all kernel errors in it. You will need root permission for that so put sudo and pipe its output to tail command which will only show important last 5 lines of it.</p><!--kg-card-begin: markdown--><p><code>sudo dmesg | tail</code></p>
<!--kg-card-end: markdown--><figure class="kg-card kg-image-card"><img src="https://rashahacks.com/content/images/2023/09/image-6.png" class="kg-image" alt="Binary Exploitation: 64-bit Buffer Overflow Attack" loading="lazy" width="1865" height="385" srcset="https://rashahacks.com/content/images/size/w600/2023/09/image-6.png 600w, https://rashahacks.com/content/images/size/w1000/2023/09/image-6.png 1000w, https://rashahacks.com/content/images/size/w1600/2023/09/image-6.png 1600w, https://rashahacks.com/content/images/2023/09/image-6.png 1865w" sizes="(min-width: 720px) 720px"></figure><p>Take a look at the last line, here it says about our program vulnbin that some fault occured at instruction pointer ip at mem address 4011f0. Hmmmmm. This is not enough details but at least we get the idea that ip broke at somewhere 0x4011f0. &#xA0;</p><p>Okay Finally its time to get our hands dirty with gdb. We will be using gdb gef (GDB enhanced feature) to assist us in exploit development. Fire up gdb with specifying the binary. </p><!--kg-card-begin: markdown--><p><code>gdb vulnbin</code></p>
<!--kg-card-end: markdown--><figure class="kg-card kg-image-card"><img src="https://rashahacks.com/content/images/2023/09/image-8.png" class="kg-image" alt="Binary Exploitation: 64-bit Buffer Overflow Attack" loading="lazy" width="1869" height="872" srcset="https://rashahacks.com/content/images/size/w600/2023/09/image-8.png 600w, https://rashahacks.com/content/images/size/w1000/2023/09/image-8.png 1000w, https://rashahacks.com/content/images/size/w1600/2023/09/image-8.png 1600w, https://rashahacks.com/content/images/2023/09/image-8.png 1869w" sizes="(min-width: 720px) 720px"></figure><p>You ll see that you have entered into a new command line. To get your way through you can type <code>help</code> and enter to see all commands of gdb gef. But before we run the program here, lets have deep dive in our binary and its functions address in memory. Run this inside gdb gef. </p><!--kg-card-begin: markdown--><p><code>info functions</code></p>
<!--kg-card-end: markdown--><p> </p><figure class="kg-card kg-image-card"><img src="https://rashahacks.com/content/images/2023/09/image-12.png" class="kg-image" alt="Binary Exploitation: 64-bit Buffer Overflow Attack" loading="lazy" width="747" height="686" srcset="https://rashahacks.com/content/images/size/w600/2023/09/image-12.png 600w, https://rashahacks.com/content/images/2023/09/image-12.png 747w" sizes="(min-width: 720px) 720px"></figure><p>You can see all the functions used in the code are here. But we are interested in the secret function, so note its mem address i.e. <code>0x0000000000401196</code>.</p><p>Now lets run our program by simply typing <code>r</code> and enter. This time we will again provide 100 A&apos;s as input to create buffer overflow scenario.</p><figure class="kg-card kg-image-card"><img src="https://rashahacks.com/content/images/2023/09/image-9.png" class="kg-image" alt="Binary Exploitation: 64-bit Buffer Overflow Attack" loading="lazy" width="1917" height="947" srcset="https://rashahacks.com/content/images/size/w600/2023/09/image-9.png 600w, https://rashahacks.com/content/images/size/w1000/2023/09/image-9.png 1000w, https://rashahacks.com/content/images/size/w1600/2023/09/image-9.png 1600w, https://rashahacks.com/content/images/2023/09/image-9.png 1917w" sizes="(min-width: 720px) 720px"></figure><figure class="kg-card kg-image-card"><img src="https://rashahacks.com/content/images/2023/09/image-10.png" class="kg-image" alt="Binary Exploitation: 64-bit Buffer Overflow Attack" loading="lazy" width="1917" height="947" srcset="https://rashahacks.com/content/images/size/w600/2023/09/image-10.png 600w, https://rashahacks.com/content/images/size/w1000/2023/09/image-10.png 1000w, https://rashahacks.com/content/images/size/w1600/2023/09/image-10.png 1600w, https://rashahacks.com/content/images/2023/09/image-10.png 1917w" sizes="(min-width: 720px) 720px"></figure><p> I know this is lot, even for me, but at least we can look around for things that we are familiar with, like esp or eip.</p><p>$rsp &#xA0; : 0x00007fffffffe2d8 &#xA0;&#x2192; &#xA0;&quot;AAAAAAAAAAAAAAAAAAAAAAAAAAAA&quot; <br>this means that the actual value of $rsp (stack pointer) was &#xA0;0x00007fffffffe2d8 but because we supplied input so long that it started interfering with the stack pointer and filled it with all A&apos;s</p><p>Same goes with $rbp (base pointer), and other stacks. What I want you to notice is that, it does not knocked out $rip (instruction pointer) address. Even though you supply any number of A&apos;s it may not effect it at all but this is what we want to achieve because instruction pointer controls which function to execute. If this was a 32-bit binary it would have worked, but why is this happening with x64 bit? Stuck? Lets take help. Take a quick read of this post and learn how calling convention works for x64 bit binary.</p><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://learn.microsoft.com/en-us/cpp/build/x64-calling-convention?view=msvc-170&amp;ref=rashahacks.com"><div class="kg-bookmark-content"><div class="kg-bookmark-title">x64 calling convention</div><div class="kg-bookmark-description">Learn about the details of the default x64 calling convention.</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://learn.microsoft.com/favicon.ico" alt="Binary Exploitation: 64-bit Buffer Overflow Attack"><span class="kg-bookmark-author">Microsoft Learn</span><span class="kg-bookmark-publisher">TylerMSFT</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://learn.microsoft.com/en-us/media/open-graph-image.png" alt="Binary Exploitation: 64-bit Buffer Overflow Attack"></div></a></figure><!--kg-card-begin: markdown--><h2 id="hunt-the-offset">Hunt the offset</h2>
<!--kg-card-end: markdown--><p>This is were gdb gef will assist us and make our work easy to find the exact number of A&apos;s or call it as offset after which we can put our payload which will overwrite ip address.</p><p>Run this command inside gdb to get a cyclic string of 100 bytes</p><!--kg-card-begin: markdown--><p><code>pattern create 100</code></p>
<!--kg-card-end: markdown--><figure class="kg-card kg-image-card"><img src="https://rashahacks.com/content/images/2023/09/image-13.png" class="kg-image" alt="Binary Exploitation: 64-bit Buffer Overflow Attack" loading="lazy" width="1823" height="199" srcset="https://rashahacks.com/content/images/size/w600/2023/09/image-13.png 600w, https://rashahacks.com/content/images/size/w1000/2023/09/image-13.png 1000w, https://rashahacks.com/content/images/size/w1600/2023/09/image-13.png 1600w, https://rashahacks.com/content/images/2023/09/image-13.png 1823w" sizes="(min-width: 720px) 720px"></figure><p>Now run the program using <code>r</code> command and copy paste the pattern as input. Then run this command to get value of offset bytes:</p><!--kg-card-begin: markdown--><p><code>pattern search $rsp</code></p>
<!--kg-card-end: markdown--><figure class="kg-card kg-image-card"><img src="https://rashahacks.com/content/images/2023/09/image-14.png" class="kg-image" alt="Binary Exploitation: 64-bit Buffer Overflow Attack" loading="lazy" width="1264" height="160" srcset="https://rashahacks.com/content/images/size/w600/2023/09/image-14.png 600w, https://rashahacks.com/content/images/size/w1000/2023/09/image-14.png 1000w, https://rashahacks.com/content/images/2023/09/image-14.png 1264w" sizes="(min-width: 720px) 720px"></figure><p>Gef will find offset for you, 72 in this case with little endianess</p><!--kg-card-begin: markdown--><h2 id="payload-generation">Payload generation</h2>
<!--kg-card-end: markdown--><p>We now know that 72 bytes is the exact number of stuffing we have to do to reach to instruction pointer and may be overwrite it. Here comes the part were we play with our input/payload to observe the behaviour of stacks and pointers. So lets try 72 A&apos;s and then 6 B&apos;s (exactly six because of calling convention of 64-bit ELF binary) and see what it does with the $rip. Again you can get this done by python3</p><!--kg-card-begin: markdown--><p><code>python3 -c &apos;print(&quot;A&quot;*72 + &quot;B&quot;*6)&apos;</code></p>
<!--kg-card-end: markdown--><p>copy the payload and run it inside gdb.</p><figure class="kg-card kg-image-card"><img src="https://rashahacks.com/content/images/2023/09/image-15.png" class="kg-image" alt="Binary Exploitation: 64-bit Buffer Overflow Attack" loading="lazy" width="1825" height="962" srcset="https://rashahacks.com/content/images/size/w600/2023/09/image-15.png 600w, https://rashahacks.com/content/images/size/w1000/2023/09/image-15.png 1000w, https://rashahacks.com/content/images/size/w1600/2023/09/image-15.png 1600w, https://rashahacks.com/content/images/2023/09/image-15.png 1825w" sizes="(min-width: 720px) 720px"></figure><p>Finlly we are able to overwrite instruction pointer. `$rip &#xA0; : 0x424242424242`. (value of B in hex is 42). So this should be our payload structure:</p><!--kg-card-begin: markdown--><p><code> 72 A&apos;s + (address which we want to write in $rip)</code></p>
<!--kg-card-end: markdown--><p>Note we already saved the address of secret function and this address we will put after 72 A&apos;s. This will overwrite instruction pointer to the secret function address which will force it to move to the function and execute &#xA0;it. So here is our final payload to execute secret function. Keep in mind I am on little endian arch, so writing secret function address in reverse order up to 6 bytes.</p><!--kg-card-begin: markdown--><p><code> 72 A&apos;s + &quot;\x96\x11\x40\x00\x00\x00&quot;</code></p>
<!--kg-card-end: markdown--><p>Since these hex may be non characters so we can not copy paste it, we have to pipe this as stdin to the binary. This time instead of using print function, I am using <code>sys.stdout</code> module to output non printable characters in bytes format.</p><!--kg-card-begin: markdown--><pre><code class="language-bash">python3 -c &apos;import sys; sys.stdout.buffer.write(b&quot;A&quot;*72 + b&quot;\x96\x11\x40\x00\x00\x00&quot;)&apos; | ./vulnbin
</code></pre>
<!--kg-card-end: markdown--><figure class="kg-card kg-image-card"><img src="https://rashahacks.com/content/images/2023/09/image-16.png" class="kg-image" alt="Binary Exploitation: 64-bit Buffer Overflow Attack" loading="lazy" width="1884" height="176" srcset="https://rashahacks.com/content/images/size/w600/2023/09/image-16.png 600w, https://rashahacks.com/content/images/size/w1000/2023/09/image-16.png 1000w, https://rashahacks.com/content/images/size/w1600/2023/09/image-16.png 1600w, https://rashahacks.com/content/images/2023/09/image-16.png 1884w" sizes="(min-width: 720px) 720px"></figure><p>Yaaay, We successfully executed secret function.</p><!--kg-card-begin: markdown--><h2 id="conclusion">Conclusion</h2>
<!--kg-card-end: markdown--><p>If you think about root cause of this whole shenanigan, it all started due to strcpy() function which was blindly doing its work. Although we had to disable some security measures to see the attack it does not mean a hacker can not break those, it will only be more challenging but not impossible.</p><blockquote class="kg-blockquote-alt">Thanks!!</blockquote><blockquote>Author: Krishna Jaishwal</blockquote><blockquote>Twitter: https://twitter.com/jarvis0p1</blockquote>]]></content:encoded></item><item><title><![CDATA[API Excessive Data Exposure: Why Devs? Why?]]></title><description><![CDATA[<p></p><h2 id="api-excessive-data-exposure">API Excessive Data Exposure</h2><p>When the API sends extra response to the client than required, it is called as API Excessive Data Exposure. In layman&apos;s terms, client wants x but API sends x+y.</p><h2 id="is-xy-a-bug">Is x+y a bug?</h2><p>I am not saying x+y is a bug,</p>]]></description><link>https://rashahacks.com/api-excessive-data-exposure/</link><guid isPermaLink="false">64e7fee63ac2bd04a7f16846</guid><category><![CDATA[api security]]></category><category><![CDATA[api hacking]]></category><category><![CDATA[bug bounty]]></category><dc:creator><![CDATA[Inderjeet Singh]]></dc:creator><pubDate>Fri, 25 Aug 2023 11:04:05 GMT</pubDate><media:content url="https://rashahacks.com/content/images/2023/08/API-2.png" medium="image"/><content:encoded><![CDATA[<img src="https://rashahacks.com/content/images/2023/08/API-2.png" alt="API Excessive Data Exposure: Why Devs? Why?"><p></p><h2 id="api-excessive-data-exposure">API Excessive Data Exposure</h2><p>When the API sends extra response to the client than required, it is called as API Excessive Data Exposure. In layman&apos;s terms, client wants x but API sends x+y.</p><h2 id="is-xy-a-bug">Is x+y a bug?</h2><p>I am not saying x+y is a bug, but it can be.</p><p>For example, A client requires firstname and country to be visible on a public profile. API response contains <code>username</code>, <code>firstname</code>, <code>country</code>, <code>countryCode</code>, <code>phonecode</code>, <code>avatarUrl</code>, and <code>isAdmin</code> parameters.</p><p>This is not a bug. You can argue that this parameter <code>isAdmin</code> is extra here. Well, it&apos;s just a <code>true/false</code> value. You can use this to chain it with your further IDOR or BAC bug to get admin&apos;s data, but it&apos;s not worth reporting.</p><h2 id="when-is-xy-a-bug">When is x+y a bug?</h2><p>If excessive user personally identifiable information (PII) data, system data, internal data, infrastructure data, etc. is leaked in the API response. And, only when it&apos;s excessive or unauthorized.</p><p>For example, A client requires firstname and country to be visible on a public profile. API response contains <code>email</code>, <code>auth_token</code>. It&apos;s worth reporting.</p><p>One more, An error message is thrown, but within the API response contains <code>errorCode</code>, <code>description</code>, and whole <code>stackTrace</code> with internal paths, system usernames, etc. This is worth reporting.</p><h2 id="why-does-this-happen">Why does this happen?</h2><p>Devs sometimes let the frontend server or client-side JS do the filtering for API responses. This creates a security hole because by hitting the API call, attacker can get more data then required if excessive data is present.</p><h2 id="conclusion">Conclusion</h2><p>Today we have SOAP APIs, GraphQL, RestAPI, gRPC, WebSocket API, etc. Every API have different way of dealing with the HTTP request. Play with the requests and always watch carefully what is present in the response. If x is required, and x+y is visible, where y looks impactful, you just got a bug!</p><blockquote>Author: Inderjeet Singh</blockquote><blockquote>Twitter: https://twitter.com/3nc0d3dGuY</blockquote><blockquote class="kg-blockquote-alt">Happy Hacking!!</blockquote>]]></content:encoded></item><item><title><![CDATA[5500$ Bug Story - Ezzy 2FA Bypass]]></title><description><![CDATA[<p></p><h2 id="summary">Summary:</h2><p>A payment application requires 2FA verification by your number and email both when editing user details including name, email or phone number. I found an easy bypass for the implemented 2FA flow through which an attacker can edit the user details without his phone/email access that finally leads</p>]]></description><link>https://rashahacks.com/5000-for-easy-2fa-bypass/</link><guid isPermaLink="false">64d496fc150941916fb2dc1f</guid><dc:creator><![CDATA[Inderjeet Singh]]></dc:creator><pubDate>Thu, 10 Aug 2023 15:40:51 GMT</pubDate><media:content url="https://rashahacks.com/content/images/2023/08/5000--4.png" medium="image"/><content:encoded><![CDATA[<img src="https://rashahacks.com/content/images/2023/08/5000--4.png" alt="5500$ Bug Story - Ezzy 2FA Bypass"><p></p><h2 id="summary">Summary:</h2><p>A payment application requires 2FA verification by your number and email both when editing user details including name, email or phone number. I found an easy bypass for the implemented 2FA flow through which an attacker can edit the user details without his phone/email access that finally leads to an account takeover.</p><h2 id="steps-to-reproduce">Steps to Reproduce:</h2><ol><li>Go to Edit section, start editing the email field.</li><li>2FA prompt will ask you for an OTP on current email.</li><li>Enter the wrong OTP &quot;123456&quot;. Intercept the response.</li><li>Change response from <code>{&quot;success&quot;:&quot;false&quot;}</code> to <code>{&quot;success&quot;:&quot;true&quot;}</code>.</li><li>2FA prompt will again ask you for an OTP on current phone number.</li><li>Enter the wrong OTP &quot;123456&quot;. Intercept the response.</li><li>Change response from <code>{&quot;success&quot;:&quot;false&quot;}</code> to <code>{&quot;success&quot;:&quot;true&quot;}</code>.</li><li>Prompt will ask you to enter email to be changed, input attacker email here.</li><li>Enter the OTP that came in your email inbox.</li><li>Refresh the dashboard, email changed.</li></ol><h2 id="why-it-happened">Why It Happened?</h2><p>Generally, after 2FA verification (1st HTTP request) a token is assigned and this token will be used with email change request (2nd HTTP request). Here, no such token was sent when entering OTP (in 1st HTTP response). This is a common case to check in case of multi-stage actions.</p><h2 id="reporting-timeline">Reporting Timeline</h2><p>10 May 2023 - Reported via Hackerone</p><p>11th May 2023 - &#xA0;Status changed to Triaged</p><p>7th June 2023 - Retest completed 50$ and Resolved</p><p>10th June 2023 - 5000$ reward + 500$ bonus</p><p></p><blockquote>Author: Inderjeet Singh</blockquote><blockquote>Hackerone: https://hackerone.com/encodedguy</blockquote><blockquote>Twitter: https://twitter.com/3nc0d3dGuY</blockquote><p></p><blockquote class="kg-blockquote-alt">Happy Hacking!!</blockquote>]]></content:encoded></item><item><title><![CDATA[Default OTP: Account Takeover]]></title><description><![CDATA[<p></p><h3 id="summary">Summary</h3><p>Attacker can login into any account by entering their phone number and confirmation OTP 1234. The target was not in production, 1234 must be hardcoded or used as a default OTP.</p><h3 id="reproduction-steps">Reproduction Steps</h3><ol><li>Go to <code>foo.bar.target.com</code> and click on Login.</li><li>Enter your phone number.</li><li>Enter confirmation</li></ol>]]></description><link>https://rashahacks.com/default-otp-account-takeover/</link><guid isPermaLink="false">649ec6f6150941916fb2dad7</guid><dc:creator><![CDATA[Inderjeet Singh]]></dc:creator><pubDate>Fri, 30 Jun 2023 12:28:52 GMT</pubDate><media:content url="https://rashahacks.com/content/images/2023/06/1.png" medium="image"/><content:encoded><![CDATA[<img src="https://rashahacks.com/content/images/2023/06/1.png" alt="Default OTP: Account Takeover"><p></p><h3 id="summary">Summary</h3><p>Attacker can login into any account by entering their phone number and confirmation OTP 1234. The target was not in production, 1234 must be hardcoded or used as a default OTP.</p><h3 id="reproduction-steps">Reproduction Steps</h3><ol><li>Go to <code>foo.bar.target.com</code> and click on Login.</li><li>Enter your phone number.</li><li>Enter confirmation OTP: 1234.</li><li>Login successful.</li></ol><h3 id="timeline">Timeline</h3><ol><li>19 September 2022 - Reported via Hackerone</li><li>21 September 2022 - Status changed to PPR</li><li>23 September 2022 - Triaged</li><li>27 September 2022 - Rewarded</li><li>3 October 2022 - Resolved</li></ol>]]></content:encoded></item><item><title><![CDATA[Unmasking Scammers]]></title><description><![CDATA[<p>A scam is a dishonest or fraudulent scheme or activity conducted by individuals or groups to deceive or defraud others for personal gain. Scams are typically designed to manipulate victims into providing money, sensitive information, or access to their assets under pretences. Scammers employ various tactics such as false promises,</p>]]></description><link>https://rashahacks.com/scammers/</link><guid isPermaLink="false">64933ddd150941916fb2d97e</guid><dc:creator><![CDATA[nagasaikiran010]]></dc:creator><pubDate>Sat, 24 Jun 2023 09:33:46 GMT</pubDate><media:content url="https://rashahacks.com/content/images/2023/06/Scammers.png" medium="image"/><content:encoded><![CDATA[<img src="https://rashahacks.com/content/images/2023/06/Scammers.png" alt="Unmasking Scammers"><p>A scam is a dishonest or fraudulent scheme or activity conducted by individuals or groups to deceive or defraud others for personal gain. Scams are typically designed to manipulate victims into providing money, sensitive information, or access to their assets under pretences. Scammers employ various tactics such as false promises, misrepresentation, impersonation, or coercion to trick their targets into taking actions that benefit the scammer at the expense of the victim. Scams can occur through different mediums, including phone calls, emails, text messages, social media platforms, online marketplaces, or in-person interactions. The ultimate goal of a scam is to exploit the trust, vulnerability, or ignorance of the victim for financial or personal advantage.</p><p>The term &quot;scammers&quot; refers to individuals or groups who engage in dishonest or fraudulent activities to deceive or defraud others. Scammers employ various deceptive tactics to manipulate and exploit their victims for personal gain, often financially.</p><p>Scammers may use false identities, misleading information, or coercion to trick their targets into providing money, sensitive personal information, access to their assets, or other valuable resources. They often exploit people&apos;s trust, vulnerability, or lack of knowledge to carry out their fraudulent schemes.</p><p><em>The term &quot;scammers&quot; can encompass a wide range of individuals or groups involved in fraudulent activities, including:</em></p><ol><li>Online scammers: These scammers primarily operate on the internet, using various channels such as emails, social media platforms, fake websites, or online marketplaces to target victims.</li><li>Phone scammers: These scammers make unsolicited phone calls to potential victims, employing tactics like impersonation, false claims, or coercive techniques to deceive and defraud people.</li><li>Fraudulent businesses: Scammers may set up fake businesses or websites that appear legitimate, offering products, services, or investment opportunities that are either non-existent or deceptive.</li><li>Impersonators: Scammers sometimes pose as reputable individuals, organizations, or professionals to gain trust and exploit their victims. They may impersonate government officials, financial institutions, charities, or well-known companies.</li><li>Advanced fee fraudsters: These scammers entice victims with the promise of a large sum of money but require an upfront payment or fee before the funds can be released. However, the promised funds never materialize, and the victims are left empty-handed.</li></ol><blockquote>The statement that scammers are earning more money in recent days is a broad claim and may not be universally true. However, it is possible that certain types of scams have become more prevalent or effective in certain regions or industries. The reasons for this can vary, but here are a few possible factors:</blockquote><ol><li>Advancements in technology: Scammers often adapt to advancements in technology to devise new ways of deceiving people. With the increasing use of digital platforms and online transactions, scammers may exploit vulnerabilities in systems or manipulate unsuspecting individuals through various online channels.</li><li>Increased connectivity: The interconnectedness of the world through the internet and social media has provided scammers with a wider pool of potential victims. They can cast a broader net and target individuals across different geographical locations without physical limitations.</li><li>Social engineering techniques: Scammers employ sophisticated psychological tactics to manipulate people&apos;s emotions, trust, and vulnerabilities. They may use persuasive language, create a sense of urgency, impersonate authoritative figures, or exploit people&apos;s fears and desires to convince them to part with their money.</li><li>Lack of awareness and education: Despite efforts to raise awareness about scams, many people still fall victim to them due to a lack of knowledge or understanding. Scammers continually adapt their techniques, making it challenging for individuals to stay updated on the latest threats.</li><li>Global events and crises: During times of uncertainty or crises, scammers often seize the opportunity to exploit people&apos;s fears or offer fraudulent solutions. For example, during the COVID-19 pandemic, there was a rise in scams related to fake vaccines, personal protective equipment, and financial relief programs.</li></ol><blockquote>To raise awareness about scammers and their tactics, it&apos;s important to educate yourself and others about common warning signs. </blockquote><p>Here are some key points to be aware of:</p><ol><li>Phishing emails and messages: Be cautious of unsolicited emails, text messages, or phone calls that request personal information, login credentials, or financial details. Legitimate organizations will not ask you to provide sensitive information through insecure channels.</li><li>Impersonation: Scammers often pose as trusted individuals or organizations, such as banks, government agencies, or popular websites. Double-check the authenticity of communications by independently verifying the contact information and reaching out to the organization directly.</li><li>Urgency and pressure: Scammers often create a sense of urgency or fear to prompt quick actions without thinking. They may claim that you&apos;ve won a prize, face legal consequences, or need immediate payment. Take your time to assess the situation and verify the information before making any decisions.</li><li>Requests for money or financial information: Be cautious when someone asks you to send money, wire funds, or provide your bank account details. Scammers may use emotional stories, fake invoices, or fraudulent investment opportunities to deceive you. Always verify the legitimacy of such requests before taking any action.</li><li>Unsolicited remote access or tech support: Scammers may contact you claiming there is a problem with your computer, and they need remote access to fix it. They may also offer tech support services for a fee. Avoid granting remote access unless you initiated the contact or can verify the legitimacy of the service provider.</li><li>Job and employment scams: Be wary of job offers that require upfront fees, promise easy money, or request personal information early in the application process. Research the company, check for red flags, and be cautious when providing sensitive information.</li><li>Social media and online marketplace scams: Scammers can exploit online platforms by creating fake profiles, posting counterfeit products, or offering deals that are too good to be true. Exercise caution when making online purchases and use secure payment methods.</li></ol><p>In conclusion, scammers arto deceive defraud or fraudulent activities with the intention of deceiving and defrauding others for personal gain. They employ various deceptive tactics, such as impersonation, phishing, coercion, and exploiting vulnerabilities, to manipulate their victims. While it may be true that certain types of scams have become more prevalent or effective in recent times, this can be attributed to factors like advancements in technology, increased connectivity, social engineering techniques, lack of awareness and education, and global events or crises. To protect yourself from scammers, it is important to stay informed, be vigilant, and exercise caution when dealing with unsolicited requests, providing personal or financial information, or engaging in online transactions.</p><p></p><p>Ref:</p><p>Scammerpayback: <a href="https://www.youtube.com/c/ScammerPayback?ref=rashahacks.com">https://www.youtube.com/c/ScammerPayback</a></p><p>Nanobaiter: <a href="https://www.youtube.com/@NanoBaiter?ref=rashahacks.com">https://www.youtube.com/@NanoBaiter</a></p>]]></content:encoded></item><item><title><![CDATA[Bypassing Okta SSO=> HTTPS/HTTP]]></title><description><![CDATA[<p></p><h3 id="summary">Summary:</h3><p>When doing recon on Yahoo assets during Hackerone AWC 2023, I found a host <code>foo.bar.yahoo.com</code>. I thought it must be some internal tool for engineers, few pages are listed but clicking on any of the pages redirects to Okta SSO. I found a bug during black</p>]]></description><link>https://rashahacks.com/bypassing-okta-sso-https-http/</link><guid isPermaLink="false">6491868d150941916fb2d845</guid><category><![CDATA[bug bounty writeups]]></category><category><![CDATA[ethical hacking]]></category><category><![CDATA[web security]]></category><category><![CDATA[cybersecurity]]></category><dc:creator><![CDATA[Inderjeet Singh]]></dc:creator><pubDate>Tue, 20 Jun 2023 11:29:36 GMT</pubDate><media:content url="https://rashahacks.com/content/images/2023/06/Untitled-design.png" medium="image"/><content:encoded><![CDATA[<img src="https://rashahacks.com/content/images/2023/06/Untitled-design.png" alt="Bypassing Okta SSO=&gt; HTTPS/HTTP"><p></p><h3 id="summary">Summary:</h3><p>When doing recon on Yahoo assets during Hackerone AWC 2023, I found a host <code>foo.bar.yahoo.com</code>. I thought it must be some internal tool for engineers, few pages are listed but clicking on any of the pages redirects to Okta SSO. I found a bug during black box testing, <code>http</code> instead of <code>https</code> bypassed the Okta and the host was accessible.</p><h3 id="reproduction-steps">Reproduction Steps:</h3><ol><li>Check the hostname <code>foo.bar.yahoo.com</code> on the wayback machine.</li><li>Found an indexed page: <code>https://foo.bar.yahoo.com/page1/endpoint/</code></li><li>Go to this page and it redirects to Okta SSO.</li><li>Probe for <code>https</code> and <code>http</code> both ports with <code>httpx</code> .</li><li><code>http://foo.bar.yahoo.com/page1/endpoint</code> also got in results.</li><li>Content-Length of both pages <code>https</code> and <code>http</code> were different.</li><li>Go to <code>http://foo.bar.yahoo.com/page/endpoint</code> and the whole page was directly accessible.</li></ol><p>The host is showing adtraffic. I tried to google these terms, ended up reporting to the team directly since the terms and results were out of my brain&apos;s scope.</p><h3 id="timeline">Timeline:</h3><ol><li>14 March 2023 - Reported to Yahoo Team (via HackerOne)</li><li>15 March 2023 - Status changed to Pending Program Review by HackerOne</li><li>18 March 2023 - Triaged by Yahoo Staff</li><li>7th April 2023 - Rewarded</li><li>3rd May 2023 - Resolved</li></ol><h3 id="causes-of-this-finding">Causes of this finding:</h3><p>I&apos;m still curious to know how it worked. There are a few guesses I made on the reasons why it could have happened. I am still not sure why it worked this way.</p><ol><li>Access port 80 instead of port 443 and bypass Okta?</li><li>Server misconfiguration while setting up SSL.</li></ol><p>Future work: Research the cause by setting up Okta locally.</p><blockquote class="kg-blockquote-alt">Happy Hacking!!</blockquote>]]></content:encoded></item><item><title><![CDATA[Pwning Admin Panel To Change Movie Ticket Prices at Disney]]></title><description><![CDATA[<p></p><h3 id="summary">Summary</h3><p>This bug allowed me to access a Management Information System Portal by bruteforcing common passwords. The admin panel allows changing theatre names, theatre status, changing ticket prices, user management, viewing system logs, etc. in South Asian countries.</p><h3 id="reproduction-steps">Reproduction Steps</h3><ol><li>Find all the ASNs owned by The Walt Disney Company.</li></ol>]]></description><link>https://rashahacks.com/pwning-admin-panel-to-change-movie-ticket-prices-at-disney/</link><guid isPermaLink="false">64898630150941916fb2d6dd</guid><category><![CDATA[ethical hacking]]></category><category><![CDATA[websecurity]]></category><category><![CDATA[bug bounty writeups]]></category><dc:creator><![CDATA[Inderjeet Singh]]></dc:creator><pubDate>Wed, 14 Jun 2023 10:06:53 GMT</pubDate><media:content url="https://rashahacks.com/content/images/2023/06/Screen_Shot_2022-06-09_at_7.15.42_AM.png" medium="image"/><content:encoded><![CDATA[<img src="https://rashahacks.com/content/images/2023/06/Screen_Shot_2022-06-09_at_7.15.42_AM.png" alt="Pwning Admin Panel To Change Movie Ticket Prices at Disney"><p></p><h3 id="summary">Summary</h3><p>This bug allowed me to access a Management Information System Portal by bruteforcing common passwords. The admin panel allows changing theatre names, theatre status, changing ticket prices, user management, viewing system logs, etc. in South Asian countries.</p><h3 id="reproduction-steps">Reproduction Steps</h3><ol><li>Find all the ASNs owned by The Walt Disney Company. Do enumeration to find more hosts using techniques described in my blogs.</li><li>Take all the enumerated passive and active hosts and run a masscan at common http ports.</li><li>Run httpx over all online hosts with status code, title, content type, etc. flags.</li><li>Got a host with &quot;Admin Panel&quot; title name and login window.</li><li>Entered &quot;admin&quot; and &quot;encodedguy&quot; and got different responses that helped to figure out that admin is the available username in the portal.</li><li>Entered 5 common passwords and got &quot;5 fails, please wait 15 minutes...&quot;, but this error was only on the frontend and no server side protection was present.</li><li>Sent the login request to Intruder and fuzzed for passwords with a wordlist of 20K common passwords (thanks to <a href="https://github.com/danielmiessler?ref=rashahacks.com" rel="author">danielmiessler</a>).</li><li>Found this password &quot;<strong>P<a href="https://hackerone.com/ssw0rd?ref=rashahacks.com" rel="noopener noreferrer nofollow">@ssw0rd</a>&quot; </strong>with different content length.</li><li>Logged in using &quot;admin&quot;:&quot;<strong>P<a href="https://hackerone.com/ssw0rd?ref=rashahacks.com" rel="noopener noreferrer nofollow">@ssw0rd</a></strong>&quot; and got access to the portal.</li></ol><p>This portal manages Disney theatres for countries like Indonesia, Thailand, and South Asian countries. An attacker could have changed theatre prices in all theatres in one click, changed the user management, status of these theatres, etc.</p><h3 id="timeline">Timeline</h3><ol><li>9 April 2022 &#x2013; Report sent via Hackerone (The Walt Disney Company).</li><li>13 April 2022 &#x2013; Report triaged by internal triager.</li><li>8 June 2022 &#x2013; Retest completed and fix worked.</li><li>10 June 2022 &#x2013; Report resolved and bug is not reproducible.</li></ol><blockquote class="kg-blockquote-alt">Happy Hacking!!</blockquote>]]></content:encoded></item><item><title><![CDATA[The Impact of XSS on SEO and Website Reputation: Strategies for Recovery and Prevention]]></title><description><![CDATA[<p></p><p><strong>Introduction:</strong><br>In today&apos;s interconnected digital landscape, websites play a crucial role in establishing an online presence and attracting visitors. However, the growing threat of Cross-Site Scripting (XSS) attacks poses a significant risk to both search engine optimization (SEO) efforts and website reputation. In this blog post, we will</p>]]></description><link>https://rashahacks.com/the-impact-of-xss-on-seo-and-website-reputation-strategies-for-recovery-and-prevention/</link><guid isPermaLink="false">64762f7e150941916fb2d515</guid><dc:creator><![CDATA[Yash Goswami]]></dc:creator><pubDate>Wed, 31 May 2023 09:05:58 GMT</pubDate><media:content url="https://rashahacks.com/content/images/2023/05/AdobeStock_94837629_Preview.jpeg" medium="image"/><content:encoded><![CDATA[<img src="https://rashahacks.com/content/images/2023/05/AdobeStock_94837629_Preview.jpeg" alt="The Impact of XSS on SEO and Website Reputation: Strategies for Recovery and Prevention"><p></p><p><strong>Introduction:</strong><br>In today&apos;s interconnected digital landscape, websites play a crucial role in establishing an online presence and attracting visitors. However, the growing threat of Cross-Site Scripting (XSS) attacks poses a significant risk to both search engine optimization (SEO) efforts and website reputation. In this blog post, we will explore how XSS attacks can harm a website&apos;s search engine ranking and reputation, examine real-life examples, and provide strategies for recovery and prevention. Let&apos;s dive in!</p><p><strong>1.Understanding XSS Attacks</strong>:<br>Before investigating into the impact of XSS on SEO and reputation, it&apos;s essential to understand the basics of XSS attacks. XSS occurs when an attacker injects malicious scripts into a web application, which are then executed on the victim&apos;s browser. This allows the attacker to steal sensitive information, deface the website, or redirect users to malicious sites.</p><p><strong>To learn more about XSS attack</strong>: <a href="https://owasp.org/www-community/attacks/xss/?ref=rashahacks.com"><em>https://owasp.org/www-community/attacks/xss/</em></a></p><p><strong>2.The SEO Consequences of XSS Attacks</strong>:<br>XSS attacks can have detrimental effects on a website&apos;s search engine ranking. Here are a few ways XSS can impact SEO:</p><p><strong>&#x2022; Content Manipulation:</strong> Attackers can modify website content, inserting links to spammy or malicious websites. Search engines may penalize the affected website for hosting suspicious or irrelevant content.</p><blockquote>Example: In 2017, Forbes fell victim to an XSS attack where the attacker injected spammy links, causing the website&apos;s search engine rankings to plummet.</blockquote><p><strong>&#x2022; Blacklisting by Search Engines:</strong> If a website is infected with XSS malware, search engines may identify it as harmful and blacklist it from search results, severely impacting organic traffic.</p><blockquote>Example: In 2012, the official website of the European Space Agency (ESA) was compromised by an XSS attack, leading to blacklisting by Google for several days.</blockquote><p><strong>&#x2022; User Experience and Bounce Rate:</strong> XSS attacks can disrupt the user experience, resulting in higher bounce rates and lower engagement metrics. Search engines consider these signals in their ranking algorithms.</p><p><strong>3. Damage to Website Reputation:</strong><br>Beyond SEO, XSS attacks can tarnish a website&apos;s reputation, causing trust issues among users and stakeholders. Some repercussions include:</p><p><strong>&#x2022; Data Breaches and Privacy Concerns</strong>: XSS attacks can expose sensitive user data, damaging the website&apos;s reputation and eroding user trust. Such incidents may lead to legal consequences and loss of credibility.</p><blockquote>Example: The MySpace XSS worm in 2005 exploited an XSS vulnerability, compromising millions of user accounts and adversely affecting MySpace&apos;s reputation.</blockquote><p><strong>&#x2022; Customer Perception and Brand Image</strong>: An XSS attack that defaces a website or displays inappropriate content can damage the brand&apos;s image and create a negative perception among visitors.</p><blockquote>Example: In 2020, an XSS vulnerability allowed attackers to deface multiple high-profile websites, including the official website of the U.S. government&apos;s Federal Depository Library Program (FDLP).</blockquote><p><strong>4. Strategies for Recovery and Prevention:</strong><br>To mitigate the impact of XSS attacks on SEO and website reputation, consider the following strategies:</p><p><strong>&#x2022; Regular Security Audits</strong>: Conduct comprehensive security audits to identify and patch XSS vulnerabilities proactively. Engage professional security firms or utilize automated tools to scan for potential threats.</p><p><strong>&#x2022; Secure Coding Practices</strong>: Implement secure coding practices, such as input validation and output encoding, to prevent XSS vulnerabilities from arising during the development process.</p><p><strong>&#x2022; Web Application Firewalls (WAFs)</strong>: Employ WAFs that specialize in detecting and blocking XSS attacks. These solutions can provide an additional layer of protection by filtering malicious scripts before they reach the web application.</p><p><strong>&#x2022; Educate Staff and Users</strong>: Raise awareness among employees and website users about the risks of XSS attacks and provide guidelines on safe browsing habits and reporting potential vulnerabilities.</p><p><strong>&#x2022; Incident Response Plan</strong>: Develop a comprehensive incident response plan to address XSS attacks promptly. This plan should include steps to investigate and remediate the issue, as well as communication strategies to rebuild trust with users and stakeholders.</p><p><strong>Conclusion:</strong><br>XSS attacks pose significant threats to SEO efforts and website reputation. By understanding the impact of these attacks and implementing effective strategies for recovery and prevention, website owners and developers can safeguard their online presence and protect their users. Stay vigilant, prioritize security, and collaborate with experts to combat the evolving landscape of XSS attacks.</p><p><strong>References:</strong></p><ul><li>Forbes XSS attack: <em><a href="https://thehackernews.com/2012/01/multiple-cross-site-scripting-xss.html?ref=rashahacks.com">https://thehackernews.com/2012/01/multiple-cross-site-scripting-xss.html</a> </em></li><li>MySpace XSS worm:<em> <a href="https://www.vice.com/en/article/wnjwb4/the-myspace-worm-that-changed-the-internet-forever?ref=rashahacks.com">https://www.vice.com/en/article/wnjwb4/the-myspace-worm-that-changed-the-internet-forever</a></em></li><li>FDLP website defacement: <a href="https://www.cbsnews.com/news/iran-hackers-briefly-deface-website-for-u-s-government-library-with-pro-iranian-message/?ref=rashahacks.com"><em>https://www.cbsnews.com/news/iran-hackers-briefly-deface-website-for-u-s-government-library-with-pro-iranian-message/</em></a></li></ul>]]></content:encoded></item><item><title><![CDATA[Slides: GraphQL Hacking]]></title><description><![CDATA[<figure class="kg-card kg-image-card"><img src="https://rashahacks.com/content/images/2023/05/GraphQL-Hacking-Hackers-Meetup.001.jpeg" class="kg-image" alt loading="lazy" width="1920" height="1080" srcset="https://rashahacks.com/content/images/size/w600/2023/05/GraphQL-Hacking-Hackers-Meetup.001.jpeg 600w, https://rashahacks.com/content/images/size/w1000/2023/05/GraphQL-Hacking-Hackers-Meetup.001.jpeg 1000w, https://rashahacks.com/content/images/size/w1600/2023/05/GraphQL-Hacking-Hackers-Meetup.001.jpeg 1600w, https://rashahacks.com/content/images/2023/05/GraphQL-Hacking-Hackers-Meetup.001.jpeg 1920w" sizes="(min-width: 720px) 720px"></figure><figure class="kg-card kg-image-card"><img src="https://rashahacks.com/content/images/2023/05/GraphQL-Hacking-Hackers-Meetup.002.jpeg" class="kg-image" alt loading="lazy" width="1920" height="1080" srcset="https://rashahacks.com/content/images/size/w600/2023/05/GraphQL-Hacking-Hackers-Meetup.002.jpeg 600w, https://rashahacks.com/content/images/size/w1000/2023/05/GraphQL-Hacking-Hackers-Meetup.002.jpeg 1000w, https://rashahacks.com/content/images/size/w1600/2023/05/GraphQL-Hacking-Hackers-Meetup.002.jpeg 1600w, https://rashahacks.com/content/images/2023/05/GraphQL-Hacking-Hackers-Meetup.002.jpeg 1920w" sizes="(min-width: 720px) 720px"></figure><figure class="kg-card kg-image-card"><img src="https://rashahacks.com/content/images/2023/05/GraphQL-Hacking-Hackers-Meetup.003.jpeg" class="kg-image" alt loading="lazy" width="1920" height="1080" srcset="https://rashahacks.com/content/images/size/w600/2023/05/GraphQL-Hacking-Hackers-Meetup.003.jpeg 600w, https://rashahacks.com/content/images/size/w1000/2023/05/GraphQL-Hacking-Hackers-Meetup.003.jpeg 1000w, https://rashahacks.com/content/images/size/w1600/2023/05/GraphQL-Hacking-Hackers-Meetup.003.jpeg 1600w, https://rashahacks.com/content/images/2023/05/GraphQL-Hacking-Hackers-Meetup.003.jpeg 1920w" sizes="(min-width: 720px) 720px"></figure><figure class="kg-card kg-image-card"><img src="https://rashahacks.com/content/images/2023/05/GraphQL-Hacking-Hackers-Meetup.004.jpeg" class="kg-image" alt loading="lazy" width="1920" height="1080" srcset="https://rashahacks.com/content/images/size/w600/2023/05/GraphQL-Hacking-Hackers-Meetup.004.jpeg 600w, https://rashahacks.com/content/images/size/w1000/2023/05/GraphQL-Hacking-Hackers-Meetup.004.jpeg 1000w, https://rashahacks.com/content/images/size/w1600/2023/05/GraphQL-Hacking-Hackers-Meetup.004.jpeg 1600w, https://rashahacks.com/content/images/2023/05/GraphQL-Hacking-Hackers-Meetup.004.jpeg 1920w" sizes="(min-width: 720px) 720px"></figure><figure class="kg-card kg-image-card"><img src="https://rashahacks.com/content/images/2023/05/GraphQL-Hacking-Hackers-Meetup.005.jpeg" class="kg-image" alt loading="lazy" width="1920" height="1080" srcset="https://rashahacks.com/content/images/size/w600/2023/05/GraphQL-Hacking-Hackers-Meetup.005.jpeg 600w, https://rashahacks.com/content/images/size/w1000/2023/05/GraphQL-Hacking-Hackers-Meetup.005.jpeg 1000w, https://rashahacks.com/content/images/size/w1600/2023/05/GraphQL-Hacking-Hackers-Meetup.005.jpeg 1600w, https://rashahacks.com/content/images/2023/05/GraphQL-Hacking-Hackers-Meetup.005.jpeg 1920w" sizes="(min-width: 720px) 720px"></figure><figure class="kg-card kg-image-card"><img src="https://rashahacks.com/content/images/2023/05/GraphQL-Hacking-Hackers-Meetup.006.jpeg" class="kg-image" alt loading="lazy" width="1920" height="1080" srcset="https://rashahacks.com/content/images/size/w600/2023/05/GraphQL-Hacking-Hackers-Meetup.006.jpeg 600w, https://rashahacks.com/content/images/size/w1000/2023/05/GraphQL-Hacking-Hackers-Meetup.006.jpeg 1000w, https://rashahacks.com/content/images/size/w1600/2023/05/GraphQL-Hacking-Hackers-Meetup.006.jpeg 1600w, https://rashahacks.com/content/images/2023/05/GraphQL-Hacking-Hackers-Meetup.006.jpeg 1920w" sizes="(min-width: 720px) 720px"></figure><figure class="kg-card kg-image-card"><img src="https://rashahacks.com/content/images/2023/05/GraphQL-Hacking-Hackers-Meetup.007.jpeg" class="kg-image" alt loading="lazy" width="1920" height="1080" srcset="https://rashahacks.com/content/images/size/w600/2023/05/GraphQL-Hacking-Hackers-Meetup.007.jpeg 600w, https://rashahacks.com/content/images/size/w1000/2023/05/GraphQL-Hacking-Hackers-Meetup.007.jpeg 1000w, https://rashahacks.com/content/images/size/w1600/2023/05/GraphQL-Hacking-Hackers-Meetup.007.jpeg 1600w, https://rashahacks.com/content/images/2023/05/GraphQL-Hacking-Hackers-Meetup.007.jpeg 1920w" sizes="(min-width: 720px) 720px"></figure><figure class="kg-card kg-image-card"><img src="https://rashahacks.com/content/images/2023/05/GraphQL-Hacking-Hackers-Meetup.008.jpeg" class="kg-image" alt loading="lazy" width="1920" height="1080" srcset="https://rashahacks.com/content/images/size/w600/2023/05/GraphQL-Hacking-Hackers-Meetup.008.jpeg 600w, https://rashahacks.com/content/images/size/w1000/2023/05/GraphQL-Hacking-Hackers-Meetup.008.jpeg 1000w, https://rashahacks.com/content/images/size/w1600/2023/05/GraphQL-Hacking-Hackers-Meetup.008.jpeg 1600w, https://rashahacks.com/content/images/2023/05/GraphQL-Hacking-Hackers-Meetup.008.jpeg 1920w" sizes="(min-width: 720px) 720px"></figure><figure class="kg-card kg-image-card"><img src="https://rashahacks.com/content/images/2023/05/GraphQL-Hacking-Hackers-Meetup.009.jpeg" class="kg-image" alt loading="lazy" width="1920" height="1080" srcset="https://rashahacks.com/content/images/size/w600/2023/05/GraphQL-Hacking-Hackers-Meetup.009.jpeg 600w, https://rashahacks.com/content/images/size/w1000/2023/05/GraphQL-Hacking-Hackers-Meetup.009.jpeg 1000w, https://rashahacks.com/content/images/size/w1600/2023/05/GraphQL-Hacking-Hackers-Meetup.009.jpeg 1600w, https://rashahacks.com/content/images/2023/05/GraphQL-Hacking-Hackers-Meetup.009.jpeg 1920w" sizes="(min-width: 720px) 720px"></figure><!--kg-card-begin: html--><style>
      .desktopx {
        display: block;
      }
      .mobilex {
        display: none;
      }
      @media (max-width: 768px) {
        .desktopx {
          display: none;
        }
        .mobilex {
          display: block;
        }
      }
    </style>

<div class="desktopx">

        <script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8780694099699134" crossorigin="anonymous"></script>
				<!-- display-728x90-desktop-ad -->
				<ins class="adsbygoogle" style="display:inline-block;width:728px;height:90px" data-ad-client="ca-pub-8780694099699134" data-ad-slot="7952670654"></ins>
				<script>
			    (adsbygoogle = window.adsbygoogle || []).push({});
				</script>

</div>

<div class="mobilex">

       <script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8780694099699134" crossorigin="anonymous"></script>
			<!-- display-mobile-300x250-ad -->
			<ins class="adsbygoogle" style="display:inline-block;width:300px;height:250px" data-ad-client="ca-pub-8780694099699134" data-ad-slot="4177625911"></ins>
			<script>
	    (adsbygoogle = window.adsbygoogle || []).push({});
			</script>

</div><!--kg-card-end: html--><figure class="kg-card kg-image-card"><img src="https://rashahacks.com/content/images/2023/05/GraphQL-Hacking-Hackers-Meetup.010.jpeg" class="kg-image" alt loading="lazy" width="1920" height="1080" srcset="https://rashahacks.com/content/images/size/w600/2023/05/GraphQL-Hacking-Hackers-Meetup.010.jpeg 600w, https://rashahacks.com/content/images/size/w1000/2023/05/GraphQL-Hacking-Hackers-Meetup.010.jpeg 1000w, https://rashahacks.com/content/images/size/w1600/2023/05/GraphQL-Hacking-Hackers-Meetup.010.jpeg 1600w, https://rashahacks.com/content/images/2023/05/GraphQL-Hacking-Hackers-Meetup.010.jpeg 1920w" sizes="(min-width: 720px) 720px"></figure><figure class="kg-card kg-image-card"><img src="https://rashahacks.com/content/images/2023/05/GraphQL-Hacking-Hackers-Meetup.011.jpeg" class="kg-image" alt loading="lazy" width="1920" height="1080" srcset="https://rashahacks.com/content/images/size/w600/2023/05/GraphQL-Hacking-Hackers-Meetup.011.jpeg 600w, https://rashahacks.com/content/images/size/w1000/2023/05/GraphQL-Hacking-Hackers-Meetup.011.jpeg 1000w, https://rashahacks.com/content/images/size/w1600/2023/05/GraphQL-Hacking-Hackers-Meetup.011.jpeg 1600w, https://rashahacks.com/content/images/2023/05/GraphQL-Hacking-Hackers-Meetup.011.jpeg 1920w" sizes="(min-width: 720px) 720px"></figure><figure class="kg-card kg-image-card"><img src="https://rashahacks.com/content/images/2023/05/GraphQL-Hacking-Hackers-Meetup.012.jpeg" class="kg-image" alt loading="lazy" width="1920" height="1080" srcset="https://rashahacks.com/content/images/size/w600/2023/05/GraphQL-Hacking-Hackers-Meetup.012.jpeg 600w, https://rashahacks.com/content/images/size/w1000/2023/05/GraphQL-Hacking-Hackers-Meetup.012.jpeg 1000w, https://rashahacks.com/content/images/size/w1600/2023/05/GraphQL-Hacking-Hackers-Meetup.012.jpeg 1600w, https://rashahacks.com/content/images/2023/05/GraphQL-Hacking-Hackers-Meetup.012.jpeg 1920w" sizes="(min-width: 720px) 720px"></figure><figure class="kg-card kg-image-card"><img src="https://rashahacks.com/content/images/2023/05/GraphQL-Hacking-Hackers-Meetup.013.jpeg" class="kg-image" alt loading="lazy" width="1920" height="1080" srcset="https://rashahacks.com/content/images/size/w600/2023/05/GraphQL-Hacking-Hackers-Meetup.013.jpeg 600w, https://rashahacks.com/content/images/size/w1000/2023/05/GraphQL-Hacking-Hackers-Meetup.013.jpeg 1000w, https://rashahacks.com/content/images/size/w1600/2023/05/GraphQL-Hacking-Hackers-Meetup.013.jpeg 1600w, https://rashahacks.com/content/images/2023/05/GraphQL-Hacking-Hackers-Meetup.013.jpeg 1920w" sizes="(min-width: 720px) 720px"></figure><figure class="kg-card kg-image-card"><img src="https://rashahacks.com/content/images/2023/05/GraphQL-Hacking-Hackers-Meetup.014.jpeg" class="kg-image" alt loading="lazy" width="1920" height="1080" srcset="https://rashahacks.com/content/images/size/w600/2023/05/GraphQL-Hacking-Hackers-Meetup.014.jpeg 600w, https://rashahacks.com/content/images/size/w1000/2023/05/GraphQL-Hacking-Hackers-Meetup.014.jpeg 1000w, https://rashahacks.com/content/images/size/w1600/2023/05/GraphQL-Hacking-Hackers-Meetup.014.jpeg 1600w, https://rashahacks.com/content/images/2023/05/GraphQL-Hacking-Hackers-Meetup.014.jpeg 1920w" sizes="(min-width: 720px) 720px"></figure><figure class="kg-card kg-image-card"><img src="https://rashahacks.com/content/images/2023/05/GraphQL-Hacking-Hackers-Meetup.015.jpeg" class="kg-image" alt loading="lazy" width="1920" height="1080" srcset="https://rashahacks.com/content/images/size/w600/2023/05/GraphQL-Hacking-Hackers-Meetup.015.jpeg 600w, https://rashahacks.com/content/images/size/w1000/2023/05/GraphQL-Hacking-Hackers-Meetup.015.jpeg 1000w, https://rashahacks.com/content/images/size/w1600/2023/05/GraphQL-Hacking-Hackers-Meetup.015.jpeg 1600w, https://rashahacks.com/content/images/2023/05/GraphQL-Hacking-Hackers-Meetup.015.jpeg 1920w" sizes="(min-width: 720px) 720px"></figure><figure class="kg-card kg-image-card"><img src="https://rashahacks.com/content/images/2023/05/GraphQL-Hacking-Hackers-Meetup.016.jpeg" class="kg-image" alt loading="lazy" width="1920" height="1080" srcset="https://rashahacks.com/content/images/size/w600/2023/05/GraphQL-Hacking-Hackers-Meetup.016.jpeg 600w, https://rashahacks.com/content/images/size/w1000/2023/05/GraphQL-Hacking-Hackers-Meetup.016.jpeg 1000w, https://rashahacks.com/content/images/size/w1600/2023/05/GraphQL-Hacking-Hackers-Meetup.016.jpeg 1600w, https://rashahacks.com/content/images/2023/05/GraphQL-Hacking-Hackers-Meetup.016.jpeg 1920w" sizes="(min-width: 720px) 720px"></figure><figure class="kg-card kg-image-card"><img src="https://rashahacks.com/content/images/2023/05/GraphQL-Hacking-Hackers-Meetup.017.jpeg" class="kg-image" alt loading="lazy" width="1920" height="1080" srcset="https://rashahacks.com/content/images/size/w600/2023/05/GraphQL-Hacking-Hackers-Meetup.017.jpeg 600w, https://rashahacks.com/content/images/size/w1000/2023/05/GraphQL-Hacking-Hackers-Meetup.017.jpeg 1000w, https://rashahacks.com/content/images/size/w1600/2023/05/GraphQL-Hacking-Hackers-Meetup.017.jpeg 1600w, https://rashahacks.com/content/images/2023/05/GraphQL-Hacking-Hackers-Meetup.017.jpeg 1920w" sizes="(min-width: 720px) 720px"></figure><figure class="kg-card kg-image-card"><img src="https://rashahacks.com/content/images/2023/05/GraphQL-Hacking-Hackers-Meetup.018.jpeg" class="kg-image" alt loading="lazy" width="1920" height="1080" srcset="https://rashahacks.com/content/images/size/w600/2023/05/GraphQL-Hacking-Hackers-Meetup.018.jpeg 600w, https://rashahacks.com/content/images/size/w1000/2023/05/GraphQL-Hacking-Hackers-Meetup.018.jpeg 1000w, https://rashahacks.com/content/images/size/w1600/2023/05/GraphQL-Hacking-Hackers-Meetup.018.jpeg 1600w, https://rashahacks.com/content/images/2023/05/GraphQL-Hacking-Hackers-Meetup.018.jpeg 1920w" sizes="(min-width: 720px) 720px"></figure><figure class="kg-card kg-image-card"><img src="https://rashahacks.com/content/images/2023/05/GraphQL-Hacking-Hackers-Meetup.019.jpeg" class="kg-image" alt loading="lazy" width="1920" height="1080" srcset="https://rashahacks.com/content/images/size/w600/2023/05/GraphQL-Hacking-Hackers-Meetup.019.jpeg 600w, https://rashahacks.com/content/images/size/w1000/2023/05/GraphQL-Hacking-Hackers-Meetup.019.jpeg 1000w, https://rashahacks.com/content/images/size/w1600/2023/05/GraphQL-Hacking-Hackers-Meetup.019.jpeg 1600w, https://rashahacks.com/content/images/2023/05/GraphQL-Hacking-Hackers-Meetup.019.jpeg 1920w" sizes="(min-width: 720px) 720px"></figure><figure class="kg-card kg-image-card"><img src="https://rashahacks.com/content/images/2023/05/GraphQL-Hacking-Hackers-Meetup.020.jpeg" class="kg-image" alt loading="lazy" width="1920" height="1080" srcset="https://rashahacks.com/content/images/size/w600/2023/05/GraphQL-Hacking-Hackers-Meetup.020.jpeg 600w, https://rashahacks.com/content/images/size/w1000/2023/05/GraphQL-Hacking-Hackers-Meetup.020.jpeg 1000w, https://rashahacks.com/content/images/size/w1600/2023/05/GraphQL-Hacking-Hackers-Meetup.020.jpeg 1600w, https://rashahacks.com/content/images/2023/05/GraphQL-Hacking-Hackers-Meetup.020.jpeg 1920w" sizes="(min-width: 720px) 720px"></figure><!--kg-card-begin: html--><style>
      .desktopx {
        display: block;
      }
      .mobilex {
        display: none;
      }
      @media (max-width: 768px) {
        .desktopx {
          display: none;
        }
        .mobilex {
          display: block;
        }
      }
    </style>

<div class="desktopx">

        <script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8780694099699134" crossorigin="anonymous"></script>
				<!-- display-728x90-desktop-ad -->
				<ins class="adsbygoogle" style="display:inline-block;width:728px;height:90px" data-ad-client="ca-pub-8780694099699134" data-ad-slot="7952670654"></ins>
				<script>
			    (adsbygoogle = window.adsbygoogle || []).push({});
				</script>

</div>

<div class="mobilex">

       <script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8780694099699134" crossorigin="anonymous"></script>
			<!-- display-mobile-300x250-ad -->
			<ins class="adsbygoogle" style="display:inline-block;width:300px;height:250px" data-ad-client="ca-pub-8780694099699134" data-ad-slot="4177625911"></ins>
			<script>
	    (adsbygoogle = window.adsbygoogle || []).push({});
			</script>

</div><!--kg-card-end: html--><figure class="kg-card kg-image-card"><img src="https://rashahacks.com/content/images/2023/05/GraphQL-Hacking-Hackers-Meetup.021.jpeg" class="kg-image" alt loading="lazy" width="1920" height="1080" srcset="https://rashahacks.com/content/images/size/w600/2023/05/GraphQL-Hacking-Hackers-Meetup.021.jpeg 600w, https://rashahacks.com/content/images/size/w1000/2023/05/GraphQL-Hacking-Hackers-Meetup.021.jpeg 1000w, https://rashahacks.com/content/images/size/w1600/2023/05/GraphQL-Hacking-Hackers-Meetup.021.jpeg 1600w, https://rashahacks.com/content/images/2023/05/GraphQL-Hacking-Hackers-Meetup.021.jpeg 1920w" sizes="(min-width: 720px) 720px"></figure><figure class="kg-card kg-image-card"><img src="https://rashahacks.com/content/images/2023/05/GraphQL-Hacking-Hackers-Meetup.022.jpeg" class="kg-image" alt loading="lazy" width="1920" height="1080" srcset="https://rashahacks.com/content/images/size/w600/2023/05/GraphQL-Hacking-Hackers-Meetup.022.jpeg 600w, https://rashahacks.com/content/images/size/w1000/2023/05/GraphQL-Hacking-Hackers-Meetup.022.jpeg 1000w, https://rashahacks.com/content/images/size/w1600/2023/05/GraphQL-Hacking-Hackers-Meetup.022.jpeg 1600w, https://rashahacks.com/content/images/2023/05/GraphQL-Hacking-Hackers-Meetup.022.jpeg 1920w" sizes="(min-width: 720px) 720px"></figure><figure class="kg-card kg-image-card"><img src="https://rashahacks.com/content/images/2023/05/GraphQL-Hacking-Hackers-Meetup.023.jpeg" class="kg-image" alt loading="lazy" width="1920" height="1080" srcset="https://rashahacks.com/content/images/size/w600/2023/05/GraphQL-Hacking-Hackers-Meetup.023.jpeg 600w, https://rashahacks.com/content/images/size/w1000/2023/05/GraphQL-Hacking-Hackers-Meetup.023.jpeg 1000w, https://rashahacks.com/content/images/size/w1600/2023/05/GraphQL-Hacking-Hackers-Meetup.023.jpeg 1600w, https://rashahacks.com/content/images/2023/05/GraphQL-Hacking-Hackers-Meetup.023.jpeg 1920w" sizes="(min-width: 720px) 720px"></figure><figure class="kg-card kg-image-card"><img src="https://rashahacks.com/content/images/2023/05/GraphQL-Hacking-Hackers-Meetup.024.jpeg" class="kg-image" alt loading="lazy" width="1920" height="1080" srcset="https://rashahacks.com/content/images/size/w600/2023/05/GraphQL-Hacking-Hackers-Meetup.024.jpeg 600w, https://rashahacks.com/content/images/size/w1000/2023/05/GraphQL-Hacking-Hackers-Meetup.024.jpeg 1000w, https://rashahacks.com/content/images/size/w1600/2023/05/GraphQL-Hacking-Hackers-Meetup.024.jpeg 1600w, https://rashahacks.com/content/images/2023/05/GraphQL-Hacking-Hackers-Meetup.024.jpeg 1920w" sizes="(min-width: 720px) 720px"></figure><figure class="kg-card kg-image-card"><img src="https://rashahacks.com/content/images/2023/05/GraphQL-Hacking-Hackers-Meetup.025.jpeg" class="kg-image" alt loading="lazy" width="1920" height="1080" srcset="https://rashahacks.com/content/images/size/w600/2023/05/GraphQL-Hacking-Hackers-Meetup.025.jpeg 600w, https://rashahacks.com/content/images/size/w1000/2023/05/GraphQL-Hacking-Hackers-Meetup.025.jpeg 1000w, https://rashahacks.com/content/images/size/w1600/2023/05/GraphQL-Hacking-Hackers-Meetup.025.jpeg 1600w, https://rashahacks.com/content/images/2023/05/GraphQL-Hacking-Hackers-Meetup.025.jpeg 1920w" sizes="(min-width: 720px) 720px"></figure><figure class="kg-card kg-image-card"><img src="https://rashahacks.com/content/images/2023/05/GraphQL-Hacking-Hackers-Meetup.026.jpeg" class="kg-image" alt loading="lazy" width="1920" height="1080" srcset="https://rashahacks.com/content/images/size/w600/2023/05/GraphQL-Hacking-Hackers-Meetup.026.jpeg 600w, https://rashahacks.com/content/images/size/w1000/2023/05/GraphQL-Hacking-Hackers-Meetup.026.jpeg 1000w, https://rashahacks.com/content/images/size/w1600/2023/05/GraphQL-Hacking-Hackers-Meetup.026.jpeg 1600w, https://rashahacks.com/content/images/2023/05/GraphQL-Hacking-Hackers-Meetup.026.jpeg 1920w" sizes="(min-width: 720px) 720px"></figure><figure class="kg-card kg-image-card"><img src="https://rashahacks.com/content/images/2023/05/GraphQL-Hacking-Hackers-Meetup.027.jpeg" class="kg-image" alt loading="lazy" width="1920" height="1080" srcset="https://rashahacks.com/content/images/size/w600/2023/05/GraphQL-Hacking-Hackers-Meetup.027.jpeg 600w, https://rashahacks.com/content/images/size/w1000/2023/05/GraphQL-Hacking-Hackers-Meetup.027.jpeg 1000w, https://rashahacks.com/content/images/size/w1600/2023/05/GraphQL-Hacking-Hackers-Meetup.027.jpeg 1600w, https://rashahacks.com/content/images/2023/05/GraphQL-Hacking-Hackers-Meetup.027.jpeg 1920w" sizes="(min-width: 720px) 720px"></figure><figure class="kg-card kg-image-card"><img src="https://rashahacks.com/content/images/2023/05/GraphQL-Hacking-Hackers-Meetup.028.jpeg" class="kg-image" alt loading="lazy" width="1920" height="1080" srcset="https://rashahacks.com/content/images/size/w600/2023/05/GraphQL-Hacking-Hackers-Meetup.028.jpeg 600w, https://rashahacks.com/content/images/size/w1000/2023/05/GraphQL-Hacking-Hackers-Meetup.028.jpeg 1000w, https://rashahacks.com/content/images/size/w1600/2023/05/GraphQL-Hacking-Hackers-Meetup.028.jpeg 1600w, https://rashahacks.com/content/images/2023/05/GraphQL-Hacking-Hackers-Meetup.028.jpeg 1920w" sizes="(min-width: 720px) 720px"></figure><figure class="kg-card kg-image-card"><img src="https://rashahacks.com/content/images/2023/05/GraphQL-Hacking-Hackers-Meetup.029.jpeg" class="kg-image" alt loading="lazy" width="1920" height="1080" srcset="https://rashahacks.com/content/images/size/w600/2023/05/GraphQL-Hacking-Hackers-Meetup.029.jpeg 600w, https://rashahacks.com/content/images/size/w1000/2023/05/GraphQL-Hacking-Hackers-Meetup.029.jpeg 1000w, https://rashahacks.com/content/images/size/w1600/2023/05/GraphQL-Hacking-Hackers-Meetup.029.jpeg 1600w, https://rashahacks.com/content/images/2023/05/GraphQL-Hacking-Hackers-Meetup.029.jpeg 1920w" sizes="(min-width: 720px) 720px"></figure><figure class="kg-card kg-image-card"><img src="https://rashahacks.com/content/images/2023/05/GraphQL-Hacking-Hackers-Meetup.030.jpeg" class="kg-image" alt loading="lazy" width="1920" height="1080" srcset="https://rashahacks.com/content/images/size/w600/2023/05/GraphQL-Hacking-Hackers-Meetup.030.jpeg 600w, https://rashahacks.com/content/images/size/w1000/2023/05/GraphQL-Hacking-Hackers-Meetup.030.jpeg 1000w, https://rashahacks.com/content/images/size/w1600/2023/05/GraphQL-Hacking-Hackers-Meetup.030.jpeg 1600w, https://rashahacks.com/content/images/2023/05/GraphQL-Hacking-Hackers-Meetup.030.jpeg 1920w" sizes="(min-width: 720px) 720px"></figure><figure class="kg-card kg-image-card"><img src="https://rashahacks.com/content/images/2023/05/GraphQL-Hacking-Hackers-Meetup.031.jpeg" class="kg-image" alt loading="lazy" width="1920" height="1080" srcset="https://rashahacks.com/content/images/size/w600/2023/05/GraphQL-Hacking-Hackers-Meetup.031.jpeg 600w, https://rashahacks.com/content/images/size/w1000/2023/05/GraphQL-Hacking-Hackers-Meetup.031.jpeg 1000w, https://rashahacks.com/content/images/size/w1600/2023/05/GraphQL-Hacking-Hackers-Meetup.031.jpeg 1600w, https://rashahacks.com/content/images/2023/05/GraphQL-Hacking-Hackers-Meetup.031.jpeg 1920w" sizes="(min-width: 720px) 720px"></figure><figure class="kg-card kg-image-card"><img src="https://rashahacks.com/content/images/2023/05/GraphQL-Hacking-Hackers-Meetup.032.jpeg" class="kg-image" alt loading="lazy" width="1920" height="1080" srcset="https://rashahacks.com/content/images/size/w600/2023/05/GraphQL-Hacking-Hackers-Meetup.032.jpeg 600w, https://rashahacks.com/content/images/size/w1000/2023/05/GraphQL-Hacking-Hackers-Meetup.032.jpeg 1000w, https://rashahacks.com/content/images/size/w1600/2023/05/GraphQL-Hacking-Hackers-Meetup.032.jpeg 1600w, https://rashahacks.com/content/images/2023/05/GraphQL-Hacking-Hackers-Meetup.032.jpeg 1920w" sizes="(min-width: 720px) 720px"></figure><figure class="kg-card kg-image-card"><img src="https://rashahacks.com/content/images/2023/05/GraphQL-Hacking-Hackers-Meetup.033.jpeg" class="kg-image" alt loading="lazy" width="1920" height="1080" srcset="https://rashahacks.com/content/images/size/w600/2023/05/GraphQL-Hacking-Hackers-Meetup.033.jpeg 600w, https://rashahacks.com/content/images/size/w1000/2023/05/GraphQL-Hacking-Hackers-Meetup.033.jpeg 1000w, https://rashahacks.com/content/images/size/w1600/2023/05/GraphQL-Hacking-Hackers-Meetup.033.jpeg 1600w, https://rashahacks.com/content/images/2023/05/GraphQL-Hacking-Hackers-Meetup.033.jpeg 1920w" sizes="(min-width: 720px) 720px"></figure><figure class="kg-card kg-image-card"><img src="https://rashahacks.com/content/images/2023/05/GraphQL-Hacking-Hackers-Meetup.034.jpeg" class="kg-image" alt loading="lazy" width="1920" height="1080" srcset="https://rashahacks.com/content/images/size/w600/2023/05/GraphQL-Hacking-Hackers-Meetup.034.jpeg 600w, https://rashahacks.com/content/images/size/w1000/2023/05/GraphQL-Hacking-Hackers-Meetup.034.jpeg 1000w, https://rashahacks.com/content/images/size/w1600/2023/05/GraphQL-Hacking-Hackers-Meetup.034.jpeg 1600w, https://rashahacks.com/content/images/2023/05/GraphQL-Hacking-Hackers-Meetup.034.jpeg 1920w" sizes="(min-width: 720px) 720px"></figure>]]></description><link>https://rashahacks.com/slides-hacking-graphql/</link><guid isPermaLink="false">6472ab18150941916fb2d3dd</guid><category><![CDATA[graphql security]]></category><category><![CDATA[api hacking]]></category><category><![CDATA[api security]]></category><category><![CDATA[ethical hacking]]></category><category><![CDATA[web security]]></category><category><![CDATA[bug bounty]]></category><dc:creator><![CDATA[Inderjeet Singh]]></dc:creator><pubDate>Sun, 28 May 2023 14:12:20 GMT</pubDate><media:content url="https://rashahacks.com/content/images/2023/05/GraphQL-Hacking-Hackers-Meetup.001-4.jpeg" medium="image"/><content:encoded><![CDATA[<figure class="kg-card kg-image-card"><img src="https://rashahacks.com/content/images/2023/05/GraphQL-Hacking-Hackers-Meetup.001.jpeg" class="kg-image" alt="Slides: GraphQL Hacking" loading="lazy" width="1920" height="1080" srcset="https://rashahacks.com/content/images/size/w600/2023/05/GraphQL-Hacking-Hackers-Meetup.001.jpeg 600w, https://rashahacks.com/content/images/size/w1000/2023/05/GraphQL-Hacking-Hackers-Meetup.001.jpeg 1000w, https://rashahacks.com/content/images/size/w1600/2023/05/GraphQL-Hacking-Hackers-Meetup.001.jpeg 1600w, https://rashahacks.com/content/images/2023/05/GraphQL-Hacking-Hackers-Meetup.001.jpeg 1920w" sizes="(min-width: 720px) 720px"></figure><figure class="kg-card kg-image-card"><img src="https://rashahacks.com/content/images/2023/05/GraphQL-Hacking-Hackers-Meetup.002.jpeg" class="kg-image" alt="Slides: GraphQL Hacking" loading="lazy" width="1920" height="1080" srcset="https://rashahacks.com/content/images/size/w600/2023/05/GraphQL-Hacking-Hackers-Meetup.002.jpeg 600w, https://rashahacks.com/content/images/size/w1000/2023/05/GraphQL-Hacking-Hackers-Meetup.002.jpeg 1000w, https://rashahacks.com/content/images/size/w1600/2023/05/GraphQL-Hacking-Hackers-Meetup.002.jpeg 1600w, https://rashahacks.com/content/images/2023/05/GraphQL-Hacking-Hackers-Meetup.002.jpeg 1920w" sizes="(min-width: 720px) 720px"></figure><figure class="kg-card kg-image-card"><img src="https://rashahacks.com/content/images/2023/05/GraphQL-Hacking-Hackers-Meetup.003.jpeg" class="kg-image" alt="Slides: GraphQL Hacking" loading="lazy" width="1920" height="1080" srcset="https://rashahacks.com/content/images/size/w600/2023/05/GraphQL-Hacking-Hackers-Meetup.003.jpeg 600w, https://rashahacks.com/content/images/size/w1000/2023/05/GraphQL-Hacking-Hackers-Meetup.003.jpeg 1000w, https://rashahacks.com/content/images/size/w1600/2023/05/GraphQL-Hacking-Hackers-Meetup.003.jpeg 1600w, https://rashahacks.com/content/images/2023/05/GraphQL-Hacking-Hackers-Meetup.003.jpeg 1920w" sizes="(min-width: 720px) 720px"></figure><figure class="kg-card kg-image-card"><img src="https://rashahacks.com/content/images/2023/05/GraphQL-Hacking-Hackers-Meetup.004.jpeg" class="kg-image" alt="Slides: GraphQL Hacking" loading="lazy" width="1920" height="1080" srcset="https://rashahacks.com/content/images/size/w600/2023/05/GraphQL-Hacking-Hackers-Meetup.004.jpeg 600w, https://rashahacks.com/content/images/size/w1000/2023/05/GraphQL-Hacking-Hackers-Meetup.004.jpeg 1000w, https://rashahacks.com/content/images/size/w1600/2023/05/GraphQL-Hacking-Hackers-Meetup.004.jpeg 1600w, https://rashahacks.com/content/images/2023/05/GraphQL-Hacking-Hackers-Meetup.004.jpeg 1920w" sizes="(min-width: 720px) 720px"></figure><figure class="kg-card kg-image-card"><img src="https://rashahacks.com/content/images/2023/05/GraphQL-Hacking-Hackers-Meetup.005.jpeg" class="kg-image" alt="Slides: GraphQL Hacking" loading="lazy" width="1920" height="1080" srcset="https://rashahacks.com/content/images/size/w600/2023/05/GraphQL-Hacking-Hackers-Meetup.005.jpeg 600w, https://rashahacks.com/content/images/size/w1000/2023/05/GraphQL-Hacking-Hackers-Meetup.005.jpeg 1000w, https://rashahacks.com/content/images/size/w1600/2023/05/GraphQL-Hacking-Hackers-Meetup.005.jpeg 1600w, https://rashahacks.com/content/images/2023/05/GraphQL-Hacking-Hackers-Meetup.005.jpeg 1920w" sizes="(min-width: 720px) 720px"></figure><figure class="kg-card kg-image-card"><img src="https://rashahacks.com/content/images/2023/05/GraphQL-Hacking-Hackers-Meetup.006.jpeg" class="kg-image" alt="Slides: GraphQL Hacking" loading="lazy" width="1920" height="1080" srcset="https://rashahacks.com/content/images/size/w600/2023/05/GraphQL-Hacking-Hackers-Meetup.006.jpeg 600w, https://rashahacks.com/content/images/size/w1000/2023/05/GraphQL-Hacking-Hackers-Meetup.006.jpeg 1000w, https://rashahacks.com/content/images/size/w1600/2023/05/GraphQL-Hacking-Hackers-Meetup.006.jpeg 1600w, https://rashahacks.com/content/images/2023/05/GraphQL-Hacking-Hackers-Meetup.006.jpeg 1920w" sizes="(min-width: 720px) 720px"></figure><figure class="kg-card kg-image-card"><img src="https://rashahacks.com/content/images/2023/05/GraphQL-Hacking-Hackers-Meetup.007.jpeg" class="kg-image" alt="Slides: GraphQL Hacking" loading="lazy" width="1920" height="1080" srcset="https://rashahacks.com/content/images/size/w600/2023/05/GraphQL-Hacking-Hackers-Meetup.007.jpeg 600w, https://rashahacks.com/content/images/size/w1000/2023/05/GraphQL-Hacking-Hackers-Meetup.007.jpeg 1000w, https://rashahacks.com/content/images/size/w1600/2023/05/GraphQL-Hacking-Hackers-Meetup.007.jpeg 1600w, https://rashahacks.com/content/images/2023/05/GraphQL-Hacking-Hackers-Meetup.007.jpeg 1920w" sizes="(min-width: 720px) 720px"></figure><figure class="kg-card kg-image-card"><img src="https://rashahacks.com/content/images/2023/05/GraphQL-Hacking-Hackers-Meetup.008.jpeg" class="kg-image" alt="Slides: GraphQL Hacking" loading="lazy" width="1920" height="1080" srcset="https://rashahacks.com/content/images/size/w600/2023/05/GraphQL-Hacking-Hackers-Meetup.008.jpeg 600w, https://rashahacks.com/content/images/size/w1000/2023/05/GraphQL-Hacking-Hackers-Meetup.008.jpeg 1000w, https://rashahacks.com/content/images/size/w1600/2023/05/GraphQL-Hacking-Hackers-Meetup.008.jpeg 1600w, https://rashahacks.com/content/images/2023/05/GraphQL-Hacking-Hackers-Meetup.008.jpeg 1920w" sizes="(min-width: 720px) 720px"></figure><figure class="kg-card kg-image-card"><img src="https://rashahacks.com/content/images/2023/05/GraphQL-Hacking-Hackers-Meetup.009.jpeg" class="kg-image" alt="Slides: GraphQL Hacking" loading="lazy" width="1920" height="1080" srcset="https://rashahacks.com/content/images/size/w600/2023/05/GraphQL-Hacking-Hackers-Meetup.009.jpeg 600w, https://rashahacks.com/content/images/size/w1000/2023/05/GraphQL-Hacking-Hackers-Meetup.009.jpeg 1000w, https://rashahacks.com/content/images/size/w1600/2023/05/GraphQL-Hacking-Hackers-Meetup.009.jpeg 1600w, https://rashahacks.com/content/images/2023/05/GraphQL-Hacking-Hackers-Meetup.009.jpeg 1920w" sizes="(min-width: 720px) 720px"></figure><!--kg-card-begin: html--><style>
      .desktopx {
        display: block;
      }
      .mobilex {
        display: none;
      }
      @media (max-width: 768px) {
        .desktopx {
          display: none;
        }
        .mobilex {
          display: block;
        }
      }
    </style>

<div class="desktopx">

        <script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8780694099699134" crossorigin="anonymous"></script>
				<!-- display-728x90-desktop-ad -->
				<ins class="adsbygoogle" style="display:inline-block;width:728px;height:90px" data-ad-client="ca-pub-8780694099699134" data-ad-slot="7952670654"></ins>
				<script>
			    (adsbygoogle = window.adsbygoogle || []).push({});
				</script>

</div>

<div class="mobilex">

       <script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8780694099699134" crossorigin="anonymous"></script>
			<!-- display-mobile-300x250-ad -->
			<ins class="adsbygoogle" style="display:inline-block;width:300px;height:250px" data-ad-client="ca-pub-8780694099699134" data-ad-slot="4177625911"></ins>
			<script>
	    (adsbygoogle = window.adsbygoogle || []).push({});
			</script>

</div><!--kg-card-end: html--><figure class="kg-card kg-image-card"><img src="https://rashahacks.com/content/images/2023/05/GraphQL-Hacking-Hackers-Meetup.010.jpeg" class="kg-image" alt="Slides: GraphQL Hacking" loading="lazy" width="1920" height="1080" srcset="https://rashahacks.com/content/images/size/w600/2023/05/GraphQL-Hacking-Hackers-Meetup.010.jpeg 600w, https://rashahacks.com/content/images/size/w1000/2023/05/GraphQL-Hacking-Hackers-Meetup.010.jpeg 1000w, https://rashahacks.com/content/images/size/w1600/2023/05/GraphQL-Hacking-Hackers-Meetup.010.jpeg 1600w, https://rashahacks.com/content/images/2023/05/GraphQL-Hacking-Hackers-Meetup.010.jpeg 1920w" sizes="(min-width: 720px) 720px"></figure><figure class="kg-card kg-image-card"><img src="https://rashahacks.com/content/images/2023/05/GraphQL-Hacking-Hackers-Meetup.011.jpeg" class="kg-image" alt="Slides: GraphQL Hacking" loading="lazy" width="1920" height="1080" srcset="https://rashahacks.com/content/images/size/w600/2023/05/GraphQL-Hacking-Hackers-Meetup.011.jpeg 600w, https://rashahacks.com/content/images/size/w1000/2023/05/GraphQL-Hacking-Hackers-Meetup.011.jpeg 1000w, https://rashahacks.com/content/images/size/w1600/2023/05/GraphQL-Hacking-Hackers-Meetup.011.jpeg 1600w, https://rashahacks.com/content/images/2023/05/GraphQL-Hacking-Hackers-Meetup.011.jpeg 1920w" sizes="(min-width: 720px) 720px"></figure><figure class="kg-card kg-image-card"><img src="https://rashahacks.com/content/images/2023/05/GraphQL-Hacking-Hackers-Meetup.012.jpeg" class="kg-image" alt="Slides: GraphQL Hacking" loading="lazy" width="1920" height="1080" srcset="https://rashahacks.com/content/images/size/w600/2023/05/GraphQL-Hacking-Hackers-Meetup.012.jpeg 600w, https://rashahacks.com/content/images/size/w1000/2023/05/GraphQL-Hacking-Hackers-Meetup.012.jpeg 1000w, https://rashahacks.com/content/images/size/w1600/2023/05/GraphQL-Hacking-Hackers-Meetup.012.jpeg 1600w, https://rashahacks.com/content/images/2023/05/GraphQL-Hacking-Hackers-Meetup.012.jpeg 1920w" sizes="(min-width: 720px) 720px"></figure><figure class="kg-card kg-image-card"><img src="https://rashahacks.com/content/images/2023/05/GraphQL-Hacking-Hackers-Meetup.013.jpeg" class="kg-image" alt="Slides: GraphQL Hacking" loading="lazy" width="1920" height="1080" srcset="https://rashahacks.com/content/images/size/w600/2023/05/GraphQL-Hacking-Hackers-Meetup.013.jpeg 600w, https://rashahacks.com/content/images/size/w1000/2023/05/GraphQL-Hacking-Hackers-Meetup.013.jpeg 1000w, https://rashahacks.com/content/images/size/w1600/2023/05/GraphQL-Hacking-Hackers-Meetup.013.jpeg 1600w, https://rashahacks.com/content/images/2023/05/GraphQL-Hacking-Hackers-Meetup.013.jpeg 1920w" sizes="(min-width: 720px) 720px"></figure><figure class="kg-card kg-image-card"><img src="https://rashahacks.com/content/images/2023/05/GraphQL-Hacking-Hackers-Meetup.014.jpeg" class="kg-image" alt="Slides: GraphQL Hacking" loading="lazy" width="1920" height="1080" srcset="https://rashahacks.com/content/images/size/w600/2023/05/GraphQL-Hacking-Hackers-Meetup.014.jpeg 600w, https://rashahacks.com/content/images/size/w1000/2023/05/GraphQL-Hacking-Hackers-Meetup.014.jpeg 1000w, https://rashahacks.com/content/images/size/w1600/2023/05/GraphQL-Hacking-Hackers-Meetup.014.jpeg 1600w, https://rashahacks.com/content/images/2023/05/GraphQL-Hacking-Hackers-Meetup.014.jpeg 1920w" sizes="(min-width: 720px) 720px"></figure><figure class="kg-card kg-image-card"><img src="https://rashahacks.com/content/images/2023/05/GraphQL-Hacking-Hackers-Meetup.015.jpeg" class="kg-image" alt="Slides: GraphQL Hacking" loading="lazy" width="1920" height="1080" srcset="https://rashahacks.com/content/images/size/w600/2023/05/GraphQL-Hacking-Hackers-Meetup.015.jpeg 600w, https://rashahacks.com/content/images/size/w1000/2023/05/GraphQL-Hacking-Hackers-Meetup.015.jpeg 1000w, https://rashahacks.com/content/images/size/w1600/2023/05/GraphQL-Hacking-Hackers-Meetup.015.jpeg 1600w, https://rashahacks.com/content/images/2023/05/GraphQL-Hacking-Hackers-Meetup.015.jpeg 1920w" sizes="(min-width: 720px) 720px"></figure><figure class="kg-card kg-image-card"><img src="https://rashahacks.com/content/images/2023/05/GraphQL-Hacking-Hackers-Meetup.016.jpeg" class="kg-image" alt="Slides: GraphQL Hacking" loading="lazy" width="1920" height="1080" srcset="https://rashahacks.com/content/images/size/w600/2023/05/GraphQL-Hacking-Hackers-Meetup.016.jpeg 600w, https://rashahacks.com/content/images/size/w1000/2023/05/GraphQL-Hacking-Hackers-Meetup.016.jpeg 1000w, https://rashahacks.com/content/images/size/w1600/2023/05/GraphQL-Hacking-Hackers-Meetup.016.jpeg 1600w, https://rashahacks.com/content/images/2023/05/GraphQL-Hacking-Hackers-Meetup.016.jpeg 1920w" sizes="(min-width: 720px) 720px"></figure><figure class="kg-card kg-image-card"><img src="https://rashahacks.com/content/images/2023/05/GraphQL-Hacking-Hackers-Meetup.017.jpeg" class="kg-image" alt="Slides: GraphQL Hacking" loading="lazy" width="1920" height="1080" srcset="https://rashahacks.com/content/images/size/w600/2023/05/GraphQL-Hacking-Hackers-Meetup.017.jpeg 600w, https://rashahacks.com/content/images/size/w1000/2023/05/GraphQL-Hacking-Hackers-Meetup.017.jpeg 1000w, https://rashahacks.com/content/images/size/w1600/2023/05/GraphQL-Hacking-Hackers-Meetup.017.jpeg 1600w, https://rashahacks.com/content/images/2023/05/GraphQL-Hacking-Hackers-Meetup.017.jpeg 1920w" sizes="(min-width: 720px) 720px"></figure><figure class="kg-card kg-image-card"><img src="https://rashahacks.com/content/images/2023/05/GraphQL-Hacking-Hackers-Meetup.018.jpeg" class="kg-image" alt="Slides: GraphQL Hacking" loading="lazy" width="1920" height="1080" srcset="https://rashahacks.com/content/images/size/w600/2023/05/GraphQL-Hacking-Hackers-Meetup.018.jpeg 600w, https://rashahacks.com/content/images/size/w1000/2023/05/GraphQL-Hacking-Hackers-Meetup.018.jpeg 1000w, https://rashahacks.com/content/images/size/w1600/2023/05/GraphQL-Hacking-Hackers-Meetup.018.jpeg 1600w, https://rashahacks.com/content/images/2023/05/GraphQL-Hacking-Hackers-Meetup.018.jpeg 1920w" sizes="(min-width: 720px) 720px"></figure><figure class="kg-card kg-image-card"><img src="https://rashahacks.com/content/images/2023/05/GraphQL-Hacking-Hackers-Meetup.019.jpeg" class="kg-image" alt="Slides: GraphQL Hacking" loading="lazy" width="1920" height="1080" srcset="https://rashahacks.com/content/images/size/w600/2023/05/GraphQL-Hacking-Hackers-Meetup.019.jpeg 600w, https://rashahacks.com/content/images/size/w1000/2023/05/GraphQL-Hacking-Hackers-Meetup.019.jpeg 1000w, https://rashahacks.com/content/images/size/w1600/2023/05/GraphQL-Hacking-Hackers-Meetup.019.jpeg 1600w, https://rashahacks.com/content/images/2023/05/GraphQL-Hacking-Hackers-Meetup.019.jpeg 1920w" sizes="(min-width: 720px) 720px"></figure><figure class="kg-card kg-image-card"><img src="https://rashahacks.com/content/images/2023/05/GraphQL-Hacking-Hackers-Meetup.020.jpeg" class="kg-image" alt="Slides: GraphQL Hacking" loading="lazy" width="1920" height="1080" srcset="https://rashahacks.com/content/images/size/w600/2023/05/GraphQL-Hacking-Hackers-Meetup.020.jpeg 600w, https://rashahacks.com/content/images/size/w1000/2023/05/GraphQL-Hacking-Hackers-Meetup.020.jpeg 1000w, https://rashahacks.com/content/images/size/w1600/2023/05/GraphQL-Hacking-Hackers-Meetup.020.jpeg 1600w, https://rashahacks.com/content/images/2023/05/GraphQL-Hacking-Hackers-Meetup.020.jpeg 1920w" sizes="(min-width: 720px) 720px"></figure><!--kg-card-begin: html--><style>
      .desktopx {
        display: block;
      }
      .mobilex {
        display: none;
      }
      @media (max-width: 768px) {
        .desktopx {
          display: none;
        }
        .mobilex {
          display: block;
        }
      }
    </style>

<div class="desktopx">

        <script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8780694099699134" crossorigin="anonymous"></script>
				<!-- display-728x90-desktop-ad -->
				<ins class="adsbygoogle" style="display:inline-block;width:728px;height:90px" data-ad-client="ca-pub-8780694099699134" data-ad-slot="7952670654"></ins>
				<script>
			    (adsbygoogle = window.adsbygoogle || []).push({});
				</script>

</div>

<div class="mobilex">

       <script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-8780694099699134" crossorigin="anonymous"></script>
			<!-- display-mobile-300x250-ad -->
			<ins class="adsbygoogle" style="display:inline-block;width:300px;height:250px" data-ad-client="ca-pub-8780694099699134" data-ad-slot="4177625911"></ins>
			<script>
	    (adsbygoogle = window.adsbygoogle || []).push({});
			</script>

</div><!--kg-card-end: html--><figure class="kg-card kg-image-card"><img src="https://rashahacks.com/content/images/2023/05/GraphQL-Hacking-Hackers-Meetup.021.jpeg" class="kg-image" alt="Slides: GraphQL Hacking" loading="lazy" width="1920" height="1080" srcset="https://rashahacks.com/content/images/size/w600/2023/05/GraphQL-Hacking-Hackers-Meetup.021.jpeg 600w, https://rashahacks.com/content/images/size/w1000/2023/05/GraphQL-Hacking-Hackers-Meetup.021.jpeg 1000w, https://rashahacks.com/content/images/size/w1600/2023/05/GraphQL-Hacking-Hackers-Meetup.021.jpeg 1600w, https://rashahacks.com/content/images/2023/05/GraphQL-Hacking-Hackers-Meetup.021.jpeg 1920w" sizes="(min-width: 720px) 720px"></figure><figure class="kg-card kg-image-card"><img src="https://rashahacks.com/content/images/2023/05/GraphQL-Hacking-Hackers-Meetup.022.jpeg" class="kg-image" alt="Slides: GraphQL Hacking" loading="lazy" width="1920" height="1080" srcset="https://rashahacks.com/content/images/size/w600/2023/05/GraphQL-Hacking-Hackers-Meetup.022.jpeg 600w, https://rashahacks.com/content/images/size/w1000/2023/05/GraphQL-Hacking-Hackers-Meetup.022.jpeg 1000w, https://rashahacks.com/content/images/size/w1600/2023/05/GraphQL-Hacking-Hackers-Meetup.022.jpeg 1600w, https://rashahacks.com/content/images/2023/05/GraphQL-Hacking-Hackers-Meetup.022.jpeg 1920w" sizes="(min-width: 720px) 720px"></figure><figure class="kg-card kg-image-card"><img src="https://rashahacks.com/content/images/2023/05/GraphQL-Hacking-Hackers-Meetup.023.jpeg" class="kg-image" alt="Slides: GraphQL Hacking" loading="lazy" width="1920" height="1080" srcset="https://rashahacks.com/content/images/size/w600/2023/05/GraphQL-Hacking-Hackers-Meetup.023.jpeg 600w, https://rashahacks.com/content/images/size/w1000/2023/05/GraphQL-Hacking-Hackers-Meetup.023.jpeg 1000w, https://rashahacks.com/content/images/size/w1600/2023/05/GraphQL-Hacking-Hackers-Meetup.023.jpeg 1600w, https://rashahacks.com/content/images/2023/05/GraphQL-Hacking-Hackers-Meetup.023.jpeg 1920w" sizes="(min-width: 720px) 720px"></figure><figure class="kg-card kg-image-card"><img src="https://rashahacks.com/content/images/2023/05/GraphQL-Hacking-Hackers-Meetup.024.jpeg" class="kg-image" alt="Slides: GraphQL Hacking" loading="lazy" width="1920" height="1080" srcset="https://rashahacks.com/content/images/size/w600/2023/05/GraphQL-Hacking-Hackers-Meetup.024.jpeg 600w, https://rashahacks.com/content/images/size/w1000/2023/05/GraphQL-Hacking-Hackers-Meetup.024.jpeg 1000w, https://rashahacks.com/content/images/size/w1600/2023/05/GraphQL-Hacking-Hackers-Meetup.024.jpeg 1600w, https://rashahacks.com/content/images/2023/05/GraphQL-Hacking-Hackers-Meetup.024.jpeg 1920w" sizes="(min-width: 720px) 720px"></figure><figure class="kg-card kg-image-card"><img src="https://rashahacks.com/content/images/2023/05/GraphQL-Hacking-Hackers-Meetup.025.jpeg" class="kg-image" alt="Slides: GraphQL Hacking" loading="lazy" width="1920" height="1080" srcset="https://rashahacks.com/content/images/size/w600/2023/05/GraphQL-Hacking-Hackers-Meetup.025.jpeg 600w, https://rashahacks.com/content/images/size/w1000/2023/05/GraphQL-Hacking-Hackers-Meetup.025.jpeg 1000w, https://rashahacks.com/content/images/size/w1600/2023/05/GraphQL-Hacking-Hackers-Meetup.025.jpeg 1600w, https://rashahacks.com/content/images/2023/05/GraphQL-Hacking-Hackers-Meetup.025.jpeg 1920w" sizes="(min-width: 720px) 720px"></figure><figure class="kg-card kg-image-card"><img src="https://rashahacks.com/content/images/2023/05/GraphQL-Hacking-Hackers-Meetup.026.jpeg" class="kg-image" alt="Slides: GraphQL Hacking" loading="lazy" width="1920" height="1080" srcset="https://rashahacks.com/content/images/size/w600/2023/05/GraphQL-Hacking-Hackers-Meetup.026.jpeg 600w, https://rashahacks.com/content/images/size/w1000/2023/05/GraphQL-Hacking-Hackers-Meetup.026.jpeg 1000w, https://rashahacks.com/content/images/size/w1600/2023/05/GraphQL-Hacking-Hackers-Meetup.026.jpeg 1600w, https://rashahacks.com/content/images/2023/05/GraphQL-Hacking-Hackers-Meetup.026.jpeg 1920w" sizes="(min-width: 720px) 720px"></figure><figure class="kg-card kg-image-card"><img src="https://rashahacks.com/content/images/2023/05/GraphQL-Hacking-Hackers-Meetup.027.jpeg" class="kg-image" alt="Slides: GraphQL Hacking" loading="lazy" width="1920" height="1080" srcset="https://rashahacks.com/content/images/size/w600/2023/05/GraphQL-Hacking-Hackers-Meetup.027.jpeg 600w, https://rashahacks.com/content/images/size/w1000/2023/05/GraphQL-Hacking-Hackers-Meetup.027.jpeg 1000w, https://rashahacks.com/content/images/size/w1600/2023/05/GraphQL-Hacking-Hackers-Meetup.027.jpeg 1600w, https://rashahacks.com/content/images/2023/05/GraphQL-Hacking-Hackers-Meetup.027.jpeg 1920w" sizes="(min-width: 720px) 720px"></figure><figure class="kg-card kg-image-card"><img src="https://rashahacks.com/content/images/2023/05/GraphQL-Hacking-Hackers-Meetup.028.jpeg" class="kg-image" alt="Slides: GraphQL Hacking" loading="lazy" width="1920" height="1080" srcset="https://rashahacks.com/content/images/size/w600/2023/05/GraphQL-Hacking-Hackers-Meetup.028.jpeg 600w, https://rashahacks.com/content/images/size/w1000/2023/05/GraphQL-Hacking-Hackers-Meetup.028.jpeg 1000w, https://rashahacks.com/content/images/size/w1600/2023/05/GraphQL-Hacking-Hackers-Meetup.028.jpeg 1600w, https://rashahacks.com/content/images/2023/05/GraphQL-Hacking-Hackers-Meetup.028.jpeg 1920w" sizes="(min-width: 720px) 720px"></figure><figure class="kg-card kg-image-card"><img src="https://rashahacks.com/content/images/2023/05/GraphQL-Hacking-Hackers-Meetup.029.jpeg" class="kg-image" alt="Slides: GraphQL Hacking" loading="lazy" width="1920" height="1080" srcset="https://rashahacks.com/content/images/size/w600/2023/05/GraphQL-Hacking-Hackers-Meetup.029.jpeg 600w, https://rashahacks.com/content/images/size/w1000/2023/05/GraphQL-Hacking-Hackers-Meetup.029.jpeg 1000w, https://rashahacks.com/content/images/size/w1600/2023/05/GraphQL-Hacking-Hackers-Meetup.029.jpeg 1600w, https://rashahacks.com/content/images/2023/05/GraphQL-Hacking-Hackers-Meetup.029.jpeg 1920w" sizes="(min-width: 720px) 720px"></figure><figure class="kg-card kg-image-card"><img src="https://rashahacks.com/content/images/2023/05/GraphQL-Hacking-Hackers-Meetup.030.jpeg" class="kg-image" alt="Slides: GraphQL Hacking" loading="lazy" width="1920" height="1080" srcset="https://rashahacks.com/content/images/size/w600/2023/05/GraphQL-Hacking-Hackers-Meetup.030.jpeg 600w, https://rashahacks.com/content/images/size/w1000/2023/05/GraphQL-Hacking-Hackers-Meetup.030.jpeg 1000w, https://rashahacks.com/content/images/size/w1600/2023/05/GraphQL-Hacking-Hackers-Meetup.030.jpeg 1600w, https://rashahacks.com/content/images/2023/05/GraphQL-Hacking-Hackers-Meetup.030.jpeg 1920w" sizes="(min-width: 720px) 720px"></figure><figure class="kg-card kg-image-card"><img src="https://rashahacks.com/content/images/2023/05/GraphQL-Hacking-Hackers-Meetup.031.jpeg" class="kg-image" alt="Slides: GraphQL Hacking" loading="lazy" width="1920" height="1080" srcset="https://rashahacks.com/content/images/size/w600/2023/05/GraphQL-Hacking-Hackers-Meetup.031.jpeg 600w, https://rashahacks.com/content/images/size/w1000/2023/05/GraphQL-Hacking-Hackers-Meetup.031.jpeg 1000w, https://rashahacks.com/content/images/size/w1600/2023/05/GraphQL-Hacking-Hackers-Meetup.031.jpeg 1600w, https://rashahacks.com/content/images/2023/05/GraphQL-Hacking-Hackers-Meetup.031.jpeg 1920w" sizes="(min-width: 720px) 720px"></figure><figure class="kg-card kg-image-card"><img src="https://rashahacks.com/content/images/2023/05/GraphQL-Hacking-Hackers-Meetup.032.jpeg" class="kg-image" alt="Slides: GraphQL Hacking" loading="lazy" width="1920" height="1080" srcset="https://rashahacks.com/content/images/size/w600/2023/05/GraphQL-Hacking-Hackers-Meetup.032.jpeg 600w, https://rashahacks.com/content/images/size/w1000/2023/05/GraphQL-Hacking-Hackers-Meetup.032.jpeg 1000w, https://rashahacks.com/content/images/size/w1600/2023/05/GraphQL-Hacking-Hackers-Meetup.032.jpeg 1600w, https://rashahacks.com/content/images/2023/05/GraphQL-Hacking-Hackers-Meetup.032.jpeg 1920w" sizes="(min-width: 720px) 720px"></figure><figure class="kg-card kg-image-card"><img src="https://rashahacks.com/content/images/2023/05/GraphQL-Hacking-Hackers-Meetup.033.jpeg" class="kg-image" alt="Slides: GraphQL Hacking" loading="lazy" width="1920" height="1080" srcset="https://rashahacks.com/content/images/size/w600/2023/05/GraphQL-Hacking-Hackers-Meetup.033.jpeg 600w, https://rashahacks.com/content/images/size/w1000/2023/05/GraphQL-Hacking-Hackers-Meetup.033.jpeg 1000w, https://rashahacks.com/content/images/size/w1600/2023/05/GraphQL-Hacking-Hackers-Meetup.033.jpeg 1600w, https://rashahacks.com/content/images/2023/05/GraphQL-Hacking-Hackers-Meetup.033.jpeg 1920w" sizes="(min-width: 720px) 720px"></figure><figure class="kg-card kg-image-card"><img src="https://rashahacks.com/content/images/2023/05/GraphQL-Hacking-Hackers-Meetup.034.jpeg" class="kg-image" alt="Slides: GraphQL Hacking" loading="lazy" width="1920" height="1080" srcset="https://rashahacks.com/content/images/size/w600/2023/05/GraphQL-Hacking-Hackers-Meetup.034.jpeg 600w, https://rashahacks.com/content/images/size/w1000/2023/05/GraphQL-Hacking-Hackers-Meetup.034.jpeg 1000w, https://rashahacks.com/content/images/size/w1600/2023/05/GraphQL-Hacking-Hackers-Meetup.034.jpeg 1600w, https://rashahacks.com/content/images/2023/05/GraphQL-Hacking-Hackers-Meetup.034.jpeg 1920w" sizes="(min-width: 720px) 720px"></figure>]]></content:encoded></item><item><title><![CDATA[Changing Others Profile Pic with IDOR]]></title><description><![CDATA[<p>Hi folks! Hope you are doing great. This is Aravind <a href="https://www.instagram.com/aravind_0x7/?ref=rashahacks.com">(aravind0x7)</a> here with an awesome write-up. I will discuss about one of my past finding on target.com(can&#x2019;t reveal site here) where I was able to change the profile picture of any user of that website by</p>]]></description><link>https://rashahacks.com/changing-others-profile-pic-with-idor/</link><guid isPermaLink="false">64706d05150941916fb2d2d2</guid><dc:creator><![CDATA[Gnana Aravind K]]></dc:creator><pubDate>Sat, 27 May 2023 18:01:01 GMT</pubDate><media:content url="https://rashahacks.com/content/images/2023/05/FTd0H0rUEAEBACn.jpg" medium="image"/><content:encoded><![CDATA[<img src="https://rashahacks.com/content/images/2023/05/FTd0H0rUEAEBACn.jpg" alt="Changing Others Profile Pic with IDOR"><p>Hi folks! Hope you are doing great. This is Aravind <a href="https://www.instagram.com/aravind_0x7/?ref=rashahacks.com">(aravind0x7)</a> here with an awesome write-up. I will discuss about one of my past finding on target.com(can&#x2019;t reveal site here) where I was able to change the profile picture of any user of that website by just knowing their user id. Isn&#x2019;t it cool? Let&#x2019;s start the journey.</p><p>If you are a experienced hacker, then by this time you might have catched the type of vulnerability that existed on target.com. Anyways the main reason for this issue was &#x201C;Insecure Direct Object Reference&#x201D; IDOR, Already heard somewhere ? If not get know about it here.</p><p><a href="https://portswigger.net/web-security/access-control/idor?ref=rashahacks.com">https://portswigger.net/web-security/access-control/idor</a></p><p>Jumping into my finding, target.com had all the basic things like all other websites have. It had a account page which carries all information about the user and you can also set your own profile picture for your account. At first I tried to inject a XSS payload which was in .png format, into the upload field but nothing worked out. While watching the requests and responses with burp. I noticed that when we upload a pic, the user id is mentioned in the request. After seeing this I got an idea to change my user id to somebody else user id. Quickly I created another account and tested the same. </p><p>I made another account, captured the user id (say user 2) and stored it elsewhere. Now I went back to my previous account (say hacker) and uploaded the profile pic by changing my user id to the user id I took from user 2. </p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://rashahacks.com/content/images/2023/05/pic.png" class="kg-image" alt="Changing Others Profile Pic with IDOR" loading="lazy" width="760" height="610" srcset="https://rashahacks.com/content/images/size/w600/2023/05/pic.png 600w, https://rashahacks.com/content/images/2023/05/pic.png 760w" sizes="(min-width: 720px) 720px"><figcaption>User ID</figcaption></figure><p>I was surprised to see that, the victims profile picture is changed now by just changing the user id. Quickly I made a report and submitted it to the security team of the website. That&apos;s a short story of my finding and I hope that you guys got some idea about hunting IDOR bugs. Let&apos;s catch-up soon in another blog. For more write-ups like this, subscribe and stay tuned.</p><p>Wanna get connected ? Visit here <a href="https://aravind0x7.in/?ref=rashahacks.com">www.aravind0x7.in</a></p>]]></content:encoded></item></channel></rss>