<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Articles on Pierre Giusti</title><link>https://piergst.github.io/fr/posts/</link><description>Recent content in Articles on Pierre Giusti</description><generator>Hugo</generator><language>fr-FR</language><lastBuildDate>Fri, 24 Apr 2026 11:11:59 +0200</lastBuildDate><atom:link href="https://piergst.github.io/fr/posts/index.xml" rel="self" type="application/rss+xml"/><item><title>Diving into HTML parsing through a PortSwigger lab</title><link>https://piergst.github.io/fr/posts/portswigger-lab-html-parsing-dive/</link><pubDate>Fri, 24 Apr 2026 11:11:59 +0200</pubDate><guid>https://piergst.github.io/fr/posts/portswigger-lab-html-parsing-dive/</guid><description>Un lab PortSwigger sur le dangling markup injection m&amp;rsquo;a amené à me demander ce qui se passe réellement entre le HTML brut envoyé par un serveur et ce qu&amp;rsquo;un navigateur affiche. Cet article retrace ce cheminement, d&amp;rsquo;un /login disparu du DOM jusqu&amp;rsquo;à la machine à états du tokenizer HTML, la construction de l&amp;rsquo;arbre et la sanitization DOMPurify. Moins un write-up qu&amp;rsquo;une exploration des mécanismes du parsing HTML.</description></item></channel></rss>