Come si usa "scrscriptipt" o "selsectectect" per evitare il filtraggio?

21

Una tecnica per evitare il filtraggio di parole comuni è quella che ho descritto nel titolo.

Tuttavia, perché questa tecnica funziona? SELECT non è lo stesso di SELSELECTECT per esempio.

    
posta yzT 22.02.2013 - 16:18
fonte

2 risposte

24

Diciamo che ho inserito nella lista nera la parola <script> e lo ho sostituito con niente. Quindi <scr<script>ipt> diventa <script> .

Ecco perché i disinfettanti / purificatori html ben scritti applicano le regole in modo ricorsivo. Questo è solo quando l'ultima fase di risanamento non ha apportato modifiche al contenuto, si fermerà / non applicherà un altro giro delle regole di elaborazione. (Probabilmente fallirà e non restituirà alcun contenuto se sono necessari troppi cicli di elaborazione).

    
risposta data 22.02.2013 - 16:29
fonte
13

Funziona contro i disinfettanti rotti che usano semplicemente s.Replace("select","") . Quando lo applichi a selselectect , rimuove il select nel mezzo, ma poiché non viene eseguito di nuovo sull'output, lo split sel + ect diventa select e sopravvive al disinfettante.

Questo attacco non funzionerà contro qualsiasi disinfettante sano di mente.

    
risposta data 22.02.2013 - 16:22
fonte

Leggi altre domande sui tag