[À lire] Désérialisation Java : une brève introduction au ROP de haut niveau

 

Les processus de sérialisation et de désérialisation Java ne manipulent que des données et non du code. Malheureusement, comme pour une chaîne ROP, il est possible de combiner des « gadgets » Java pour exécuter du code arbitraire lorsque la désérialisation s’effectue sur des données contrôlées par un attaquant. Nous présentons dans cet article une vulnérabilité de désérialisation affectant directement les libraires standards de la machine virtuelle Java.

Au sommaire de l’article

1 Introduction

2 Vulnérabilité dans les classes de la JVM

2.1 Trouver un chemin depuis readObject()

2.2 Construction de l’exploit

2.3 Patch

2.4 Ysoserial

3 Parades

3.1 Supprimer les classes

3.2 SecurityManager

3.3 Liste noire et liste blanche

3.4 Le futur de la sérialisation Java

Conclusion

Références

Alexandre Bartel – Jacques Klein – Yves Le Traon

 > Lire l’intégralité de cet article sur notre plateforme de lecture en ligne Connect  

Retrouvez cet article (et bien d’autres) dans MISC n°101, disponible sur la boutique et sur Connect !

Laisser un commentaire