Eredmény: 1 - 6 (6) összesen

Téma: XSS elleni védelem.

  1. #1
    Hekker 0xFF logója
    Csatlakozott
    09-08-21
    Hozzászólás
    1.079
    Begyűjtött 168 köszönetet
    118 hozzászólásával

    Alapbeállítás XSS elleni védelem.

    Egy újabb próbléma ütötte fel a fejét, van egy wysiwyg-editorom, ami bizonyos HTML taggeket használ, ennek a textarea-nak az ertéke be fog kerülni egy adatbázisba, majd onann termeszétesen ki is, azt szeretném, ha kitudnám, szürni az XSS-t teljes mértékben.

    Amin en gondolkoztam, az az, hogy amielött bekerülne az adatbázisba először kicserélem az elemeket, pl a <P> ból [P] lesz stb majd ezután átmegy a htmlentities fügvényen, majd bekerül az adatbázisba, kiolvasáskor meg visszacserélem a [P] ból ujra <p> lesz.

    Ezzel az a problémám. hogy van <P> és <P align="center"> és még sok sok más letőség.

    Szerintem erre is van valami egyszerübb megoldás, vagy milyen más lehetőségek vannak, nem csak a <script> et szeretném szürni hanem mindent, IFRAME, onmouseover stb stb.



  2. #2
    Bölcs sitebuilder logója
    Csatlakozott
    09-08-23
    Hely
    Debrecen
    Hozzászólás
    1.005
    Begyűjtött 8 köszönetet
    5 hozzászólásával

    Alapbeállítás re: XSS elleni védelem.

    Miért bonyolítod túl? A '<' helyett '&lt;' -t írsz, de arra ott a htmlspecialchars() függvény...



  3. #3
    Hekker 0xFF logója
    Csatlakozott
    09-08-21
    Hozzászólás
    1.079
    Begyűjtött 168 köszönetet
    118 hozzászólásával

    Alapbeállítás re: XSS elleni védelem.

    Értem én, de akkor amikor kiolvasom akkor elveszik a formázás..



  4. #4
    Tag todi logója
    Csatlakozott
    09-12-22
    Hely
    Budapest
    Hozzászólás
    56
    Begyűjtött 0 köszönetet
    0 hozzászólásával

    Alapbeállítás re: XSS elleni védelem.

    2 lehetőséged van:
    - visszaolvasáskor visszakódolod a tartalmat
    - preg_replace() használata (html2text class-ra keress, ha mindent ki akarsz szedni, ami html, és csak szöveged lesz)



  5. #5
    Rubyist Geri logója
    Csatlakozott
    07-12-15
    Hely
    \x90
    Hozzászólás
    5.605
    Begyűjtött 1.332 köszönetet
    828 hozzászólásával

    Alapbeállítás re: XSS elleni védelem.

    a strip_tags függyvénynek át lehet adni paraméterként az engedélyezett html tag-eket és szerintem azzal tudod ezt legegyszerűbben megoldani.


    If debugging is the process of removing software bugs, then programming must be the process of putting them in.
    Github Rake tutorial
    Give a man a fish and you feed him for a day. Teach a man to fish and you feed him for a lifetime.
    Respect all, fear none

  6. #6
    Hekker 0xFF logója
    Csatlakozott
    09-08-21
    Hozzászólás
    1.079
    Begyűjtött 168 köszönetet
    118 hozzászólásával

    Alapbeállítás re: XSS elleni védelem.

    Kib*szott jó ez a PHP, mindenre van egyszerü megoldás...
    Ha mást is érdekel akkor ez a megoldás:
    PHP kód:
    <?php 
    function strip_tags_attributes($string,$allowtags=NULL,$allowattributes=NULL){ 
        
    $string strip_tags($string,$allowtags); 
        if (!
    is_null($allowattributes)) { 
            if(!
    is_array($allowattributes)) 
                
    $allowattributes explode(",",$allowattributes); 
            if(
    is_array($allowattributes)) 
                
    $allowattributes implode(")(?<!",$allowattributes); 
            if (
    strlen($allowattributes) > 0
                
    $allowattributes "(?<!".$allowattributes.")"
            
    $string preg_replace_callback("/<[^>]*>/i",create_function
                
    '$matches'
                
    'return preg_replace("/ [^ =]*'.$allowattributes.'=(\"[^\"]*\"|\'[^\']*\')/i", "", $matches[0]);'    
            
    ),$string); 
        } 
        return 
    $string

    ?>
    Használat:
    PHP kód:
    <?php strip_tags_attributes($string,'<strong><em><a>','href,rel'); ?>
    És itt van egy lista a legáltalánosabb XSS szövegekről amiket érdemes ellenörizni:
    hxxp://ha.ckers.org/xss.html



A téma címkéi:

Könyvjelzők

Hozzászólás szabályai

  • Új témákat nem hozhatsz létre
  • Válaszokat nem küldhetsz
  • Fájlokat nem csatolhatsz
  • A hozzászólásaidat nem módosíthatod
  •