Weekly backup.
This commit is contained in:
35
20220306181623-xml_billion_laughs.org
Normal file
35
20220306181623-xml_billion_laughs.org
Normal file
@@ -0,0 +1,35 @@
|
||||
:PROPERTIES:
|
||||
:ID: 7b090d0a-b96b-4d40-afec-2155a6909935
|
||||
:mtime: 20220306182044
|
||||
:ctime: 20220306181623
|
||||
:END:
|
||||
#+title: XML billion laughs
|
||||
|
||||
* Introduction
|
||||
* Attaque de type déni de service visant les parseurs XML.
|
||||
* Peut aussi servir de vecteur pour faciliter les attaques par /dépassement de tampon/.
|
||||
|
||||
* Principe
|
||||
Le standard XML permet la déclaration récursive d'entités XML sans aucune limite de profondeur ou de longueur des
|
||||
éléments. L'attaquant peut donc donner une très grande longueur au résultat censé être produit lors de l'analyse
|
||||
lexicale du document XML. Ainsi, le déni de service est provoqué par le parseur XML tentant de lire le document avec
|
||||
toutes ses entités décrites de manière récursive, ce qui peut potentiellement provoquer un dépassement mémoire.
|
||||
|
||||
* Exemple
|
||||
#+BEGIN_SRC xml
|
||||
<!DOCTYPE root [
|
||||
<!ENTITY lol "lol">
|
||||
<!ENTITY lol2 "&lol; &lol;">
|
||||
<!ENTITY lol3 "&lol2; &lol2;">
|
||||
<!ENTITY lol4 "&lol3; &lol3;">
|
||||
<!ENTITY lol5 "&lol4; &lol4;">
|
||||
…
|
||||
<!ENTITY lol128 "&lol127; &lol127;">
|
||||
]>
|
||||
<root>&lol128;</root>
|
||||
#+END_SRC
|
||||
|
||||
* Références
|
||||
* [[https://en.wikipedia.org/wiki/Billion_laughs_attack][Wikipedia]]
|
||||
|
||||
|
Reference in New Issue
Block a user