<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Research on Mazin Ahmed</title><link>https://mazinahmed.net/tags/research/</link><description>Recent content in Research on Mazin Ahmed</description><generator>Hugo</generator><language>en</language><lastBuildDate>Wed, 16 Sep 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://mazinahmed.net/tags/research/index.xml" rel="self" type="application/rss+xml"/><item><title>Attacking GraphQL APIs (OWASP PNW 2024)</title><link>https://mazinahmed.net/blog/attacking-graphql-apis-owasp-pnw-2024/</link><pubDate>Wed, 16 Sep 2026 00:00:00 +0000</pubDate><guid>https://mazinahmed.net/blog/attacking-graphql-apis-owasp-pnw-2024/</guid><description>&lt;p&gt;I spoke at OWASP AppSec Days Pacific Northwest 2024 in Vancouver about attacking GraphQL APIs.&lt;/p&gt;&#10;&lt;p&gt;The talk covered a range of GraphQL attacks and advanced attack vectors, along with the security considerations that are beyond the traditional checklists.&lt;/p&gt;&#10;&lt;h2 id="slides" class="relative group"&gt;Slides &lt;span class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100"&gt;&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700" style="text-decoration-line: none !important;" href="#slides" aria-label="Anchor"&gt;#&lt;/a&gt;&lt;/span&gt;&lt;/h2&gt;&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;PDF:&lt;/strong&gt; &lt;a href="https://github.com/mazen160/public/raw/master/documents/Attacking%20GraphQL%20APIs%20-%20OWASP%20AppSec%20Days%20Pacific%20Northwest%202024.pdf" target="_blank" rel="noreferrer"&gt;Attacking GraphQL APIs - OWASP AppSec Days Pacific Northwest 2024.pdf&lt;/a&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;PowerPoint:&lt;/strong&gt; &lt;a href="https://github.com/mazen160/public/raw/master/documents/Attacking%20GraphQL%20APIs%20-%20OWASP%20AppSec%20Days%20Pacific%20Northwest%202024.pptx" target="_blank" rel="noreferrer"&gt;Attacking GraphQL APIs - OWASP AppSec Days Pacific Northwest 2024.pptx&lt;/a&gt;&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;h2 id="speaker-preview" class="relative group"&gt;Speaker Preview &lt;span class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100"&gt;&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700" style="text-decoration-line: none !important;" href="#speaker-preview" aria-label="Anchor"&gt;#&lt;/a&gt;&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;The conference published a short speaker preview ahead of the talk.&lt;/p&gt;</description></item><item><title>Preventing Prompt Injection Attacks at Scale</title><link>https://mazinahmed.net/blog/preventing-prompt-injection-attacks-at-scale/</link><pubDate>Mon, 09 Jun 2025 00:00:00 +0000</pubDate><guid>https://mazinahmed.net/blog/preventing-prompt-injection-attacks-at-scale/</guid><description>&lt;hr&gt;&#10;&lt;p&gt;&#10;&#10;&#10;&#10;&#10;&#10;&#10; &#10; &#10;&lt;figure&gt;&lt;img src="https://mazin.s3.amazonaws.com/public/6ea2bdf1-1f8f-44c8-a164-714f9dbe5db5/Preventing%20Prompt%20Injection%20Attacks%20at%20Scale.jpg" alt="" class="mx-auto my-0 rounded-md" /&gt;&#10;&lt;/figure&gt;&#10;&lt;/p&gt;&#10;&lt;p&gt;Prompt injection attacks are one of the most common LLM security threats we have all seen while reviewing LLM implementations, integrations, and AI-powered systems.&lt;/p&gt;&#10;&lt;p&gt;I have identified Prompt Injection attacks in numerous implementations and applications, and I’ve decided to write a blog post to recommend different methodologies I experimented with that can prevent prompt injection at scale.&lt;/p&gt;&#10;&lt;p&gt;I will also share a LangChain Prompt Injection attack vector, vulnerabilities in example MCP implementations, and practical ways to prevent prompt injection attacks.&lt;/p&gt;</description></item><item><title>Introducing LLMQuery Framework: Scaling GenAI Automation with Prompt Templates</title><link>https://mazinahmed.net/blog/llmquery-project/</link><pubDate>Mon, 13 Jan 2025 00:00:00 +0000</pubDate><guid>https://mazinahmed.net/blog/llmquery-project/</guid><description>&lt;hr&gt;&#10;&lt;p align="center"&gt;&#10; &lt;img src="https://raw.githubusercontent.com/mazen160/llmquery/refs/heads/main/docs/llmquery-logo-4.png" alt="llmquery logo"&gt;&#10;&lt;/p&gt;&#10;&lt;p&gt;Large Language Models have completely changed how we automate, create, and solve problems.&lt;/p&gt;&#10;&lt;p&gt;Integrating and experimenting with these models across different providers, along with optimizing LLM prompts and benchmarking them, can feel overwhelming. That’s why I built llmquery this year, to make interacting with Large Language Models and prototyping new GenAI-powered applications simpler and faster.&lt;/p&gt;&#10;&lt;p&gt;llmquery is all about making it easier to prototype new applications and use cases. It just starts with writing a single YAML template (or using one of the built-in YAML templates available) where the YAML template handles all the overhead of integrating with commercial and local providers, helping with validating models, calculating tokens, setting limits, rendering templates, and other checks.&lt;/p&gt;</description></item><item><title>Engineering Learnings from the CrowdStrike Falcon Outage</title><link>https://mazinahmed.net/blog/crowdstrike-incident-engineering-learnings/</link><pubDate>Fri, 26 Jul 2024 00:00:00 +0000</pubDate><guid>https://mazinahmed.net/blog/crowdstrike-incident-engineering-learnings/</guid><description>&lt;hr&gt;&#10;&lt;p&gt;&#10;&#10;&#10;&#10;&#10;&#10;&#10; &#10; &#10;&lt;figure&gt;&lt;img src="https://mazin.s3.amazonaws.com/public/0dfa779e-5cee-4bb8-9906-18c8a0cbf34f/crowdstrike-incident-banner-min-2-1622d2d5-c8b3-426a-9bc6-9c5468f8501f.png" alt="" class="mx-auto my-0 rounded-md" /&gt;&#10;&lt;/figure&gt;&#10;&lt;/p&gt;&#10;&lt;h1 id="what-happened" class="relative group"&gt;What Happened? &lt;span class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100"&gt;&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700" style="text-decoration-line: none !important;" href="#what-happened" aria-label="Anchor"&gt;#&lt;/a&gt;&lt;/span&gt;&lt;/h1&gt;&lt;p&gt;On July 18, 2024, the world witnessed a global outage that disrupted major industries, including banking, airlines, healthcare, oil and gas, and governments. The outage was caused by a faulty software update by CrowdStrike that left Windows computers in a continuous BSOD (Blue Screen of Death) loop.&lt;/p&gt;&#10;&lt;p&gt;&#10;&#10;&#10;&#10;&#10;&#10;&#10; &#10; &#10;&lt;figure&gt;&lt;img src="https://raw.githubusercontent.com/mazen160/public/master/static/images/times-square-crowdstrike-bsod-v0-06uchoze3kdd1.webp" alt="" class="mx-auto my-0 rounded-md" /&gt;&#10;&lt;/figure&gt;&#10;&lt;/p&gt;&#10;&lt;p&gt;&lt;em&gt;(Banners of Time Square are showing Windows BSOD as a result of the CrowdStrike incident)&lt;/em&gt;&lt;/p&gt;</description></item><item><title>Secrets Patterns DB: Building Open-Source Regex Database for Secret Detection</title><link>https://mazinahmed.net/blog/secrets-patterns-db/</link><pubDate>Tue, 07 Feb 2023 00:00:00 +0000</pubDate><guid>https://mazinahmed.net/blog/secrets-patterns-db/</guid><description>&lt;hr&gt;&#10;&lt;p&gt;&#10;&#10;&#10;&#10;&#10;&#10;&#10; &#10; &#10;&lt;figure&gt;&lt;img src="https://mazinahmed.net/uploads/assets/static/e573dd16-b649-432a-9173-df248e64b3af.png" alt="" class="mx-auto my-0 rounded-md" /&gt;&#10;&lt;/figure&gt;&#10;&lt;/p&gt;&#10;&lt;p&gt;Ensuring the security of your organization&amp;rsquo;s sensitive information is critical for any security team, and detecting secrets is a key part of that. However, even if you have implemented advanced security controls, your program may still be at risk if passwords and API keys are committed to GitHub and subsequently exposed in a production environment, whether through a live web application, a compiled mobile app, or minified JavaScript code. To mitigate this risk, secrets must be secured and managed properly throughout development.&lt;/p&gt;</description></item><item><title>DoS Attacks are Dead: Demystifying Practical DoS Attacks</title><link>https://mazinahmed.net/blog/demystfying-practical-dos-attacks-talk/</link><pubDate>Sun, 04 Dec 2022 00:00:00 +0000</pubDate><guid>https://mazinahmed.net/blog/demystfying-practical-dos-attacks-talk/</guid><description>&lt;hr&gt;&#10;&lt;p&gt;&#10;&#10;&#10;&#10;&#10;&#10;&#10; &#10; &#10;&lt;figure&gt;&lt;img src="https://mazinahmed.net/uploads/assets/static/0c5514f9-e535-4678-a082-d2fba612105c.jpg" alt="" class="mx-auto my-0 rounded-md" /&gt;&#10;&lt;/figure&gt;&#10;&lt;/p&gt;&#10;&lt;p&gt;&#10;&#10;&#10;&#10;&#10;&#10;&#10; &#10; &#10;&lt;figure&gt;&lt;img src="https://mazinahmed.net/uploads/assets/static/9e146db4-7fcb-46b9-bab2-31bd40afc700.jpg" alt="" class="mx-auto my-0 rounded-md" /&gt;&#10;&lt;/figure&gt;&#10;&lt;/p&gt;&#10;&lt;p&gt;I recently spoke at BlackHat MEA 2022, the largest security conference in the Middle East and Africa region. My talk, titled &amp;ldquo;Demystifying Practical DoS Attacks&amp;rdquo;, focused on the increasing threat of DoS attacks and the need for improved defense solutions and for practical validation of current DDoS prevention solutions.&lt;/p&gt;&#10;&lt;p&gt;In my presentation, I shared my research on practical DoS attacks, including recent Application-Level DoS attacks and evasion techniques. I also discussed the discovery of unique DoS vectors in modern APIs and demonstrated how to simulate the most significant Layer 7 DDoS attack that Google Cloud experienced in August 2022.&lt;/p&gt;</description></item><item><title>Shennina Framework - Automating Host Exploitation with AI</title><link>https://mazinahmed.net/blog/shennina-exploitation-framework/</link><pubDate>Tue, 08 Nov 2022 00:00:00 +0000</pubDate><guid>https://mazinahmed.net/blog/shennina-exploitation-framework/</guid><description>&lt;hr&gt;&#10;&lt;p&gt;&#10;&#10;&#10;&#10;&#10;&#10;&#10; &#10; &#10;&lt;figure&gt;&lt;img src="https://mazinahmed.net/uploads/assets/static/0e77a1c3-5aa9-4683-9dc6-4b83d221b5ca.png" alt="Banner" class="mx-auto my-0 rounded-md" /&gt;&#10;&lt;/figure&gt;&#10;&lt;/p&gt;&#10;&lt;p&gt;In 2019, &lt;a href="https://www.linkedin.com/in/khaledfarah/" target="_blank" rel="noreferrer"&gt;Khaled Farah&lt;/a&gt; and I participated in a security competition for developing offensive security tools.&lt;/p&gt;&#10;&lt;p&gt;I enjoy building security tools, and this competition was funded by HITB (Hack-in-the-Box) with a reward of $100,000 for the winners. It would be an exciting challenge to work on as a side project.&lt;/p&gt;&#10;&lt;p&gt;I met my friend Khaled, who was also interested in winning this competition. We signed up, and once accepted, we started meeting regularly to build this project.&lt;/p&gt;</description></item><item><title>Twitch Internal Security Tools: In-depth Analysis of the Leaked Twitch Security Tools</title><link>https://mazinahmed.net/blog/indepth-analysis-twitch-security-tools/</link><pubDate>Wed, 01 Jun 2022 00:00:00 +0000</pubDate><guid>https://mazinahmed.net/blog/indepth-analysis-twitch-security-tools/</guid><description>&lt;h2 id="" class="relative group"&gt;&#10;&#10;&#10;&#10;&#10;&#10;&#10; &#10; &#10;&lt;figure&gt;&lt;img src="https://mazinahmed.net/uploads/assets/static/142c86db-2f34-4d6a-86fb-da11da640ed5.png" alt="" class="mx-auto my-0 rounded-md" /&gt;&#10;&lt;/figure&gt;&#10; &lt;span class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100"&gt;&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700" style="text-decoration-line: none !important;" href="#" aria-label="Anchor"&gt;#&lt;/a&gt;&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;How was Twitch hacked? What security controls did Twitch build?&lt;/p&gt;&#10;&lt;p&gt;The Twitch breach revealed more than 120 internal security tools developed by the Twitch Security team.&lt;/p&gt;&#10;&lt;p&gt;I analyzed all the leaked security tools that were developed by Twitch Security. Check out the full research.&lt;/p&gt;&#10;&lt;h1 id="background" class="relative group"&gt;Background &lt;span class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100"&gt;&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700" style="text-decoration-line: none !important;" href="#background" aria-label="Anchor"&gt;#&lt;/a&gt;&lt;/span&gt;&lt;/h1&gt;&lt;p&gt;Twitch is an interactive live-streaming service for content, gaming, entertainment, sports, and music. In 2015, Amazon acquired Twitch for $970 million, and after COVID-19 time, its market value skyrocketed as more people adapted to live-streaming from home.&lt;/p&gt;</description></item><item><title>Attacking Modern Environments Series: Attack Vectors on Terraform Environments</title><link>https://mazinahmed.net/blog/attacking-terraform-environments/</link><pubDate>Sat, 29 Jan 2022 00:00:00 +0000</pubDate><guid>https://mazinahmed.net/blog/attacking-terraform-environments/</guid><description>&lt;hr&gt;&#10;&lt;p&gt;I have given a talk about my latest research, &amp;ldquo;Attack Vectors on Terraform Environments&amp;rdquo;.&lt;/p&gt;&#10;&lt;h2 id="about-the-talk" class="relative group"&gt;About the talk &lt;span class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100"&gt;&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700" style="text-decoration-line: none !important;" href="#about-the-talk" aria-label="Anchor"&gt;#&lt;/a&gt;&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;Have you ever encountered an environment in an engagement that uses Terraform for IaC (infrastructure-as-code) management?&#10;Almost every modern company does now.&lt;/p&gt;&#10;&lt;p&gt;In this talk, I will share techniques and attack vectors to exploit and compromise Terraform environments in engagements, along with patterns I have seen that achieve successful infrastructure takeover against companies.&#10;I will also cover detection and prevention methods for each attack vector discussed in my talk.&lt;/p&gt;</description></item><item><title>Hacking Zoom: Uncovering Tales of Security Vulnerabilities in Zoom</title><link>https://mazinahmed.net/blog/hacking-zoom/</link><pubDate>Sun, 09 Aug 2020 00:00:00 +0000</pubDate><guid>https://mazinahmed.net/blog/hacking-zoom/</guid><description>&lt;hr&gt;&#10;&lt;h1 id="hacking-zoom" class="relative group"&gt;Hacking Zoom &lt;span class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100"&gt;&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700" style="text-decoration-line: none !important;" href="#hacking-zoom" aria-label="Anchor"&gt;#&lt;/a&gt;&lt;/span&gt;&lt;/h1&gt;&lt;h2 id="uncovering-tales-of-security-vulnerabilities-in-zoom" class="relative group"&gt;Uncovering Tales of Security Vulnerabilities in Zoom &lt;span class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100"&gt;&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700" style="text-decoration-line: none !important;" href="#uncovering-tales-of-security-vulnerabilities-in-zoom" aria-label="Anchor"&gt;#&lt;/a&gt;&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;This blog post discusses my experiments in testing and hacking Zoom.&lt;/p&gt;&#10;&lt;p&gt;Zoom has become one of the most high-performing tech companies of 2020. Zoom is a digital video conferencing software that went public in an IPO last year&lt;a href="https://www.cnbc.com/2019/04/18/zoom-ipo-stock-begins-trading-on-nasdaq.html" target="_blank" rel="noreferrer"&gt;1&lt;/a&gt;, a few months before the global pandemic.&lt;/p&gt;</description></item><item><title>OhMyZsh dotenv Remote Code Execution</title><link>https://mazinahmed.net/blog/ohmyzsh-dotenv-rce/</link><pubDate>Wed, 08 Apr 2020 00:00:00 +0000</pubDate><guid>https://mazinahmed.net/blog/ohmyzsh-dotenv-rce/</guid><description>&lt;hr&gt;&#10;&lt;p&gt;&#10;&#10;&#10;&#10;&#10;&#10;&#10; &#10; &#10;&lt;figure&gt;&lt;img src="https://mazinahmed.net/uploads/assets/static/91389496-77d3-4dbe-941b-180403841f58.png" alt="" class="mx-auto my-0 rounded-md" /&gt;&#10;&lt;/figure&gt;&#10;&lt;/p&gt;&#10;&lt;h1 id="abstract" class="relative group"&gt;Abstract &lt;span class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100"&gt;&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700" style="text-decoration-line: none !important;" href="#abstract" aria-label="Anchor"&gt;#&lt;/a&gt;&lt;/span&gt;&lt;/h1&gt;&lt;p&gt;OhMyZsh was vulnerable to an RCE (Remote Code Execution) vulnerability due to arbitrarily trusting ENV files in the dotenv plugin. Users downloading a malicious repository or a compressed file can have their machines compromised due to the vulnerability.&lt;/p&gt;&#10;&lt;hr&gt;&#10;&lt;h1 id="background" class="relative group"&gt;Background &lt;span class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100"&gt;&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700" style="text-decoration-line: none !important;" href="#background" aria-label="Anchor"&gt;#&lt;/a&gt;&lt;/span&gt;&lt;/h1&gt;&lt;p&gt;&lt;strong&gt;OhMyZsh&lt;/strong&gt; is a highly popular framework for managing ZSH configuration. At the time of writing, it&amp;rsquo;s ranked in the top 10 GitHub repositories across all projects.&lt;/p&gt;</description></item><item><title>Practical Approaches for Testing and Breaking JWT Authentication</title><link>https://mazinahmed.net/blog/breaking-jwt/</link><pubDate>Fri, 25 Oct 2019 00:00:00 +0000</pubDate><guid>https://mazinahmed.net/blog/breaking-jwt/</guid><description>&lt;hr&gt;&#10;&lt;h1 id="introduction" class="relative group"&gt;Introduction &lt;span class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100"&gt;&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700" style="text-decoration-line: none !important;" href="#introduction" aria-label="Anchor"&gt;#&lt;/a&gt;&lt;/span&gt;&lt;/h1&gt;&lt;p&gt;JWT (JSON Web Token) is a popular authentication/authorization protocol. It integrates cryptographic signatures into JSON objects to verify the object&amp;rsquo;s integrity.&lt;/p&gt;&#10;&lt;p&gt;The approach of JWT is systematic and relatively simple. Several pieces of research covered the security aspects of JWT authentication.&lt;/p&gt;&#10;&lt;p&gt;Several tools were also previously developed. However, after assessing the quality of the public tools, I concluded that we need better tools to perform testing against JWT. I have developed a set of scripts I call &amp;ldquo;jwt-pwn&amp;rdquo; that aims to test JWT authentication with stability, simplicity, and efficiency in mind. The script set is straightforward, integrating directly with the JWT Python library.&lt;/p&gt;</description></item><item><title>[Research] Overview of the Application-Level Security of the Swiss E-voting System</title><link>https://mazinahmed.net/blog/swiss-evoting-system-security/</link><pubDate>Tue, 16 Apr 2019 00:00:00 +0000</pubDate><guid>https://mazinahmed.net/blog/swiss-evoting-system-security/</guid><description>&lt;hr&gt;&#10;&lt;p&gt;I&amp;rsquo;m publishing my security research on the overview of the application-level security of the Swiss E-voting system.&lt;/p&gt;&#10;&lt;p&gt;You can download the report at the following link:&lt;/p&gt;&#10;&lt;p&gt;Download: &lt;a href="https://mazinahmed.net/uploads/files/Overview%20of%20the%20Application-Level%20Security%20of%20the%20Swiss%20Evoting%20System.pdf" target="_blank" rel="noreferrer"&gt;Overview of the Application-Level Security of the Swiss Evoting System&lt;/a&gt;&lt;/p&gt;&#10;&lt;p&gt;Best Regards,&lt;br&gt;&#10;Mazin Ahmed&lt;/p&gt;</description></item><item><title>Backchannel Leaks on Strict Content-Security Policy</title><link>https://mazinahmed.net/blog/backchannel-leaks-on-strict-csp-policy/</link><pubDate>Fri, 18 Jan 2019 00:00:00 +0000</pubDate><guid>https://mazinahmed.net/blog/backchannel-leaks-on-strict-csp-policy/</guid><description>&lt;hr&gt;&#10;&lt;h1 id="abstract" class="relative group"&gt;Abstract &lt;span class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100"&gt;&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700" style="text-decoration-line: none !important;" href="#abstract" aria-label="Anchor"&gt;#&lt;/a&gt;&lt;/span&gt;&lt;/h1&gt;&lt;p&gt;Content-Security Policy (CSP) is one of the most important protection layers in client-side web security. A strict policy should not allow external communications to non-permitted hosts. This blog post demonstrates a bypass I found in Chrome and Firefox that permits backchannel communication leaks by requesting non-permitted domains.&lt;/p&gt;&#10;&lt;h1 id="background" class="relative group"&gt;Background &lt;span class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100"&gt;&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700" style="text-decoration-line: none !important;" href="#background" aria-label="Anchor"&gt;#&lt;/a&gt;&lt;/span&gt;&lt;/h1&gt;&lt;p&gt;I recently discussed how CSP can secure web applications against backchannel leaks. The concept sounded reasonable at first sight; CSP is designed to block unauthorized content from loading, which generically blocks XSS attacks and unsafe loading of remote JavaScript (and various resources and contents) from unauthorized origins.&lt;/p&gt;</description></item><item><title>Practical Protection Against DNS Rebinding Attacks</title><link>https://mazinahmed.net/blog/practical-protection-against-dns-rebinding-attacks/</link><pubDate>Tue, 31 Jul 2018 00:00:00 +0000</pubDate><guid>https://mazinahmed.net/blog/practical-protection-against-dns-rebinding-attacks/</guid><description>&lt;hr&gt;&#10;&lt;h1 id="background" class="relative group"&gt;Background &lt;span class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100"&gt;&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700" style="text-decoration-line: none !important;" href="#background" aria-label="Anchor"&gt;#&lt;/a&gt;&lt;/span&gt;&lt;/h1&gt;&lt;p&gt;DNS rebinding is a known attack against the same origin policy of modern browsers.&lt;/p&gt;&#10;&lt;p&gt;The attack abuses DNS, where a request with a small TTL is set. After the TTL is reached, another query resolves to another IP address (a local or internal IP address in typical cases). This way, an unauthorized party can bypass the same origin policy by loading malicious code on browsers and executing it against local or internal networks. Theoretically speaking, SOP prevents this from happening. However, DNS rebinding can bypass this protection in certain circumstances.&lt;/p&gt;</description></item><item><title>Creating an Emojis PHP Webshell</title><link>https://mazinahmed.net/blog/creating-emojis-php-webshell/</link><pubDate>Mon, 23 Jul 2018 00:00:00 +0000</pubDate><guid>https://mazinahmed.net/blog/creating-emojis-php-webshell/</guid><description>&lt;hr&gt;&#10;&lt;p&gt;&#10;&#10;&#10;&#10;&#10;&#10;&#10; &#10; &#10;&lt;figure&gt;&lt;img src="https://mazinahmed.net/uploads/assets/static/a276f6eb-bfeb-443e-b6c7-dccfec992f53.png" alt="" class="mx-auto my-0 rounded-md" /&gt;&#10;&lt;/figure&gt;&#10;&lt;/p&gt;&#10;&lt;p&gt;I recently came across an interesting behavior in PHP. PHP permits the usage of Unicode characters as variable names. Therefore, friendly emojis can be used as a PHP variable.&lt;/p&gt;&#10;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-php" data-lang="php"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f92672"&gt;&amp;lt;?&lt;/span&gt;&lt;span style="color:#a6e22e"&gt;php&lt;/span&gt;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;$😶&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;Hello World!&amp;#34;&lt;/span&gt;;&#10;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;echo&lt;/span&gt;($😶);&#10;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="output" class="relative group"&gt;Output: &lt;span class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100"&gt;&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700" style="text-decoration-line: none !important;" href="#output" aria-label="Anchor"&gt;#&lt;/a&gt;&lt;/span&gt;&lt;/h3&gt;&lt;pre tabindex="0"&gt;&lt;code&gt;&amp;gt;&amp;gt; Hello World!&#10;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Which is valid.&lt;/p&gt;&#10;&lt;p&gt;I thought about making a fancy example of a PHP webshell using emojis. This is made for entertainment purposes. No real advantage is gained by using an emoji webshell. It may disturb/confuse a WAF or back-end parser, but it&amp;rsquo;s not confirmed against a real-world environment.&lt;/p&gt;</description></item><item><title>Using HTML Attribute Separators for Bypassing WAF XSS Filters</title><link>https://mazinahmed.net/blog/html-attribute-separators/</link><pubDate>Tue, 17 Jul 2018 00:00:00 +0000</pubDate><guid>https://mazinahmed.net/blog/html-attribute-separators/</guid><description>&lt;hr&gt;&#10;&lt;h1 id="abstract" class="relative group"&gt;Abstract &lt;span class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100"&gt;&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700" style="text-decoration-line: none !important;" href="#abstract" aria-label="Anchor"&gt;#&lt;/a&gt;&lt;/span&gt;&lt;/h1&gt;&lt;p&gt;This is an experiment I have done to identify and utilize attribute separators in constructing XSS vectors. The crafted vectors can be used to bypass XSS filters on modern browsers. These characters can be used in bypassing WAF XSS filters.&lt;/p&gt;&#10;&lt;h1 id="background" class="relative group"&gt;Background &lt;span class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100"&gt;&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700" style="text-decoration-line: none !important;" href="#background" aria-label="Anchor"&gt;#&lt;/a&gt;&lt;/span&gt;&lt;/h1&gt;&lt;p&gt;An example of a common XSS vector is:&lt;/p&gt;</description></item><item><title>Bypassing CSP by Abusing JSONP Endpoints</title><link>https://mazinahmed.net/blog/bypassing-csp-by-abusing-jsonp-endpoints/</link><pubDate>Tue, 16 Jan 2018 00:00:00 +0000</pubDate><guid>https://mazinahmed.net/blog/bypassing-csp-by-abusing-jsonp-endpoints/</guid><description>&lt;hr&gt;&#10;&lt;p&gt;This blog post discusses a technique that can be used to bypass CSP (Content Security Policy).&lt;/p&gt;&#10;&lt;h1 id="background" class="relative group"&gt;Background &lt;span class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100"&gt;&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700" style="text-decoration-line: none !important;" href="#background" aria-label="Anchor"&gt;#&lt;/a&gt;&lt;/span&gt;&lt;/h1&gt;&lt;h2 id="what-is-csp" class="relative group"&gt;What is CSP? &lt;span class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100"&gt;&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700" style="text-decoration-line: none !important;" href="#what-is-csp" aria-label="Anchor"&gt;#&lt;/a&gt;&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;&amp;ldquo;&lt;strong&gt;Content Security Policy&lt;/strong&gt; (&lt;a href="https://developer.mozilla.org/en-US/docs/Glossary/CSP" target="_blank" rel="noreferrer"&gt;CSP&lt;/a&gt;) is an added layer of security that helps to detect and mitigate certain types of attacks, including Cross Site Scripting (&lt;a href="https://developer.mozilla.org/en-US/docs/Glossary/XSS" target="_blank" rel="noreferrer"&gt;XSS&lt;/a&gt;) and data injection attacks. These attacks are used for everything from data theft to site defacement or distribution of malware.&amp;rdquo; — Mozilla Developer Documentation.&lt;/p&gt;</description></item><item><title>Using Ubuntu .DESKTOP as a Malware Vector</title><link>https://mazinahmed.net/blog/using-ubuntu-desktop-as-malware-vector/</link><pubDate>Sat, 08 Apr 2017 00:00:00 +0000</pubDate><guid>https://mazinahmed.net/blog/using-ubuntu-desktop-as-malware-vector/</guid><description>&lt;hr&gt;&#10;&lt;p&gt;&#10;&#10;&#10;&#10;&#10;&#10;&#10; &#10; &#10;&lt;figure&gt;&lt;img src="https://mazinahmed.net/uploads/assets/static/75c2ca9d-ec40-4cde-a948-5be0a6ed48f2.png" alt="" class="mx-auto my-0 rounded-md" /&gt;&#10;&lt;/figure&gt;&#10;&lt;/p&gt;&#10;&lt;p&gt;I have noticed a weird behavior in .DESKTOP file extensions that can be used as a malware vector. This issue is not detected as malware by any known AVs, and the way it behaves makes it a rich resource for spreading malware against Ubuntu and Linux Desktop users in general. I will focus on Ubuntu Desktop in this blog post.&lt;/p&gt;&#10;&lt;h2 id="introduction" class="relative group"&gt;Introduction &lt;span class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100"&gt;&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700" style="text-decoration-line: none !important;" href="#introduction" aria-label="Anchor"&gt;#&lt;/a&gt;&lt;/span&gt;&lt;/h2&gt;&lt;p&gt;File managers on Ubuntu (Nautilus, Caja, and Thunar are tested) treat .desktop files specially. They parse .desktop and view the files as saved in their .desktop entry. In addition, it also changes the file icon to the one specified in the .desktop entry.&lt;/p&gt;</description></item><item><title>Exploiting Misconfigured Apache server-status Instances with server-status_PWN</title><link>https://mazinahmed.net/blog/exploiting-misconfigured-apache-server-status-instances/</link><pubDate>Fri, 13 Jan 2017 00:00:00 +0000</pubDate><guid>https://mazinahmed.net/blog/exploiting-misconfigured-apache-server-status-instances/</guid><description>&lt;hr&gt;&#10;&lt;p&gt;&#10;&#10;&#10;&#10;&#10;&#10;&#10; &#10; &#10;&lt;figure&gt;&lt;img src="https://mazinahmed.net/uploads/assets/static/f0694bab-0351-4288-a5ff-085730be33b3.png" alt="" class="mx-auto my-0 rounded-md" /&gt;&#10;&lt;/figure&gt;&#10;&lt;/p&gt;&#10;&lt;p&gt;One of the things that my clients like in my work is that I always like to do my best in providing technical Proof of Concepts in findings I discover. This makes it easier for technical departments to reproduce the issues and is also an excellent way to show how bugs and issues can be exploited.&lt;/p&gt;&#10;&lt;p&gt;I recently had an assessment where I discovered several publicly exposed Apache server-status instances. If you are unfamiliar with Apache server-status, please read this &lt;a href="https://httpd.apache.org/docs/2.4/mod/mod_status.html" target="_blank" rel="noreferrer"&gt;document&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Backup-File Artifacts: The Underrated Web-Danger</title><link>https://mazinahmed.net/blog/backup-file-artifacts/</link><pubDate>Thu, 18 Aug 2016 00:00:00 +0000</pubDate><guid>https://mazinahmed.net/blog/backup-file-artifacts/</guid><description>&lt;hr&gt;&#10;&lt;h1 id="testing-and-exploiting-backup-file-artifacts-with-bfac" class="relative group"&gt;Testing and Exploiting Backup-File Artifacts with BFAC &lt;span class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100"&gt;&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700" style="text-decoration-line: none !important;" href="#testing-and-exploiting-backup-file-artifacts-with-bfac" aria-label="Anchor"&gt;#&lt;/a&gt;&lt;/span&gt;&lt;/h1&gt;&lt;p&gt;On August 13th, 2016, I talked about Backup-File Artifacts. This attack vector is not commonly known, nor tested by penetration testers, yet it can be critical to the security of the web environment. At the end of the talk, I released BFAC, an automated security tool that tests for Backup-File Artifacts missed on web servers and can disclose the web application&amp;rsquo;s source code.&lt;/p&gt;</description></item><item><title>Bypassing NoScript Security Suite Using Cross-Site Scripting and MITM Attacks</title><link>https://mazinahmed.net/blog/bypassing-noscript-security-suite/</link><pubDate>Thu, 17 Mar 2016 00:00:00 +0000</pubDate><guid>https://mazinahmed.net/blog/bypassing-noscript-security-suite/</guid><description>&lt;hr&gt;&#10;&lt;p&gt;Recently, I have been working on research that discusses various techniques for bypassing the protection of the NoScript Security Suite.&lt;/p&gt;&#10;&lt;p&gt;In this paper, I have demonstrated techniques that can be used to bypass the NoScript Security Suite using MITM attacks. I have also provided a valid proof of concept that can be used in real-world attacks. Furthermore, I have shown how bypassing NoScript Security is possible using a single cross-site scripting vulnerability against the default allowlisted sites.&lt;/p&gt;</description></item><item><title>Why Prebuilt Security Browsers are Bad: Introducing Firefox Security Toolkit</title><link>https://mazinahmed.net/blog/firefox-security-toolkit/</link><pubDate>Tue, 03 Nov 2015 00:00:00 +0000</pubDate><guid>https://mazinahmed.net/blog/firefox-security-toolkit/</guid><description>&lt;hr&gt;&#10;&lt;p&gt;This post will discuss why a professional penetration tester should not use OWASP Mantra or HconSTF. I will also introduce &amp;ldquo;The Firefox Security Toolkit,&amp;rdquo; a simple tool I have built that can be an excellent replacement for these two projects and provides better security for the penetration tester.&lt;/p&gt;&#10;&lt;h1 id="what-are-owasp-mantra-and-hconstf" class="relative group"&gt;What are OWASP Mantra and HconSTF? &lt;span class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100"&gt;&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700" style="text-decoration-line: none !important;" href="#what-are-owasp-mantra-and-hconstf" aria-label="Anchor"&gt;#&lt;/a&gt;&lt;/span&gt;&lt;/h1&gt;&lt;p&gt;OWASP Mantra &amp;amp; HconSTF are browsers that are explicitly made for penetration testers. They provide many extensions that can help penetration testers do their daily work. They&amp;rsquo;re focused on testing web applications. The concept of the project seems decent, but those browsers have many issues.&lt;/p&gt;</description></item><item><title>Evading All Web-Application Firewalls XSS Filters</title><link>https://mazinahmed.net/blog/evading-all-web-application-firewalls/</link><pubDate>Wed, 09 Sep 2015 00:00:00 +0000</pubDate><guid>https://mazinahmed.net/blog/evading-all-web-application-firewalls/</guid><description>&lt;hr&gt;&#10;&lt;p&gt;During recent months, I have been working on research showing that all web application firewalls fail to protect against attacks as expected. The research focuses on evading the XSS filters of all popular web application firewalls, such as F5 Big IP, Imperva Incapsula, AQTRONIX WebKnight, PHP-IDS, ModSecurity, Sucuri, QuickDefense, and Barracuda WAF. All of them were evaded in the research.&lt;/p&gt;&#10;&lt;p&gt;After evading the products, I have worked with vendors to patch all the discovered issues. The research should have been published in July 2015, but as a supporter of the responsible disclosure concept, I waited for companies to patch the bypasses and get their final responses.&lt;/p&gt;</description></item><item><title>Summary of HSTS Support in Modern Browsers</title><link>https://mazinahmed.net/blog/summary-of-hsts-support-in-modern-browsers/</link><pubDate>Fri, 29 May 2015 00:00:00 +0000</pubDate><guid>https://mazinahmed.net/blog/summary-of-hsts-support-in-modern-browsers/</guid><description>&lt;hr&gt;&#10;&lt;p&gt;I have recently released an article about HSTS Policy in Modern Browsers. It has been released on ProtonMail Blog.&lt;/p&gt;&#10;&lt;h4 id="title-summary-of-hsts-support-in-modern-browsers" class="relative group"&gt;Title: Summary of HSTS Support in Modern Browsers &lt;span class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100"&gt;&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700" style="text-decoration-line: none !important;" href="#title-summary-of-hsts-support-in-modern-browsers" aria-label="Anchor"&gt;#&lt;/a&gt;&lt;/span&gt;&lt;/h4&gt;&lt;h4 id="date-of-publish--may-28th-2015" class="relative group"&gt;Date of Publish: May 28th, 2015 &lt;span class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100"&gt;&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700" style="text-decoration-line: none !important;" href="#date-of-publish--may-28th-2015" aria-label="Anchor"&gt;#&lt;/a&gt;&lt;/span&gt;&lt;/h4&gt;&lt;h4 id="link-httpsblogprotonmailchsummary-of-hsts-support-in-modern-browsers" class="relative group"&gt;Link: &lt;a href="https://blog.protonmail.ch/summary-of-hsts-support-in-modern-browsers/" target="_blank" rel="noreferrer"&gt;https://blog.protonmail.ch/summary-of-hsts-support-in-modern-browsers/&lt;/a&gt; &lt;span class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100"&gt;&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700" style="text-decoration-line: none !important;" href="#link-httpsblogprotonmailchsummary-of-hsts-support-in-modern-browsers" aria-label="Anchor"&gt;#&lt;/a&gt;&lt;/span&gt;&lt;/h4&gt;&lt;p&gt;In case there are any issues in viewing the article, you can download the article in PDF via the following links:&lt;/p&gt;</description></item><item><title>W3 Total Cache's W3TotalFail Vulnerability That Leads to Full Defacement (CVE-2014-9414)</title><link>https://mazinahmed.net/blog/w3-total-fail/</link><pubDate>Thu, 11 Dec 2014 00:00:00 +0000</pubDate><guid>https://mazinahmed.net/blog/w3-total-fail/</guid><description>&lt;hr&gt;&#10;&lt;p&gt;In this post, I will be talking about a critical vulnerability that affects W3 Total Cache, the most popular WordPress plugin in the world. Most major companies use W3 Total Cache, which provides a vital service that every WordPress website needs.&lt;/p&gt;&#10;&lt;h3 id="overview-on-w3-total-cache" class="relative group"&gt;Overview on W3 Total Cache &lt;span class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100"&gt;&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700" style="text-decoration-line: none !important;" href="#overview-on-w3-total-cache" aria-label="Anchor"&gt;#&lt;/a&gt;&lt;/span&gt;&lt;/h3&gt;&lt;p&gt;&amp;ldquo;W3 Total Cache improves your site&amp;rsquo;s user experience by increasing server performance, reducing the download times, and providing transparent content delivery network (CDN) integration.&amp;rdquo;&lt;/p&gt;</description></item><item><title>Session Hijacking in Instagram Mobile App via MITM Attack [0-DAY]</title><link>https://mazinahmed.net/blog/session-hijacking-in-instagram-mobile/</link><pubDate>Sat, 26 Jul 2014 00:00:00 +0000</pubDate><guid>https://mazinahmed.net/blog/session-hijacking-in-instagram-mobile/</guid><description>&lt;hr&gt;&#10;&lt;p&gt;In this post, I will share a new critical issue I identified on Instagram Mobile App. During my tests on their Android app, I set up a lab to pentest the app. Then, I started using the app on my phone and monitoring the traffic on the network using Wireshark, looking for evidence of unencrypted data that goes through the network or a technique to make this data unencrypted (if it were encrypted). As soon as I logged into my account on my phone, Wireshark captured unencrypted data that went through HTTP. This data includes the pictures the target is watching, the target&amp;rsquo;s session cookies, the username, and the ID.&lt;/p&gt;</description></item></channel></rss>