corpus.blog
Most cited
Talked about
Blogs
41554 blogs · [ { "id": "01a087a8-f7ed-7264-9af8-b371bccca090", "title": "Running an Internal Bug Bounty with SevHunt", "url": "https://mortenson.coffee/blog/running-internal-bug-bounty-sevhunt", "published_at": "2026-06-16T10:00:00+00:00" }, { "id": "01a087a8-f7ed-7264-9af8-b371bd41655b", "title": "Collaborative Text Editing from Scratch in Lexical", "url": "https://mortenson.coffee/blog/collaborative-text-editing-scratch-lexical", "published_at": "2025-07-31T15:53:02+00:00" }, { "id": "01a087a8-f7ed-7264-9af8-b371bd9d6f84", "title": "Deterministic fake data for PostgreSQL with ripoff", "url": "https://mortenson.coffee/blog/deterministic-fake-data-postgresql-ripoff", "published_at": "2025-02-19T15:49:39+00:00" }, { "id": "01a087a8-f7ed-7264-9af8-b371bde0e914", "title": "Meet Bookish, an install profile for static Drupal blogs", "url": "https://mortenson.coffee/blog/meet-bookish-install-profile-static-drupal-blogs", "published_at": "2022-06-02T08:00:00+00:00" }, { "id": "01a087a8-f7ed-7264-9af8-b371beda0455", "title": "Making a multi-track tape recorder for MIDI in JavaScript", "url": "https://mortenson.coffee/blog/making-multi-track-tape-recorder-midi-javascript", "published_at": "2021-08-10T18:28:00+00:00" }, { "id": "01a087a8-f7ed-7264-9af8-b371bfb538f9", "title": "Creating a CMS that runs in your browser", "url": "https://mortenson.coffee/blog/creating-cms-runs-your-browser", "published_at": "2021-07-13T21:50:00+00:00" }, { "id": "01a087a8-f7ed-7264-9af8-b371c04e70e1", "title": "Taking my work private", "url": "https://mortenson.coffee/blog/taking-my-work-private", "published_at": "2021-05-10T07:00:00+00:00" }, { "id": "01a087a8-f7ed-7264-9af8-b371c06d3dac", "title": "Drupal security testing for everyone", "url": "https://mortenson.coffee/blog/drupal-security-testing-everyone", "published_at": "2021-03-22T08:00:00+00:00" }, { "id": "01a087a8-f7ed-7264-9af8-b371c0ca9de3", "title": "Promoting jQuery JSON to JSONP to trigger XSS", "url": "https://mortenson.coffee/blog/promoting-jquery-json-jsonp-trigger-xss", "published_at": "2020-11-19T15:17:08+00:00" }, { "id": "01a087a8-f7ed-7264-9af8-b371c0e9ca2e", "title": "Drupal Services SQL injection - don't trust abstractions", "url": "https://mortenson.coffee/blog/drupal-services-sql-injection-dont-trust-abstractions", "published_at": "2020-06-27T14:40:09+00:00" }, { "id": "01a087a8-f7ed-7264-9af8-b371c1ba6299", "title": "Drupal services private file access bypass via IDOR", "url": "https://mortenson.coffee/blog/drupal-services-private-file-access-bypass-idor", "published_at": "2020-06-26T00:02:09+00:00" }, { "id": "01a087a8-f7ed-7264-9af8-b371c2340713", "title": "Making a multiplayer game with Go and gRPC", "url": "https://mortenson.coffee/blog/making-multiplayer-game-go-and-grpc", "published_at": "2020-04-20T00:34:16+00:00" }, { "id": "01a087a8-f7ed-7264-9af8-b371c318f61f", "title": "Building my site with Tome and Single File Components", "url": "https://mortenson.coffee/blog/building-my-site-tome-and-single-file-components", "published_at": "2020-02-02T13:44:35+00:00" }, { "id": "01a087a8-f7ed-7264-9af8-b371c3a32c5f", "title": "Simplifying Drupal frontend with Single File Components", "url": "https://mortenson.coffee/blog/simplifying-drupal-frontend-single-file-components", "published_at": "2019-10-06T16:10:53+00:00" }, { "id": "01a087a8-f7ed-7264-9af8-b371c444f62b", "title": "Static searches with Drupal and Lunr", "url": "https://mortenson.coffee/blog/static-searches-drupal-and-lunr", "published_at": "2019-05-19T16:09:12+00:00" }, { "id": "01a087a8-f7ed-7264-9af8-b371c4efef4c", "title": "Creating Tome, a static site generator for Drupal 8", "url": "https://mortenson.coffee/blog/creating-tome-static-site-generator-drupal-8", "published_at": "2018-11-29T16:08:19+00:00" }, { "id": "01a087a8-f7ed-7264-9af8-b371c54dc340", "title": "Hijacking Drupal admin accounts using REST", "url": "https://mortenson.coffee/blog/hijacking-drupal-admin-accounts-using-rest", "published_at": "2018-05-21T16:06:42+00:00" }, { "id": "01a087a8-f7ed-7264-9af8-b371c55e14cc", "title": "How I work on Drupal", "url": "https://mortenson.coffee/blog/how-i-work-drupal", "published_at": "2018-05-17T16:05:29+00:00" }, { "id": "01a087a8-f7ed-7264-9af8-b371c5699234", "title": "Introducing Twig Components", "url": "https://mortenson.coffee/blog/introducing-twig-components", "published_at": "2018-04-09T16:03:24+00:00" }, { "id": "01a087a8-f7ed-7264-9af8-b371c57fc0be", "title": "Getting creative with Drupal XSS", "url": "https://mortenson.coffee/blog/getting-creative-drupal-xss", "published_at": "2017-05-28T15:52:44+00:00" }, { "id": "01a087a8-f7ed-7264-9af8-b371c6373a36", "title": "Chained Drupal CSRF to disable all blocks", "url": "https://mortenson.coffee/blog/chained-drupal-csrf-disable-all-blocks", "published_at": "2017-01-09T15:59:17+00:00" } ] posts
Claim your blog
Back to mortenson.coffee
Blog · corpus.blog/blogs/mortenson.coffee/posts
mortenson.coffee
mortenson.coffee
2026
Running an Internal Bug Bounty with SevHunt
original ↗
16 Jun 2026
2025
Collaborative Text Editing from Scratch in Lexical
original ↗
31 Jul 2025
Deterministic fake data for PostgreSQL with ripoff
original ↗
19 Feb 2025
2022
Meet Bookish, an install profile for static Drupal blogs
original ↗
2 Jun 2022
2021
Making a multi-track tape recorder for MIDI in JavaScript
original ↗
10 Aug 2021
Creating a CMS that runs in your browser
original ↗
13 Jul 2021
Taking my work private
original ↗
10 May 2021
Drupal security testing for everyone
original ↗
22 Mar 2021
2020
Promoting jQuery JSON to JSONP to trigger XSS
original ↗
19 Nov 2020
Drupal Services SQL injection - don't trust abstractions
original ↗
27 Jun 2020
Drupal services private file access bypass via IDOR
original ↗
26 Jun 2020
Making a multiplayer game with Go and gRPC
original ↗
20 Apr 2020
Building my site with Tome and Single File Components
original ↗
2 Feb 2020
2019
Simplifying Drupal frontend with Single File Components
original ↗
6 Oct 2019
Static searches with Drupal and Lunr
original ↗
19 May 2019
2018
Creating Tome, a static site generator for Drupal 8
original ↗
29 Nov 2018
Hijacking Drupal admin accounts using REST
original ↗
21 May 2018
How I work on Drupal
original ↗
17 May 2018
Introducing Twig Components
original ↗
9 Apr 2018
2017
Getting creative with Drupal XSS
original ↗
28 May 2017
Chained Drupal CSRF to disable all blocks
original ↗
9 Jan 2017