Keresés

Új hozzászólás Aktív témák

  • Taci

    addikt

    válasz Taci #20791 üzenetére

    Bocsánat a sok posztért, de igazából ez az egy probléma, ami megakaszt csak (és ez most XSS-től független, lehetne itt a string tartalma &#X41lmafa (Almafa) is, ugyanúgy nem menne):

    $link = "j&#X41vascript:alert('Hacked!')";
    $link = htmlspecialchars_decode($link);
    echo $link;
    Ez kiírja, hogy:
    jAvascript:alert('Hacked!')
    És az oldal forrásában is ez van. Tehát a &#X41-et visszaalakította A-ra.

    Viszont magának a változónak mégsem ezt adja értéknek, ott megmarad a &#X41 karakteres.
    És ebbe az if-be
    if (stripos($link, $dirty_content) !== FALSE){
       echo "XSS-találat";
    }
    csak akkor lép be, ha
    $dirty_content = "j&#X41vascript:";
    arra nem, hogy
    $dirty_content = "javascript:"; (se jAvascript-re persze)

    Ennek az egy rejtélynek a feloldásában kérnék csak segítséget, mert akárhogy keresem, próbálom, nem megy, nem értem.

Új hozzászólás Aktív témák

Hirdetés