Žiniatinklio programų įsiskverbimo testas yra veikla, skirta įvertinti, kaip internetinė programa elgtųsi atakos ar išnaudojimo metu. Atliekant šiuos testus, naudojamos įvairios programinės įrangos programos, skirtos programai nuskaityti ir atlikti įvairius veiksmus, kurie gali įvykti per tikrą ataką. Žiniatinklio programų įsiskverbimo testą gali atlikti kūrimo komanda arba trečiosios šalies paslaugų teikėjas. Jei naudojamas išorinis teikėjas, kūrimo komanda arba informacinių technologijų (IT) darbuotojai kartais nebus informuoti apie testą iš vadovybės. Tai gali leisti žiniatinklio programos įsiskverbimo testui atskleisti trūkumus, kurie kitu atveju būtų buvę nepastebėti, todėl šias problemas galima išspręsti prieš išleidžiant programinę įrangą.
Žiniatinklio programos yra programinės įrangos paketai, kuriuos galima pasiekti ir paleisti internetu. Šios programos gali atlikti daugybę funkcijų, o kai kuriais atvejais jos yra atsakingos už duomenų, kurie laikomi privačiais ar net vertingais, tvarkymą. Siekiant išvengti pavojingų atakų, paprastai atliekami įsiskverbimo testai, siekiant nustatyti bet kokias kodo silpnybes ar lengvai išnaudojamas sritis.
Įprasti žiniatinklio programų įsiskverbimo testai prasideda informacijos rinkimo faze. Šio veiksmo tikslas – nustatyti kuo daugiau informacijos apie programą. Siunčiant užklausas programai ir naudojant tokius įrankius kaip skaitytuvai ir paieškos varikliai, dažnai galima gauti informacijos, pvz., programinės įrangos versijų numerius ir klaidų pranešimus, kurie dažnai naudojami ieškant išnaudojimų vėliau.
Sukaupus pakankamai informacijos, kitas žiniatinklio programų įsiskverbimo testo tikslas yra atlikti daugybę skirtingų atakų ir išnaudojimų. Kai kuriais atvejais per pirmąjį etapą surinkta informacija nustato išnaudojimus, kurių programa gali būti pažeidžiama. Jei neaptikta jokių akivaizdžių pažeidžiamumų, galima bandyti atlikti visas atakas ir išnaudojimus.
Daug įvairių techninių spragų galima rasti atliekant žiniatinklio programų įsiskverbimo testą. Atliekant šiuos testus, norint įsilaužti į programą, paprastai bus bandoma naudoti tokius metodus kaip universaliųjų išteklių vietos nustatymo priemonės (URL) manipuliavimas, seanso užgrobimas ir struktūrinės užklausos kalbos (SQL) injekcija. Taip pat gali būti bandoma inicijuoti buferio perpildymą ar kitus panašius veiksmus, dėl kurių programa gali veikti neįprastai. Jei dėl bet kurios iš šių atakų ar išnaudojimų programa atskleidžia neskelbtinus duomenis įsiskverbimo tikrintuvui, apie trūkumus paprastai pranešama kartu su siūloma veiksmų tvarka.