Escape - Application Security & Offensive Security Blog

Explore practical offensive and application security insights covering web application testing, emerging AI cybersecurity research, API and GraphQL security, and advanced testing techniques.
SQL Injection in GraphQL
GraphQL Vulnerability

SQL Injection in GraphQL

You receive a call in the middle of the night from the SRE team: All production data has been deleted from your company's various relational databases. Many of the company's internal services are therefore down. You absolutely need to fix the problem immediately and identify the
Achraf Ait Sidi Hammou
Achraf Ait Sidi Hammou
5 min read
File Inclusion and Directory Traversal in GraphQL
GraphQL Vulnerability

File Inclusion and Directory Traversal in GraphQL

Back at the office, you try to connect to one of your application's servers. But for some reason, your account is no longer granted access. Anyway. You have a backup so you can restore it to a previous state in a minute. Still, you have to figure out
Achraf Ait Sidi Hammou
Achraf Ait Sidi Hammou
5 min read
When GraphQL field suggestions become a Security Issue
GraphQL Vulnerability

When GraphQL field suggestions become a Security Issue

GraphQL offers an amazing developer experience. But the same features that help you in development, can disclose critical information to cyberattacks in production. Learn how you can fix this vulnerability.
Achraf Ait Sidi Hammou
Achraf Ait Sidi Hammou
6 min read
How to prevent data leaks with HTTPS
GraphQL Vulnerability

How to prevent data leaks with HTTPS

HTTP is the text protocol that has been running the web, but its upgraded version HTTPS should always be preferred to avoid data leaks. Read more to understand the risk and how you can implement the security fix in your GraphQL framework of choice.
Achraf Ait Sidi Hammou
Achraf Ait Sidi Hammou
5 min read
Avoid GraphQL Denial of Service attacks through batching and aliasing
GraphQL Vulnerability

Avoid GraphQL Denial of Service attacks through batching and aliasing

GraphQL aliasing is a powerful feature. But with great power comes great vulnerability: batch attacks and DoS. In this post, we explain how it works and how to remediate it in your GraphQL API.
Achraf Ait Sidi Hammou
Achraf Ait Sidi Hammou
3 min read
Understanding and Dealing with Cross-Site Request Forgery Attacks (CSRF) in GraphQL
GraphQL Vulnerability

Understanding and Dealing with Cross-Site Request Forgery Attacks (CSRF) in GraphQL

CSRF (Cross-Site Request Forgery) is one of the top 3 most common vulnerabilities of web applications. It forces authenticated users to perform unwanted actions. In this post, we explain how it works and how to remediate it in your GraphQL API.
Achraf Ait Sidi Hammou
Achraf Ait Sidi Hammou
5 min read
Access Control Best Practices for GraphQL with Authentication and Authorization
GraphQL Vulnerability

Access Control Best Practices for GraphQL with Authentication and Authorization

Confusion between authentication and authorization causes data leaks. Learn the difference and how to implement the right access control pattern in your GraphQL API.
Achraf Ait Sidi Hammou
Achraf Ait Sidi Hammou
6 min read
Hacking GraphQL Playground
AppSec

Hacking GraphQL Playground

GraphQL Playground has had a known XSS security issue since 2020. We give 2 very concrete scenarios to show you how it could unfold if it were to be exploited in your organization.
Achraf Ait Sidi Hammou
Achraf Ait Sidi Hammou
4 min read
Complying with GDPR requirements for SaaS startups
Startup Security

Complying with GDPR requirements for SaaS startups

Many SaaS startups fail to understand the importance of the EU’s new set of rules concerning their citizens' personal data, and some paid a hefty price. Read along to understand the what, why and how of GDPR compliance.
Irina
Irina
6 min read
Graphinder: lightweight and blazing fast GraphQL endpoint finder
Pentesting

Graphinder: lightweight and blazing fast GraphQL endpoint finder

Introducing Graphinder, a lightweight and blazing fast GraphQL endpoint finder, making penetration testing on GraphQL much faster ⚡️
Achraf Ait Sidi Hammou
Achraf Ait Sidi Hammou
2 min read
Learn GraphQL in 8 simple steps
Tutorial

Learn GraphQL in 8 simple steps

The adoption of GraphQL is growing like crazy. But the learning curve is steep and getting started can be overwhelming. Here's our 8-step roadmap to ship production-ready APIs
Achraf Ait Sidi Hammou
Achraf Ait Sidi Hammou
6 min read
GraphQL Error Handling Best Practices for Security
Best Practices

GraphQL Error Handling Best Practices for Security

Error messages in GraphQL are rarely seen as a security concern, yet they should. The risk? Leaking information and data! Learn more about GraphQL errors and how to handle them.
Achraf Ait Sidi Hammou
Achraf Ait Sidi Hammou
5 min read
Demeter's Hymn to Cybersecurity: Consequences of Cyberattacks on Scale-Ups
Startup Security

Demeter's Hymn to Cybersecurity: Consequences of Cyberattacks on Scale-Ups

How many entrepreneurs feel a filial connection with their business, such as Demeter’s passion for Persephone? If Hades abducted Persephone on his golden chariot drawn by immortal horses, the infants of start-up founders are threatened by a more nebulous danger: cyberattacks.
Escape - Offensive Security
Escape - Offensive Security
7 min read
Building a type-safe Fullstack Application with GraphQL codegen
Tutorial

Building a type-safe Fullstack Application with GraphQL codegen

There are two approaches to defining your schema in GraphQL: schema-first and code-first. When using Typescript, you might find yourself having to write types again and again. Enters GraphQL codegen: your schema file becomes the single source of truth.
Achraf Ait Sidi Hammou
Achraf Ait Sidi Hammou
6 min read
SaaS Startup Security 101 - A quick guide for building secure SaaS
Startup Security

SaaS Startup Security 101 - A quick guide for building secure SaaS

Why should you care about security in a SaaS Startup? 1) To avoid expensive Data Leaks 🥷 A common misconception among startups is that only big corporations, or large scale-ups, are targeted by cyberattacks. Unfortunately, startups of all sizes can be targeted: from the 139 Million records leaked by Canva in
Tristan Kalos
Tristan Kalos
4 min read
GraphQL Security: 9 Best Practices You Need to Know
AppSec

GraphQL Security: 9 Best Practices You Need to Know

GraphQL has no security by default. All doors are open for the most basic attacks. Read more to learn about the exact threats and some simple strategies you can implement to get your users' data under lock and key 🔐
Achraf Ait Sidi Hammou
Achraf Ait Sidi Hammou
8 min read
The Russo-Ukrainian War: How the Fight for Democracy translates into Web API Security
Startup Security

The Russo-Ukrainian War: How the Fight for Democracy translates into Web API Security

In Ukraine, web APIs have demonstrated their value to achieve democratic progress through e-governance. Nonetheless, API security has revealed its vital nature in light of the cyberattacks launched by Russian state-sponsored hackers.
Tristan Kalos
Tristan Kalos
12 min read
How to Test your GraphQL Endpoints
Tutorial

How to Test your GraphQL Endpoints

Testing your GraphQL API is critical to ensure that your software's business logic is running as expected. Tests will reveal bugs and vulnerabilities before they make it to production. In this tutorial, we go through the practical steps to write unit and integration tests for your GraphQL API.
Achraf Ait Sidi Hammou
Achraf Ait Sidi Hammou
6 min read
Top 7 DevSecOps Best Practices
DevSecOps

Top 7 DevSecOps Best Practices

DevSecOps aims at integrating security inside the development process. It can be hard to know where to start. In this article, learn the best practices to implement DevSecOps in your engineering teams.
Tristan Kalos
Tristan Kalos
5 min read
DevSecOps 101 Part 4: Scanning Docker Images With Trivy
DevSecOps

DevSecOps 101 Part 4: Scanning Docker Images With Trivy

This last part of the DevSecOps 101 series shows you how to scan your Docker images using Trivy, an open-source security scanner to find misconfigurations and vulnerabilities.
Tristan Kalos
Tristan Kalos
5 min read
DevSecOps 101 Part 3: Scanning Live Web Applications with Nuclei scanner
DevSecOps

DevSecOps 101 Part 3: Scanning Live Web Applications with Nuclei scanner

This article is part of a series about integrating security tooling in the development process. You can find the rest of the articles here: * Part 1: Detecting Insecure Dependencies (SCA) * Part 2: Detecting Insecure Source Code (SAST) * Part 4: Scanning Docker Images With Trivy Note: This tutorial is based on
Tristan Kalos
Tristan Kalos
4 min read
Introducing 🪝  Mookme 🪝, a git hook manager for monorepos
Open Source

Introducing 🪝 Mookme 🪝, a git hook manager for monorepos

Ever had troubles managing your git hooks in a monorepository ? We did too, so we created Mookme to solve our problems. Here is a git hook manager for dealing with different projects and languages, automated filtering, ease of configuration and setup.
Maxence Lecanu
Maxence Lecanu
5 min read
DevSecOps 101 Part 2: Detecting Insecure Source Code
DevSecOps

DevSecOps 101 Part 2: Detecting Insecure Source Code

In this tutorial, we will learn how to detect and fix vulnerable Python code using Semgrep.
Tristan Kalos
Tristan Kalos
4 min read
Guide to handling relational databases with Prisma, NestJS and GraphQL
Tutorial

Guide to handling relational databases with Prisma, NestJS and GraphQL

This articles presents a basic GraphQL application illustrating our methods and guidelines for producing backend code.
Maxence Lecanu
Maxence Lecanu
5 min read
Don’t let your vulnerabilities escape.

Ready to multiply your force, not just noise?

Book a demo
Book a demo