Spisu treści:
Definicja - Co oznacza wstrzyknięcie kodu?
Wstrzyknięcie kodu to złośliwe wstrzyknięcie lub wprowadzenie kodu do aplikacji. Wprowadzony lub wstrzyknięty kod może zagrozić integralności bazy danych i / lub zagrażać właściwościom prywatności, bezpieczeństwu, a nawet poprawności danych. Może także kraść dane i / lub omijać kontrolę dostępu i uwierzytelniania. Ataki polegające na wstrzykiwaniu kodu mogą nękać aplikacje wymagające wykonania przez użytkownika.Techopedia wyjaśnia wstrzyknięcie kodu
Istnieją cztery główne typy ataków polegających na wstrzykiwaniu kodu:
- Wstrzyknięcie SQL
- Zastrzyk skryptu
- Wstrzyknięcie pocisku
- Ocena dynamiczna
Wstrzyknięcie SQL to tryb ataku, który służy do uszkodzenia uzasadnionego zapytania do bazy danych w celu dostarczenia sfałszowanych danych. Wstrzykiwanie skryptu to atak, w którym atakujący dostarcza kod programowy po stronie serwera silnika skryptowego. Ataki polegające na wstrzykiwaniu powłoki, znane również jako ataki poleceń systemu operacyjnego, manipulują aplikacjami służącymi do formułowania poleceń dla systemu operacyjnego. W ataku z oceną dynamiczną dowolny kod zastępuje standardowe dane wejściowe, co powoduje, że pierwszy z nich jest wykonywany przez aplikację. Różnica między wstrzykiwaniem kodu i wstrzykiwaniem poleceń, kolejną formą ataku, jest ograniczenie funkcjonalności wstrzykiwanego kodu dla złośliwego użytkownika.
Luki w zabezpieczeniach polegające na wstrzykiwaniu kodu obejmują od łatwych do trudnych do znalezienia. Opracowano wiele rozwiązań udaremniających tego typu ataki polegające na wstrzykiwaniu kodu, zarówno w dziedzinie aplikacji, jak i architektury. Niektóre przykłady obejmują sprawdzanie poprawności danych wejściowych, parametryzację, ustawienie uprawnień dla różnych działań, dodanie dodatkowej warstwy ochrony i inne.