Server-side hacking techniques

Learning GraphQL #5 – batching attacks

Last week, I saw some tools and articles about GraphQL batching attacks. I thought it’s a good idea to cover them in my sample application to see if, how and why they work. GraphQL batching attacks To my application, I added a simple code that draws a random 5-digit...

Pause-based desync attacks explained

The last video on my channel is about the CL.0 client-side desync attack. I’m not gonna be artificially modest - I think the video is great and I’m sure that had I seen it first, I would have understood the client-side desync much quicker. It’s because from all my...

Hacking APIs

Corey Ball shared some slides from his workshop about hacking APIs. It can help you organise your knowledge about APIs. He also shows some neat tricks like transforming mitmproxy requests into the Swagger specifications format to feed them to Postman. If that’s your...

Learning GraphQL #3 – subscriptions

Welcome to another lesson of the Learning GraphQL course! It’s a series where I develop an application with GraphQL so that you and I understand it better. I also point out anything that stands out to me from the security standpoint - unclear docs, recommendations or...

Learning GraphQL #2 – mutations

In the last lesson from this course, we covered basic queries, arguments, aliases, fragments and variables. In the meantime, I also started creating my own server that relies on GraphQL. So far, it’s pretty much a hello world example but over this course, I will...