mirror of
https://github.com/carlospolop/hacktricks
synced 2025-02-16 22:18:27 +00:00
40 lines
3 KiB
Markdown
40 lines
3 KiB
Markdown
|
# Relro
|
||
|
|
||
|
<details>
|
||
|
|
||
|
<summary><strong>Leer AWS-hacking vanaf nul tot held met</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||
|
|
||
|
Ander maniere om HackTricks te ondersteun:
|
||
|
|
||
|
* As jy wil sien dat jou **maatskappy geadverteer word in HackTricks** of **HackTricks aflaai in PDF-formaat** Kontroleer die [**INSKRYWINGSPLANNE**](https://github.com/sponsors/carlospolop)!
|
||
|
* Kry die [**amptelike PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||
|
* Ontdek [**Die PEASS Familie**](https://opensea.io/collection/the-peass-family), ons versameling eksklusiewe [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||
|
* **Sluit aan by die** 💬 [**Discord-groep**](https://discord.gg/hRep4RUj7f) of die [**telegram-groep**](https://t.me/peass) of **volg** ons op **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||
|
* **Deel jou haktruuks deur PR's in te dien by die** [**HackTricks**](https://github.com/carlospolop/hacktricks) en [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github-opslag.
|
||
|
|
||
|
</details>
|
||
|
|
||
|
## Relro
|
||
|
|
||
|
**RELRO** staan vir **Relocation Read-Only**, en dit is 'n sekuriteitskenmerk wat in binêre lêers gebruik word om die risiko's wat verband hou met **GOT (Global Offset Table)** oorskrywings te verminder. Laat ons die konsep opbreek in sy twee onderskeie tipes vir duidelikheid: **Gedeeltelike RELRO** en **Volledige RELRO**.
|
||
|
|
||
|
### **Gedeeltelike RELRO**
|
||
|
|
||
|
**Gedeeltelike RELRO** neem 'n eenvoudiger benadering om sekuriteit te verbeter sonder om die binêre lêer se prestasie aansienlik te beïnvloed. Deur **die GOT bo die program se veranderlikes in die geheue te posisioneer, mik Gedeeltelike RELRO daarop om te voorkom dat buffer-oorvloeiings die GOT bereik en dit beskadig**. 
|
||
|
|
||
|
Dit **voorkom nie dat die GOT** misbruik word **deur arbitrêre skryf** kwesbaarhede nie.
|
||
|
|
||
|
### **Volledige RELRO**
|
||
|
|
||
|
**Volledige RELRO** verhoog die beskerming deur **die GOT en .fini\_array** afdeling heeltemal **alleen-lees** te maak. Sodra die binêre lêer begin, word al die funksie-adresse opgelos en in die GOT gelaai, daarna word die GOT as alleen-lees gemerk, wat enige wysigings daaraan tydens uitvoering voorkom.
|
||
|
|
||
|
Die afweging met Volledige RELRO is egter in terme van prestasie en aanvangstyd. Omdat dit vereis dat alle dinamiese simbole by aanvang opgelos word voordat die GOT as alleen-lees gemerk word, **kan binêre lêers met Volledige RELRO wat geaktiveer is, langer laaitye ervaar**. Hierdie addisionele aanvangsoorskot is waarom Volledige RELRO nie standaard in alle binêre lêers geaktiveer word nie.
|
||
|
|
||
|
Dit is moontlik om te sien of Volledige RELRO geaktiveer is in 'n binêre lêer met:
|
||
|
```bash
|
||
|
readelf -l /proc/ID_PROC/exe | grep BIND_NOW
|
||
|
```
|
||
|
## Oorweging
|
||
|
|
||
|
Indien Volledige RELRO geaktiveer is, is die enigste manier om dit te omseil om 'n ander manier te vind wat nie vereis dat daar in die GOT-tabel geskryf word om willekeurige uitvoering te kry nie.
|