Test penetracji aplikacji internetowych jest działaniem mającym na celu ocenę, jak zachowałby się program internetowy podczas ataku lub wykorzystania. Testy te wykorzystują różne programy do skanowania aplikacji, a następnie wykonywania różnych działań, które mogą wystąpić podczas faktycznego ataku. Test penetracji aplikacji internetowych może zostać przeprowadzony przez zespół programistów lub zewnętrznego dostawcę usług. W przypadku skorzystania z usług zewnętrznego dostawcy zespół programistyczny lub pracownicy działu informatycznego czasami nie będą powiadamiani o teście przez kierownictwo. Może to pozwolić testowi penetracji aplikacji internetowych na wykrycie wad, które w przeciwnym razie mogłyby pozostać niezauważone, co może umożliwić naprawienie tych problemów przed wydaniem oprogramowania.
Aplikacje internetowe to pakiety oprogramowania, do których można uzyskać dostęp i które można uruchamiać przez Internet. Aplikacje te mogą wykonywać wiele funkcji, a w niektórych przypadkach są odpowiedzialne za przetwarzanie danych, które są uważane za prywatne lub nawet cenne. Aby uniknąć ataków na ataki, zwykle przeprowadza się testy penetracyjne w celu zlokalizowania słabych punktów lub łatwych do wykorzystania obszarów w kodzie.
Typowe testy penetracyjne aplikacji internetowych rozpoczynają się od fazy gromadzenia informacji. Celem tego kroku jest ustalenie jak największej ilości informacji o aplikacji. Wysyłając żądania do aplikacji i korzystając z narzędzi takich jak skanery i wyszukiwarki, często można uzyskać informacje, takie jak numery wersji oprogramowania i komunikaty o błędach, które często są wykorzystywane do późniejszego wyszukiwania exploitów.
Po zgromadzeniu wystarczającej ilości informacji kolejnym celem testu penetracyjnego aplikacji sieci Web jest przeprowadzenie szeregu różnych ataków i exploitów. W niektórych przypadkach informacje zebrane podczas pierwszej fazy zidentyfikują exploity, na które aplikacja może być narażona. Jeśli nie zostaną wykryte żadne oczywiste luki w zabezpieczeniach, można próbować wykonać pełen zakres ataków i exploitów.
Test penetracji aplikacji internetowych może wykryć wiele różnych luk technicznych. W testach tych zwykle próbuje się użyć metod takich jak manipulacja uniwersalnym lokalizatorem zasobów (URL), przechwytywanie sesji i wstrzykiwanie języka strukturalnego zapytania (SQL) do włamania do aplikacji. Może również wystąpić próba zainicjowania przepełnienia bufora lub inne podobne działania, które mogą spowodować nieprawidłowe działanie aplikacji. Jeśli którykolwiek z tych ataków lub exploitów powoduje, że aplikacja ujawnia poufne dane testerowi penetracji, wady są zwykle zgłaszane wraz z sugerowanym kierunkiem działania.


