41554 blogs · [ { "id": "01a08792-1634-7196-a49d-2308d0fb8e06", "title": "Practical introduction to hacking and securing Web applications", "url": "https://jub0bs.com//jub0bs.com/training/web-security/", "published_at": "2026-05-28T00:00:00+00:00" }, { "id": "01a08792-1634-7196-a49d-2308d16f43fc", "title": "Generics and iterators in Go", "url": "https://jub0bs.com//jub0bs.com/training/generics-and-iterators-in-go/", "published_at": "2026-04-10T00:00:00+00:00" }, { "id": "01a08792-1634-7196-a49d-2308d1bc7466", "title": "Concurrent programming in Go", "url": "https://jub0bs.com//jub0bs.com/training/concurrent-programming-in-go/", "published_at": "2026-04-09T00:00:00+00:00" }, { "id": "01a08792-1634-7196-a49d-2308d1bcddce", "title": "Introduction to Web security", "url": "https://jub0bs.com//jub0bs.com/training/websec/", "published_at": "2026-04-09T00:00:00+00:00" }, { "id": "01a08792-1634-7196-a49d-2308d21553da", "title": "Introduction to Go", "url": "https://jub0bs.com//jub0bs.com/training/introduction-to-go/", "published_at": "2026-04-08T00:00:00+00:00" }, { "id": "01a08792-1634-7196-a49d-2308d2794233", "title": "Open source", "url": "https://jub0bs.com//jub0bs.com/open-source/", "published_at": "2026-04-08T00:00:00+00:00" }, { "id": "01a08792-1634-7196-a49d-2308d2a658a3", "title": "Talks", "url": "https://jub0bs.com//jub0bs.com/talks/", "published_at": "2026-04-08T00:00:00+00:00" }, { "id": "01a08792-1634-7196-a49d-2308d2cf6033", "title": "Pure vs. impure iterators in Go", "url": "https://jub0bs.com//jub0bs.com/posts/2025-05-29-pure-vs-impure-iterators-in-go/", "published_at": "2025-05-29T07:00:00+00:00" }, { "id": "01a08792-1634-7196-a49d-2308d2f2736b", "title": "Challenge: make this Go function inlinable and free of bounds checks", "url": "https://jub0bs.com//jub0bs.com/posts/2025-04-30-inlinability-challenge/", "published_at": "2025-04-30T20:45:00+00:00" }, { "id": "01a08792-1634-7196-a49d-2308d3c92257", "title": "Why concrete error types are superior to sentinel errors", "url": "https://jub0bs.com//jub0bs.com/posts/2025-03-31-why-concrete-error-types-are-superior-to-sentinel-errors/", "published_at": "2025-03-31T16:15:00+00:00" }, { "id": "01a08792-1634-7196-a49d-2308d442a6c9", "title": "The cost of Go's panic and recover", "url": "https://jub0bs.com//jub0bs.com/posts/2025-02-28-cost-of-panic-recover/", "published_at": "2025-02-28T20:20:00+00:00" }, { "id": "01a08792-1634-7196-a49d-2308d4725225", "title": "Programmatic handling of CORS-configuration errors with jub0bs/cors", "url": "https://jub0bs.com//jub0bs.com/posts/2025-01-28-programmatic-handling-of-cors-configuration-errors/", "published_at": "2025-01-28T14:40:00+00:00" }, { "id": "01a08792-1634-7196-a49d-2308d4b0be3b", "title": "Reconfigurable CORS middleware with jub0bs/cors", "url": "https://jub0bs.com//jub0bs.com/posts/2024-05-14-reconfigurable-cors-middleware/", "published_at": "2024-05-14T13:00:00+00:00" }, { "id": "01a08792-1634-7196-a49d-2308d5a675dc", "title": "jub0bs/cors: a better CORS middleware library for Go", "url": "https://jub0bs.com//jub0bs.com/posts/2024-04-27-jub0bs-cors-a-better-cors-middleware-library-for-go/", "published_at": "2024-04-27T08:00:00+00:00" }, { "id": "01a08792-1634-7196-a49d-2308d5b1dc8b", "title": "A smorgasbord of a bug chain: postMessage, JSONP, WAF bypass, DOM-based XSS, CORS, CSRF...", "url": "https://jub0bs.com//jub0bs.com/posts/2023-05-05-smorgasbord-of-a-bug-chain/", "published_at": "2023-05-05T17:00:00+00:00" }, { "id": "01a08792-1634-7196-a49d-2308d60f3205", "title": "Fearless CORS: a design philosophy for CORS middleware libraries (and a Go implementation)", "url": "https://jub0bs.com//jub0bs.com/posts/2023-02-08-fearless-cors/", "published_at": "2023-02-08T13:00:00+00:00" }, { "id": "01a08792-1634-7196-a49d-2308d663496b", "title": "Existence oracle for Secure cookies on insecure Web origins", "url": "https://jub0bs.com//jub0bs.com/posts/2022-09-11-existence-oracle-for-secure-cookies-on-insecure-web-origins/", "published_at": "2022-09-12T07:30:00+00:00" }, { "id": "01a08792-1634-7196-a49d-2308d697e0be", "title": "Scraping the bottom of the CORS barrel (part 1)", "url": "https://jub0bs.com//jub0bs.com/posts/2022-08-04-scraping-the-bottom-of-the-cors-barrel-part1/", "published_at": "2022-08-04T20:05:00+00:00" }, { "id": "01a08792-1634-7196-a49d-2308d6d08bc4", "title": "CVE-2022-21703: cross-origin request forgery against Grafana", "url": "https://jub0bs.com//jub0bs.com/posts/2022-02-08-cve-2022-21703-writeup/", "published_at": "2022-02-08T16:00:00+00:00" }, { "id": "01a08792-1634-7196-a49d-2308d7b9565c", "title": "Abusing Slack's file-sharing functionality to de-anonymise fellow workspace members", "url": "https://jub0bs.com//jub0bs.com/posts/2021-10-12-xsleak-slack/", "published_at": "2021-10-12T09:00:00+00:00" }, { "id": "01a08792-1634-7196-a49d-2308d89076bb", "title": "Subdomain takeover: ignore this vulnerability at your peril", "url": "https://jub0bs.com//jub0bs.com/posts/2021-02-12-subdomain-takeover/", "published_at": "2021-02-12T08:35:00+00:00" }, { "id": "01a08792-1634-7196-a49d-2308d90ae11e", "title": "The great SameSite confusion", "url": "https://jub0bs.com//jub0bs.com/posts/2021-01-29-great-samesite-confusion/", "published_at": "2021-01-29T13:15:00+00:00" }, { "id": "01a08792-1634-7196-a49d-2308d91918de", "title": "Protecting your apps from link-based vulnerabilities: reverse tabnabbing, broken-link hijacking, and open redirects", "url": "https://jub0bs.com//jub0bs.com/posts/2020-07-29-link-security/", "published_at": "2020-07-29T07:00:00+00:00" }, { "id": "01a08792-1634-7196-a49d-2308d93a821a", "title": "A glimpse at parametric polymorphism in Go: designing a generic bidirectional map", "url": "https://jub0bs.com//jub0bs.com/posts/2020-07-21-go-bimap/", "published_at": "2020-07-21T14:45:00+00:00" }, { "id": "01a08792-1634-7196-a49d-2308d99598a8", "title": "Leveraging an SSRF to leak a secret API key", "url": "https://jub0bs.com//jub0bs.com/posts/2020-06-23-ssrf/", "published_at": "2020-06-22T21:00:00+00:00" }, { "id": "01a08792-1634-7196-a49d-2308da638f75", "title": "Chaining an IDOR with a business-logic error to achieve critical impact", "url": "https://jub0bs.com//jub0bs.com/posts/2020-05-26-idor/", "published_at": "2020-05-26T16:00:00+00:00" }, { "id": "01a08792-1634-7196-a49d-2308daaac501", "title": "About", "url": "https://jub0bs.com//jub0bs.com/about/", "published_at": "2020-04-17T00:00:00+00:00" }, { "id": "01a08792-1634-7196-a49d-2308dba7035e", "title": "Plugging Git leaks: preventing and fixing information exposure in repositories", "url": "https://jub0bs.com//jub0bs.com/posts/2020-02-26-plugging-git-leaks/", "published_at": "2020-02-26T09:00:00+00:00" }, { "id": "01a08792-1634-7196-a49d-2308dbb8cdf7", "title": "Summary of dotGo 2019", "url": "https://jub0bs.com//jub0bs.com/posts/2019-04-10-dotgo2019/", "published_at": "2019-04-11T09:00:00+00:00" }, { "id": "01a08792-1634-7196-a49d-2308dc2c10e2", "title": "Access control in Go: a primer for Java developers", "url": "https://jub0bs.com//jub0bs.com/posts/2018-08-22-access-control-in-go/", "published_at": "2018-08-22T21:30:00+00:00" }, { "id": "01a08792-1634-7196-a49d-2308dc56a862", "title": "Defer: sweet, but no syntactic sugar", "url": "https://jub0bs.com//jub0bs.com/posts/2018-08-15-defer/", "published_at": "2018-08-15T13:15:00+00:00" }, { "id": "01a08792-1634-7196-a49d-2308dce1e73a", "title": null, "url": "https://jub0bs.com//jub0bs.com/websec/", "published_at": null } ] posts Claim your blog
Back to jub0bs.com
Blog · corpus.blog/blogs/jub0bs.com/posts

jub0bs.com

jub0bs.com

2026

2025

2024

2023

2022

2021

2020

2019

2018

Undated