Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky
Vďaka svojej architektúre a veku však CGI predstavuje niekoľko významných zraniteľností na webe:
* Injekcia príkazu: Ak skript CGI nie je správne dezinfikovaný vstup používateľa pred použitím v príkazoch Shell (napr. Používanie `system ()` alebo podobné funkcie v jazykoch ako Perl, Python alebo C), útočník môže vstreknúť škodlivé príkazy. Napríklad, ak skript zostavuje príkaz ako `ls /tmp /` + `$ _get ['filename']`, útočník by mohol vytvoriť parameter `filename` na vykonanie ľubovoľných príkazov na serveri, čo by mohlo získať úplné ovládanie.
* Path Turversal: Podobne ako v prípade injekcie príkazu, ak skript nepotvrdí cesty poskytnuté používateľom, útočník by mohol mať prístup k súborom mimo zamýšľaného adresára. Napríklad, ak skript umožňuje používateľom prezerať súbory pomocou parametra, ako je `zobrazenie? File =/etc/passwd`, útočník by mohol vyskúšať` zobrazenie?
* skriptovanie na krížovom mieste (XSS): Ak skript CGI nie je správne dezinfikovať údaje dodávané používateľom, ktoré sú súčasťou výstupu HTML, môže to viesť k odrazeným alebo uloženým zraniteľnostiam XSS. Útočník môže vložiť škodlivý kód JavaScript, ktorý sa vykoná v prehliadači obete, čo potenciálne kradne cookies alebo iné citlivé informácie.
* pretečenie vyrovnávacej pamäte: Zle napísané skripty CGI môžu byť náchylné na zraniteľné miesta pretečenia vyrovnávacej pamäte. Ak útočník odošle viac údajov, ako dokáže vyrovnať vyrovnávaciu pamäť skriptu, môže to spôsobiť haváriu alebo umožniť útočníkovi vykonať ľubovoľný kód.
* odmietnutie služby (DOS): Neefektívne napísané skripty CGI môžu byť zacielené útokmi DOS. Veľký počet požiadaviek by mohol premôcť skript alebo zdroje servera, vďaka čomu je webová stránka nedostupná.
* Únik informácií: Skript CGI môže neúmyselne odhaliť citlivé informácie prostredníctvom chybových správ, protokolových súborov alebo spôsobu, akým sa zaoberá výnimkami.
* Zabezpečenie mylného konfigurácie: Nesprávne nakonfigurované skripty CGI alebo ich pridružené súbory (napr. Nesprávne povolenia) môžu viesť k rôznym zraniteľnostiam.
Prečo je CGI teraz menej bežné:
Zraniteľnosti a obmedzenia výkonnosti spoločnosti CGI viedli k poklesu popularity. Moderné webové rámce ako PHP, Python's Django/Flask, Ruby On Rails, Node.js atď., Ponúkajú oveľa lepšiu bezpečnosť a výkonnosť prostredníctvom funkcií, ako je vstavaná dezantizácia, vylepšená manipulácia s chybami a robustnejšie bezpečnostné postupy. Tieto rámce spracúvajú interakciu medzi webovým serverom a logikou aplikácie oveľa bezpečnejším a efektívnejším spôsobom ako CGI.
Stručne povedané, zatiaľ čo CGI bola historicky dôležitá, jeho vlastné zraniteľné miesta z neho robia riskantnú voľbu pre moderné webové aplikácie. Používanie bezpečných, dobre udržiavaných a pravidelne aktualizovaných rámcov je rozhodujúce pre ochranu pred týmito útokmi.