sårbarheter i mjukvara spökar ständigt programmerare och utvecklare . Den formatsträngsbuggen är en sådan sårbarhet , och det kan krascha program eller köra skadlig kod . Frågan med Formatsträngen kretsar kring okontrollerad indata . Trycket kommando i C kan vara ett exempel på denna bugg . En " printf ( ) " är en okontrollerad indata som möjliggör utskrift från avlägsna platser . Används separat , ger detta kommando hackare möjlighet att kapa kod för sina syften . Beskrivning
Utvecklare använder printf koden familjen till formatsträngar eller uppgifter styrutsignalen . Den printf kodfamiljen innehåller kommandon som fprintf , vprintf och sprintf , som alla formatdata men skriva till olika platser . Formatsträngar buggar uppstår när utvecklare försummar att placera nödvändiga restriktioner på printf koden familjen . Hackare kan sedan skriva sin egen kod genom dessa begränsningar - fria koder , eller kryphål , och kapa koden . Resultatet , enligt författarna till " The Shellcoders Handbook , " är att kaparen då kan ha möjlighet att visa privat information och exekvera godtycklig kod .
Format Tokens
Fastställande formatsträngssårbarheter buggar kan vara smärtfri , och programutvecklare behöver bara lägga till ett format token som " % s " eller " % x " . Till exempel , kan utvecklaren skriva " printf ( " % s " , ingång ) " på kommandoraden .
Format token begränsar format poster och förhindrar hackare från att köra skadlig kod via kryphål som finns i den ursprungliga koden . Formatsträngar buggar uppstår vanligtvis när programmerare utveckla kod för stora program . Under kod utveckling , kan programmerare fokusera på helheten , och därmed bortse formatsträngen . Den okontrollerade Formatsträngen fungerar sedan som ett gyllene tillfälle att angriparen kan använda för att manipulera koden . Kan också skapa buffert
buffertspill
formatsträngar spillproblem . När ett program överskridanden bufferten gränsen när data skrivs , sker buffer overflow , och programmet kan skriva över angränsande minne . Detta är ett betydande hot i form av ett program minne säkerhet. Buffer overflow problem är ofta förknippade med C och C + + språk . Programutvecklare bör se till att kontrollera buffert gränserna för att motverka avvikelser buffer overflow . När det inte finns något format som anges för en C gångtid funktion , kan godtycklig kod exekveras genom angivna kryphål . Eftersom koden inte kan känna gränserna för bufferten , kan det orsaka en buffer overflow , och skriva över minnet . Addera minimera riskerna
Du kan undvika buggar formatsträngssårbarheter genom följa några grundläggande regler för programplanering . För att minimera förekomster av formantområdena sträng buggar , bara installera verktyg som du behöver , och endast tillåta åtkomst till dessa verktyg till dem i din mest betrodda grupp , enligt författarna till " Hack proofing ditt nätverk . " Kom alltid ihåg att ange ett formatera sträng till en " printf " uttalande . Om det finns anpassade formatsträngar i koden , var särskilt försiktig när du skriver privilegier dessa egendefinierade format strängar .