# November 2025 - 1125

#### Enumeration

The challenge consisted in reach a RCE through web vulnerabilities.\
First I see this website:

<figure><img src="https://251574581-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FlTgE7hbyi7mSyXsMcq44%2Fuploads%2Fi6M9UTuojl6DcuAN5S6C%2Fimage.png?alt=media&#x26;token=3193ce2a-84f9-4b20-b510-faf9a852b204" alt=""><figcaption></figcaption></figure>

Then I registered a user:

<figure><img src="https://251574581-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FlTgE7hbyi7mSyXsMcq44%2Fuploads%2F2nw7bTbBCHJVj1VtOe3J%2Fimage.png?alt=media&#x26;token=ff598186-6385-4b02-9e95-8deadf400bfc" alt=""><figcaption></figcaption></figure>

#### Authentication Bypass via JWT algorithm manipulation

Checking the session of the user, I see 2 JWT cookies, "session" and "token"

I only could decode "token" so I got:

<figure><img src="https://251574581-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FlTgE7hbyi7mSyXsMcq44%2Fuploads%2F3Byro4vQBQa71egB7X6s%2Fimage.png?alt=media&#x26;token=1ac424cc-e5f6-4802-84ef-c289c1421cd7" alt=""><figcaption></figcaption></figure>

The clever option here is to change the role of user to something like "admin", but the signature forbids me from modifying the JWT. Trying to bypass the signature putting algorithm of encryption to none, I got that JWT is modified and valid:

<figure><img src="https://251574581-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FlTgE7hbyi7mSyXsMcq44%2Fuploads%2FqpBCxApOM4wa4AX0LBK9%2Fimage.png?alt=media&#x26;token=d4ca2192-9d5c-4b65-831f-a8bdf4903050" alt=""><figcaption></figcaption></figure>

<figure><img src="https://251574581-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FlTgE7hbyi7mSyXsMcq44%2Fuploads%2FjoDRBTDbsv3oW3IGTpuY%2Fimage.png?alt=media&#x26;token=124daa97-bd4a-4768-94df-5c031bd2d035" alt=""><figcaption></figcaption></figure>

So I bypassed the admin panel.

#### SSTI RCE

Then analyzing the admin apen, I have a profile page where you cand modify some options. Here is very interesting the option of changing the name because is reflected above. So it could be interesting two options: XSS or SSTI. Because I need a RCE without other user interaction, I tried SSTI. Lot of payloads after, I reached Jinja2's are valid:

<figure><img src="https://251574581-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FlTgE7hbyi7mSyXsMcq44%2Fuploads%2FsCmyiO4QhzmfOT2th3pP%2Fimage.png?alt=media&#x26;token=53e9bbc8-b149-4fbd-b4c8-3d2bb231c1fb" alt=""><figcaption></figcaption></figure>

<figure><img src="https://251574581-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FlTgE7hbyi7mSyXsMcq44%2Fuploads%2FJfFu16LRhoehCuxZtc0g%2Fimage.png?alt=media&#x26;token=6e9e56a3-fd6f-4201-b71e-cde11594e2a5" alt=""><figcaption></figcaption></figure>

Looking for the flag we got it easily:

<figure><img src="https://251574581-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FlTgE7hbyi7mSyXsMcq44%2Fuploads%2F5LkNyuvd3qzjMzV2hB84%2Fimage.png?alt=media&#x26;token=4cd36380-955b-486d-b60c-d3f551c9cf1c" alt=""><figcaption></figcaption></figure>

<figure><img src="https://app.intigriti.com/api/file/api/file/private_bucket_da32bce3-ade3-4498-b1c0-78ad9f778e51-7af9b4f1-0ed6-4321-960b-b06fe7ead8bb?signature=X-Amz-Expires%3D3600%26X-Amz-Security-Token%3DIQoJb3JpZ2luX2VjEIv%252F%252F%252F%252F%252F%252F%252F%252F%252F%252FwEaCWV1LXdlc3QtMSJIMEYCIQD2OZxxp0OW7B0JdrCpzfC7yuBp4I3Zmwm%252Bomkk%252FAvvnAIhAMmW%252FlOTvs2BQsywptzuQX5ACfutym6eYZVyDcYq9%252BSbKpcFCFQQAhoMMjQwMjU3NDc3ODAwIgyI6JzC%252Bvh81jrLsuAq9AQaucxvOezhR1plABlwVoa%252FdQ1byDpi1YDH2I%252BuyhCbb9kUDYXBheXqOcX7WgdLdRMKGJH1kvSLb33qShN5%252FmeXKriT%252BOtOac5eMvzr%252F4EPYPmSfbEy7qVi5i2Kh2tJOEqVO%252BV6%252FqB34EDlqEO6SWuWD%252FiTZpn45KqqghYq6yKJbrahEwKUFbh953g%252FkJh5HusRvlq6pwc3LJwSQU0yqQCNk%252BteMDSGSVBIDX3sfhtmOuppiLtq14%252BrvuR%252BvOm%252Bz%252BZPjWU9ry73EU3C%252Bs4AvoEtJP4P7Aptbh%252BHBhyPXEMBb6hpoCttb0804eV0YKWMvznSWORKGHop0qkDGBBSmYgoTSdwNfeH8dEBJ5glHWqyCDWF1WoyRjgrLi1HlcrA2FkYCOTXD2dz4jGDVsrWs9rsTsHML%252FJGWq%252FBhfO8PNeZ%252B7HgqSou3TScg8eEB3nTSscy4iM8nfSQS%252B51qO7EdojJ1eFlrPlmiDXGWN8mi9NwpjkIV05k%252FimSgFZ2Q9%252F4LVVXRsOs5qTNRsLbdYI0wI2TJioBzd3%252B4NVBby5pyUWslvB7lo%252F7QpmBt001mNK2r9Lzz883LMRdjhSusfSzqcUzWt4Y0CyPWeK%252BU2ASiFkoWN%252BI55z%252Fss0MyAclOT6XbmrYytl6YVugj8K2Kol%252BkggYx5grsHyQLBnn4A24pvAqnI2qpyXN8mVGcKZyRpe4wDO7bDAGU6If%252B0s5yn%252B6rOwIKARHGjXJXE8GJH%252FkdQQEjI3SnzTQ1uHTRDoykCKB0vFTN0dbFiy0C2cZT%252FrbCbU5avJMTxPLoWZQ%252B2UpaLNlCl8PcPTB5Me8C1oao3%252BtKc3xKhpGMLzpkMkGOpgBVVugpT7LcU6QPnNdZt5f99mmivnpAqeD%252BOWbyVaAitYEcik6y8Y4iB1wZTH4dsZyCZbkly%252BBCvArizPUrmV2ab8cEF8N85Q4sffTC8DF4Vv72eishcuyKXPMtliX%252BBkxOif7eyCge5kQGMwzCL2S%252FDNv48%252BQgzuk8WICYg0tZPNY6pNtXhGqlNOneI7fyuumDR2%252BT%252FA1tDQ%253D%26X-Amz-Algorithm%3DAWS4-HMAC-SHA256%26X-Amz-Credential%3DASIATP4DWFSUAE3ZBVVO%252F20251124%252Feu-west-1%252Fs3%252Faws4_request%26X-Amz-Date%3D20251124T105424Z%26X-Amz-SignedHeaders%3Dhost%26X-Amz-Signature%3Defa2cab6e5e4aee8d749a37d82b7e8607e9bf7e04353446104fc0095e729d09c" alt=""><figcaption></figcaption></figure>
