mirror of
https://github.com/carlospolop/hacktricks
synced 2024-11-25 06:00:40 +00:00
4 KiB
4 KiB
Array Indeksering
{% hint style="success" %}
Leer & oefen AWS-hacking:HackTricks Opleiding AWS Red Team Expert (ARTE)
Leer & oefen GCP-hacking: HackTricks Opleiding GCP Red Team Expert (GRTE)
Ondersteun HackTricks
- Controleer die inskrywingsplanne!
- Sluit aan by die 💬 Discord-groep of die telegram-groep of volg ons op Twitter 🐦 @hacktricks_live.
- Deel hacktruuks deur PR's in te dien by die HackTricks en HackTricks Cloud github-opslag.
Basiese Inligting
Hierdie kategorie sluit alle kwesbaarhede in wat voorkom omdat dit moontlik is om sekere data te oorskryf deur foute in die hantering van indekse in reekse. Dit is 'n baie wyd kategorie sonder 'n spesifieke metodologie aangesien die uitbuitingsmeganisme heeltemal afhang van die toestande van die kwesbaarheid.
Hier kan jy egter 'n paar mooi voorbeelde vind:
- https://guyinatuxedo.github.io/11-index/swampctf19_dreamheaps/index.html
- Daar is 2 botsende reekse, een vir adresse waar data gestoor word en een met die groottes van daardie data. Dit is moontlik om een van die ander te oorskryf, wat dit moontlik maak om 'n arbitêre adres te skryf wat dit as 'n grootte aandui. Dit maak dit moontlik om die adres van die
free
-funksie in die GOT-tabel te skryf en dit dan met die adres nasystem
te oorskryf, en roep vry vanaf 'n geheue met/bin/sh
. - https://guyinatuxedo.github.io/11-index/csaw18_doubletrouble/index.html
- 64-bits, geen nx. Oorskryf 'n grootte om 'n soort buffer-oorvloei te kry waar alles as 'n dubbele getal gebruik gaan word en van kleinste tot grootste gesorteer gaan word, sodat dit nodig is om 'n shell-kode te skep wat aan daardie vereiste voldoen, met inagneming dat die kanarie nie van sy posisie af beweeg moet word nie en uiteindelik die RIP met 'n adres na ret oorskryf, wat aan die vorige vereistes voldoen en die grootste adres 'n nuwe adres wat na die begin van die stap wys (uitgelek deur die program) plaas sodat dit moontlik is om die ret te gebruik om daarheen te spring.
- https://faraz.faith/2019-10-20-secconctf-2019-sum/
- 64-bits, geen relro, kanarie, nx, geen pie. Daar is 'n off-by-one in 'n reeks in die stapel wat toelaat om 'n aanwyser te beheer wat WWW toeken (dit skryf die som van al die getalle van die reeks in die oorgeskryfde adres deur die off-by-one in die reeks). Die stapel word beheer sodat die GOT
exit
-adres metpop rdi; ret
oorgeskryf word, en in die stapel word die adres namain
bygevoeg (terugkeer namain
). 'n ROP-ketting om die adres van put in die GOT uit te lek deur puts te gebruik word gebruik (exit
sal geroep word sodat ditpop rdi; ret
sal roep en dus hierdie ketting in die stapel uitvoer). Uiteindelik word 'n nuwe ROP-ketting wat ret2lib uitvoer, gebruik. - https://guyinatuxedo.github.io/14-ret_2_system/tu_guestbook/index.html
- 32-bits, geen relro, geen kanarie, nx, pie. Misbruik 'n slegte indeksering om adresse van libc en heap van die stapel uit te lek. Misbruik die buffer-oorvloei om 'n ret2lib te doen wat
system('/bin/sh')
roep (die heap-adres is nodig om 'n kontrole te omseil).