Finding weaknesses in web applications through the means of fuzzing
Rune Hammersland · NORA - Norwegian Open Research Archives · 2008
NORSK: Håndtering av brukerinput i web-applikasjoner har ved flere anledninger vist seg å være en vanskelig oppgave. Gang på gang har vi sett sårbarheter i slike applikasjoner på grunn av måten input benyttes uten å sikres først. På grunn av web-applikasjoners dynamiske natur er det også vanskelig å automatisere slike tester, da brukergrensesnittet er i stadig endring. En test-metode må derfor ta hensyn til dette. Videre er det urimelig å teste alle mulige verdier en bruker kan taste inn, og et subsett av mulige verdier må velges. Å overlate ansvaret for å finne dette utvalget til programmereren kan vise seg å være uklokt, ettersom han ofte kun tester de verdiene han vet er sannssynlige. I denne oppgaven beskriver vi en metode og et verktøy for (semi)automatisk generering av tilsynelatende tilfeldig test data (også kjent som «fuzzing»). Testmetoden og verktøyet vårt har blitt anvendt på flere populære frie web-applikasjoner, og eksperimentet vårt viser at fra testerens perspektiv er metoden rask, enkel og effektiv. Ved å benytte metoden og verktøyet klarte vi å avdekke problemer i flere av applikasjonene vi testet.