<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Auth Bypass on RORO's blog</title><link>https://blog.rodolpheg.xyz/tags/auth-bypass/</link><description>Recent content in Auth Bypass on RORO's blog</description><generator>Hugo</generator><language>fr-fr</language><managingEditor>contact@rodolpheg.xyz (0xRo)</managingEditor><webMaster>contact@rodolpheg.xyz (0xRo)</webMaster><lastBuildDate>Sat, 07 Feb 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://blog.rodolpheg.xyz/tags/auth-bypass/index.xml" rel="self" type="application/rss+xml"/><item><title>Enketo 6.2.1 - Auth-Bypass, SSRF, and XXE Browser Abuse to File Read</title><link>https://blog.rodolpheg.xyz/posts/enketo-auth-bypass-ssrf-xxe-and-file-read/</link><pubDate>Sat, 07 Feb 2026 00:00:00 +0000</pubDate><author>contact@rodolpheg.xyz (0xRo)</author><guid>https://blog.rodolpheg.xyz/posts/enketo-auth-bypass-ssrf-xxe-and-file-read/</guid><description>&lt;h2 id="introduction">Introduction&lt;/h2>
&lt;p>Original post: &lt;a href="https://offenskill.com/blog/enketo-arbitrary-file-read/">OffenSkill - Enketo 6.2.1 - Auth-Bypass, SSRF, and XXE Browser Abuse to File Read&lt;/a>&lt;/p>
&lt;p>This &lt;a href="https://offenskill.com/training">training&lt;/a> session was focused on white-box code review, application, and system runtime introspection.&lt;br>
We wanted to work on a JavaScript backend framework and &lt;a href="https://enketo.org/">Enketo Express&lt;/a> seemed to be a good candidate.
The source code is available on &lt;a href="https://github.com/enketo/enketo-express">GitHub - enketo/enketo-express&lt;/a> and the version we assessed was the &lt;a href="https://github.com/enketo/enketo-express/releases/tag/6.2.1">version 6.2.1&lt;/a>, built with the official Dockerfiles.&lt;/p>
&lt;p>Enketo is a cross platform software used to (quoting):&lt;/p></description></item><item><title>Amazon AppSec CTF: HalCrypto</title><link>https://blog.rodolpheg.xyz/posts/halcrypto/</link><pubDate>Sun, 21 Sep 2025 00:00:00 +0000</pubDate><author>contact@rodolpheg.xyz (0xRo)</author><guid>https://blog.rodolpheg.xyz/posts/halcrypto/</guid><description>&lt;h2 id="executive-summary">Executive Summary&lt;/h2>
&lt;ul>
&lt;li>&lt;strong>Challenge&lt;/strong>: HalCrypto&lt;/li>
&lt;li>&lt;strong>Category&lt;/strong>: Web Security&lt;/li>
&lt;li>&lt;strong>Vulnerability&lt;/strong>: JWT validation bypass via URL confusion with @ symbol&lt;/li>
&lt;li>&lt;strong>Impact&lt;/strong>: Authentication bypass leading to admin access&lt;/li>
&lt;li>&lt;strong>Flag&lt;/strong>: &lt;code>HTB{r3d1r3c73d_70_my_s3cr37s}&lt;/code>&lt;/li>
&lt;/ul>
&lt;h2 id="vulnerability-overview">Vulnerability Overview&lt;/h2>
&lt;h3 id="attack-flow-diagram">Attack Flow Diagram&lt;/h3>
&lt;pre tabindex="0">&lt;code class="language-mermaid" data-lang="mermaid">graph TD
 A[User Login + Attacker JWT] --&amp;gt; B[AuthMiddleware]
 B --&amp;gt; C[Extract JKU URL from Header]
 C --&amp;gt; D{Validate JKU URL&amp;lt;br/&amp;gt;lastIndexOf check}
 D --&amp;gt;|&amp;#34;URL starts with AUTH_PROVIDER&amp;lt;br/&amp;gt;string-based comparison&amp;#34;| E[PASSES]
 D --&amp;gt;|&amp;#34;Does not start with AUTH_PROVIDER&amp;#34;| R[Rejected]

 E --&amp;gt; F[&amp;#34;Fetch JWKS from JKU URL&amp;#34;]
 F --&amp;gt; G[&amp;#34;JWT Verification with&amp;lt;br/&amp;gt;attacker&amp;#39;s public key&amp;#34;]
 G --&amp;gt; H[Auth Bypass]
 H --&amp;gt; I[Flag]

 subgraph &amp;#34;URL Confusion&amp;#34;
 J[&amp;#34;Validator sees:&amp;lt;br/&amp;gt;http://127.0.0.1:1337@attacker.com/...&amp;lt;br/&amp;gt;starts with AUTH_PROVIDER ✓&amp;#34;]
 K[&amp;#34;HTTP client connects to:&amp;lt;br/&amp;gt;attacker.com&amp;lt;br/&amp;gt;treats 127.0.0.1:1337 as credentials&amp;#34;]
 end

 D -.-&amp;gt; J
 F -.-&amp;gt; K
&lt;/code>&lt;/pre>&lt;h2 id="source-to-sink-analysis">Source-to-Sink Analysis&lt;/h2>
&lt;h3 id="1-entry-point---jwt-authentication-source">1. Entry Point - JWT Authentication (Source)&lt;/h3>
&lt;p>The vulnerability starts when the AuthMiddleware processes JWT tokens:&lt;/p></description></item></channel></rss>