Podstawy XSS

Założenie: Pokażemy, jak podatność na XSS może pozwolić na wstrzyknięcie złośliwego kodu JavaScript do strony internetowej.

Krok po kroku:

  1. Krok 1: Vulnerable Code (niebezpieczny kod)
    
    <?php
      $user_input = $_GET['name'];
      echo "<p>Witaj, " . $user_input . "!</p>";
    ?>
    				

    Ten kod pobiera wartość parametru `name` z adresu URL i wyświetla ją bezpośrednio na stronie. Brak walidacji i sanitacji danych wprowadzonych przez użytkownika.

  2. Krok 2: Atak XSS

    Jeśli użytkownik odwiedzi stronę z parametrem name ustawionym na <script>alert('XSS')</script>, kod JavaScript zostanie wykonany w przeglądarce użytkownika, wyświetlając alert “XSS”.

    
    https://przykladowa-strona.pl/?name=<script>alert('XSS')</script>
    				
  3. Krok 3: Zabezpieczony kod
    
    <?php
      $user_input = htmlspecialchars($_GET['name']);
      echo "<p>Witaj, " . $user_input . "!</p>";
    ?>
    				

    Funkcja `htmlspecialchars()` konwertuje specjalne znaki HTML (takie jak <, >, “, ‘) na ich odpowiedniki HTML entities, zapobiegając wykonaniu kodu JavaScript.

Ten przykład pokazuje podstawy ataku XSS i jak go zapobiegać. Pamiętaj, że zawsze należy walidować i sanitować dane wprowadzane przez użytkowników, aby zabezpieczyć swoją aplikację przed tego typu atakami. Zachęcamy do dalszego zgłębiania tematu bezpieczeństwa w PHP!

Dodaj komentarz 0

Your email address will not be published. Required fields are marked *