Přetečení na haldě (anglicky heap overflow) je typ přetečení bufferu, který nastává v datové oblasti haldy. Přetečení na haldě jsou napadnutelná jiným způsobem než přetečení na zásobníku. Paměť v haldě je dynamicky alokovaná aplikací za běhu a typicky obsahuje programová data. Napadnutí je prováděno poškozením těchto dat specifickým způsobem za účelem způsobení přepsání interních struktur aplikace jako např. ukazatele spojového seznamu.

PropertyValue
prop-cs:wikiPageUsesTemplate
dbpedia-owl:abstract
  • Přetečení na haldě (anglicky heap overflow) je typ přetečení bufferu, který nastává v datové oblasti haldy. Přetečení na haldě jsou napadnutelná jiným způsobem než přetečení na zásobníku. Paměť v haldě je dynamicky alokovaná aplikací za běhu a typicky obsahuje programová data. Napadnutí je prováděno poškozením těchto dat specifickým způsobem za účelem způsobení přepsání interních struktur aplikace jako např. ukazatele spojového seznamu. Kanonická technika přetečení haldy přepisuje vazby dynamické alokace paměti (např. metadata pro malloc) a používá výslednou výměnu ukazatelů k přepsání ukazatele na funkci.Typický příklad na Linuxu jsou dva buffery alokované vedle sebe v haldě. Zápis za hranice prvního bufferu dovoluje přepsání meta dat v druhém bufferu. Nastavením in-use bitu druhého bufferu na nulu a nastavením délky na malou zápornou hodnotu, což dovoluje kopírování null bytů, se ve chvíli, kdy program zavolá free() na prvním bufferu, pokusí spojit tyto dva buffery do jednoho. Když se toto stane, buffer, který měl být uvolněn, bude obsahovat dva ukazatele FD a BK v prvních 8 bytech dříve alokovaného bufferu. BK je zapsán do FD a může být použit k přepsání ukazatele. Avšak toto z více důvodů není nadále možné.
dbpedia-owl:wikiPageExternalLink
dbpedia-owl:wikiPageID
  • 966815 (xsd:integer)
dbpedia-owl:wikiPageLength
  • 5032 (xsd:integer)
dbpedia-owl:wikiPageOutDegree
  • 28 (xsd:integer)
dbpedia-owl:wikiPageRevisionID
  • 16405606 (xsd:integer)
dbpedia-owl:wikiPageWikiLink
dbpedia-owl:wikiPageWikiLinkText
  • přetečení na haldě
  • Přetečení na haldě
dcterms:subject
rdfs:comment
  • Přetečení na haldě (anglicky heap overflow) je typ přetečení bufferu, který nastává v datové oblasti haldy. Přetečení na haldě jsou napadnutelná jiným způsobem než přetečení na zásobníku. Paměť v haldě je dynamicky alokovaná aplikací za běhu a typicky obsahuje programová data. Napadnutí je prováděno poškozením těchto dat specifickým způsobem za účelem způsobení přepsání interních struktur aplikace jako např. ukazatele spojového seznamu.
rdfs:label
  • Přetečení na haldě
prov:wasDerivedFrom
foaf:isPrimaryTopicOf
is dbpedia-owl:wikiPageRedirects of
is dbpedia-owl:wikiPageWikiLink of
is foaf:primaryTopic of