Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky

Domáce Hardware Siete Programovanie Softvér Otázka Systémy

Účinky pretečeniu zásobníka a formátu Struny na programe Flow

Dokonca aj tie nenáročné aspekty programu môže predstavovať bezpečnostné riziko . Základný vstup užívateľa môže skrat interný kód programu je rôznymi spôsobmi . Vstup je možné použiť fungovanie tlačových funkcií pre prístup k toku programu kontroly naliehavými hranice funkciu . Alebo to môže pretečeniu vyrovnávacej pamäti hranice stanovenej pre neho programátorom , aby vplyv na dáta mimo jeho programátorom určený priestor . Či tak alebo onak , vstup užívateľa ovplyvňuje to , ako sa program spustí , prípadne k zákerné . Formát Struny

formátovanie reťazca v C a C + + sú súčasťou vstupných a výstupných funkcií . Formátovací reťazec obsahuje údaje výstupných dát na obrazovke . Formát reťazca majú dve hlavné zložky . Prvý je základný reťazec pre tlač , ktoré obsahujú znaky a interpunkciu . Druhá zložka obsahuje špeciálny znak označený percentuálneho známky toho , že slúži ako zástupné symboly pre premennými dátami . Existujú Tieto symboly v reťazci , a sú nahradené v priebehu výkonu podľa hodnôt držaných v premenných . Nasledujúci príklad ilustruje základné vyhlásenie printf s formátovacom reťazci :

char x = "c " int y = 10 ;

printf ( " Tlač znakov % c a desatinných miest % d " , , x , y ) ;
Útoky pomocou formátovacieho reťazca

neistota formátovacích reťazcoch spočíva v tom , ako symboly vložené do referenčnej reťazec ostatných častí programu . Napríklad , môže útočník zadávanie dát do premennej použitej vo formátovacom reťazci injekcii symboly , ktoré umožňujú jej prístup k ďalším rámca vykonávanie programu . V tom , že útočník môže upravovať hodnoty premenných mimo rozsah funkcie tlače . Okrem toho , že útočník môže prípadne prístup hodnoty uložené v pamäti , ktoré predstavujú umiestnenie funkcií . Útočník by potom mohol zmeniť túto hodnotu , aby odkazoval na inú funkciu, čím menia tok výkonu a v podstate únos program .
Vstupné Nárazníky

vstup nárazníky sú priestory pre ukladanie dát vytvorené programátorom pre uloženie dát zadaných užívateľom . Najčastejšie , vstupnej vyrovnávacej pamäte zvládnuť vstup používateľa o prihlásenie do mena a hesla . Konkrétne pre programovací jazyk C , ktorý neobsahuje natívny manipuláciu reťazca , vstupnej vyrovnávacej pamäte existovať ako pole znakov s veľkosťou nastavenou . V tomto prípade je na programátorovi prideliť údaje pre vstup užívateľa .
Buffer Overflow

Útočník by mohol využiť na obmedzenie týchto vyrovnávacích pamätí zaplavenie s dátami . V najjednoduchšom príklade , pole znakov chcel držať protokolu v názve mohla byť 20 Pridelené plocha , ale útočník mu dáva viac ako dvadsať znakov pre spracovanie . V tomto prípade sa okrem toho znaky prepísať pamäťových miest bezprostredne nasledujúce polia . Tieto pamäťových miest možno držať údaje týkajúce sa vykonávania programu , ako je napríklad podmienené premenné pre vyhlásenie riadenie toku , alebo odkazy na funkcie na zásobníku . Rovnako ako formát reťazca útoku , v podstate umožňuje útočníkovi zneužiť program .

Najnovšie články

Copyright © počítačové znalosti Všetky práva vyhradené