Justin Gardner (Rhynorater) & Joseph Thacker (Rez0)
Episode 111: How to Bypass DOMPurify in Bug Bounty with Kevin Mizu
FEB 20, 2025109 MIN
Episode 111: How to Bypass DOMPurify in Bug Bounty with Kevin Mizu
FEB 20, 2025109 MIN
Description
<p>Episode 111: In this episode of Critical Thinking - Bug Bounty Podcast Justin interviews Kevin Mizu to showcase his knowledge regarding DOMPurify and its misconfigurations. We walk through some of Kevin’s research, highlighting things like Dangerous allow-lists and URI Attributes, DOMPurify hooks, node manipulation, and DOM Clobbering.</p><p>Follow us on twitter at: <a target="_blank" rel="noopener noreferrer nofollow" href="https://x.com/ctbbpodcast">https://x.com/ctbbpodcast</a></p><p>Got any ideas and suggestions? Feel free to send us any feedback here: <a target="_blank" rel="noopener noreferrer nofollow" href="mailto:info@criticalthinkingpodcast.io">info@criticalthinkingpodcast.io</a></p><p>Shoutout to<a target="_blank" rel="noopener noreferrer nofollow" href="https://twitter.com/realytcracker"> YTCracker</a> for the awesome intro music!</p><p><strong>====== Links ======</strong></p><p>Follow your hosts Rhynorater and Rez0 on Twitter:</p><p><a target="_blank" rel="noopener noreferrer nofollow" href="https://x.com/Rhynorater"><strong>https://x.com/Rhynorater</strong></a></p><p><a target="_blank" rel="noopener noreferrer nofollow" href="https://x.com/rez0__"><strong>https://x.com/rez0__</strong></a></p><p><strong>====== Ways to Support CTBBPodcast ======</strong></p><p>Hop on the CTBB Discord at <a target="_blank" rel="noopener noreferrer nofollow" href="https://ctbb.show/discord">https://ctbb.show/discord</a>!</p><p>We also do Discord subs at $25, $10, and $5 - premium subscribers get access to private masterclasses, exploits, tools, scripts, un-redacted bug reports, etc.</p><p>You can also find some hacker swag at <a target="_blank" rel="noopener noreferrer nofollow" href="https://ctbb.show/merch">https://ctbb.show/merch</a>!</p><p><strong>====== Resources ======</strong></p><p>Exploring the DOMPurify library: Bypasses and Fixes (1/2)</p><p><a target="_blank" rel="noopener noreferrer nofollow" href="https://mizu.re/post/exploring-the-dompurify-library-bypasses-and-fixes">https://mizu.re/post/exploring-the-dompurify-library-bypasses-and-fixes</a></p><p>Exploring the DOMPurify library: Hunting for Misconfigurations (2/2)</p><p><a target="_blank" rel="noopener noreferrer nofollow" href="https://mizu.re/post/exploring-the-dompurify-library-hunting-for-misconfigurations">https://mizu.re/post/exploring-the-dompurify-library-hunting-for-misconfigurations</a></p><p>Dom-Explorer tool</p><p><a target="_blank" rel="noopener noreferrer nofollow" href="https://yeswehack.github.io/Dom-Explorer/shared?id=772a440c-b0c2-4991-be71-3e271cf7954f">https://yeswehack.github.io/Dom-Explorer/shared?id=772a440c-b0c2-4991-be71-3e271cf7954f</a></p><p>CT Episode 61: A Hacker on Wall Street - JR0ch17</p><p><a target="_blank" rel="noopener noreferrer nofollow" href="https://www.criticalthinkingpodcast.io/episode-61-a-hacker-on-wall-street-jr0ch17/">https://www.criticalthinkingpodcast.io/episode-61-a-hacker-on-wall-street-jr0ch17/</a></p><p><strong>====== Timestamps ======</strong></p><p>(00:00:00) Introduction</p><p>(00:01:44) Kevin Mizu - Background and Bring-a-bug</p><p>(00:15:09) DOMPurify</p><p>(00:29:04) Misconfigurations - Dangerous allow-lists</p><p>(00:39:09) Dangerous URI attributes configuration</p><p>(00:46:08) Bad usage</p><p>(00:59:55) DOMPurify Hooks: before, after, and upon SanitizeAttribute</p><p>(01:29:15) Node manipulation, nodeName namespace case confusion, & DOM Clobbering DOS</p><p>(01:36:51) Misc concepts for future research</p>