Posts on jub0bs.com

Recent content in Posts on jub0bs.com
https://jub0bs.com (RSS)
visit blog
Reconfigurable CORS middleware with jub0bs/cors
14 May 2024 | original ↗

TL;DR ¶ In this short follow-up to my previous post, I describe why and how I’ve added support for dynamic reconfiguration of CORS middleware in jub0bs/cors. Rethinking configuration immutability ¶ Up until now, I’ve been arguing that CORS middleware should not be reconfigurable on the fly and that any change to their configuration should require...

A smorgasbord of a bug chain: postMessage, JSONP, WAF bypass, DOM-based XSS, CORS, CSRF...
5 May 2023 | original ↗

TL;DR ¶ A few months ago, while hunting on a public bug-bounty programme, I found a nice little bug chain that involved an insecure message event listener, a shoddy JSONP endpoint, a WAF bypass, DOM-based XSS on an out-of-scope subdomain, a permissive CORS configuration, all to achieve CSRF against an in-scope asset. Read on for a deep dive about...

Existence oracle for Secure cookies on insecure Web origins
12 Sept 2022 | original ↗

TL;DR ¶ In this post, I present an XSLeak technique that allows an active network attacker to observe, from an insecure Web origin, the presence or absence of some Secure cookie that may have been set by the origin’s secure counterpart. Cookies’ crumbly beginnings ¶ Netscape (Lou Montulli, more precisely) invented cookies in 1994 in order to...

Scraping the bottom of the CORS barrel (part 1)
4 Aug 2022 | original ↗

James Kettle’s 2016 research was instrumental in raising awareness of the deleterious effects of CORS (Cross-Origin Resource Sharing) misconfiguration on Web security. Does the story end there, though? Is writing about CORS-related security issues in 2022 futile? I don’t think so. This post is the first in a series in which I will discuss more...

Subdomain takeover: ignore this vulnerability at your peril
12 Feb 2021 | original ↗

My third guest post on Honeybadger’s blog, entitled Subdomain Takeover: Ignore This Vulnerability at Your Peril has just been published!

The great SameSite confusion
29 Jan 2021 | original ↗

In this post, I dissect a common misconception about the SameSite cookie attribute and I explore its potential impact on Web security. TL;DR ¶ The SameSite cookie attribute is not well understood. Conflating site and origin is a common but harmful mistake. The concept of site is more difficult to apprehend than meets the eye. Some requests are...

Protecting your apps from link-based vulnerabilities: reverse tabnabbing, broken-link hijacking, and open redirects
29 Jul 2020 | original ↗

My second guest post on Honeybadger’s blog, entitled Protecting Your Apps From Link-based Vulnerabilities: Reverse Tabnabbing, Broken-Link Hijacking, and Open Redirects has just been published!

A glimpse at parametric polymorphism in Go: designing a generic bidirectional map
21 Jul 2020 | original ↗

TL;DR ¶ To familiarise myself with the updated design draft on Type Parameters in Go, I wrote a generic implementation of a bidirectional map. You can try it out in this playground. Edit (2022-04-03): Now that Go 1.18 is out, I’ve spruced up this post a bit. Generics are coming to Go ¶ Support for parametric polymorphism (also colloquially known...

Leveraging an SSRF to leak a secret API key
22 Jun 2020 | original ↗

A server-side request forgery (SSRF) is a type of vulnerability that consists in tricking a server into sending network requests to unintended hosts. In some cases (e.g. Scott Helme’s Security Headers tool), allowing users to trigger HTTP requests from some backend to arbitrary hosts is a feature. In many other cases, though, it is a serious...

Chaining an IDOR with a business-logic error to achieve critical impact
26 May 2020 | original ↗

I recently stumbled upon a critical instance of broken-access control, and I thought its story would make for an interesting blogpost. I’ve deliberately omitted some details (e.g. irrelevant HTTP headers) in the interest of simplicity and concision. Morever, all clues to the identity of the organisation I was hacking have been expunged from this...

Plugging Git leaks: preventing and fixing information exposure in repositories
26 Feb 2020 | original ↗

My first guest post on Honeybadger’s blog, entitled Plugging Git Leaks: Preventing and Fixing Information Exposure in Repositories has just been published!

Summary of dotGo 2019
11 Apr 2019 | original ↗

(This post is also available in French on Human Coders' blog.) About two weeks ago, I had the privilege to attend dotGo 2019, the fifth edition of the European Go Conference. Whereas tech conferences I’ve attended in the past tended to be held in soulless hotels or convention centres, the dotGo team went all out and managed to secure the...

Access control in Go: a primer for Java developers
22 Aug 2018 | original ↗

Go supports multiple programming paradigms, including object orientation. However, if you’re coming to Go from Java, you may be slightly… ehm… disoriented. One striking absence is that of any access modifiers. You may be wondering: Where are my public, protected, and private keywords? What mechanisms for access control does Go provide? Fret not!...

Defer: sweet, but no syntactic sugar
15 Aug 2018 | original ↗

defer, in a nutshell ¶ When learning Go, one quickly comes across the defer keyword. For instance, the Tour of Go introduces defer thus: A defer statement defers the execution of a function until the surrounding function returns. The deferred call’s arguments are evaluated immediately, but the function call is not executed until the surrounding...

↑ These items are from RSS. Visit the blog itself at https://jub0bs.com to find everything else and to appreciate author's digital home.