Regex klobasa ki zazna XSS
 
blackmamba 14. dec 2010 09:27:24 Pridružen od:
4. mar 2008
559 objav
392 25 11
#1

Ima kdo kaj uporabnega za sharat?



Rad bi obdržal samo tage za bold, italic, br in linke. Pa še to brez raznih (onload="blala" onmouseover,...)



hvala mojstri ;)



link


všeč(0) ni všeč(0) spam(0)
 
DiTi 14. dec 2010 12:40:00 Pridružen od:
3. apr 2010
324 objav
218 7 1
#2

če kaj pomaga, PHP-Fusion ima to zaščito


if ((preg_match("/<[^>]*script*\"?[^>]*>/i", $check_url)) || (preg_match("/<[^>]*object*\"?[^>]*>/i", $check_url)) ||
(preg_match("/<[^>]*iframe*\"?[^>]*>/i", $check_url)) || (preg_match("/<[^>]*applet*\"?[^>]*>/i", $check_url)) ||
(preg_match("/<[^>]*meta*\"?[^>]*>/i", $check_url)) || (preg_match("/<[^>]*style*\"?[^>]*>/i", $check_url)) ||
(preg_match("/<[^>]*form*\"?[^>]*>/i", $check_url)) || (preg_match("/\([^>]*\"?[^)]*\)/i", $check_url))) {
$return = true;
}
všeč(0) ni všeč(0) spam(0)
 
blackmamba 14. dec 2010 21:18:52 Pridružen od:
4. mar 2008
559 objav
392 25 11
#3

DiTi, za nekaj je dobro, ampak tole gre čez


<IMG SRC=http://www.google.si/images/logos/ps_logo2.png onload=&#0000106&#0000097&#0000118&#0000097&#0000115&#0000099&#0000114&#0000105&#0000112&#0000116&#0000058&#0000097&#0000108&#0000101&#0000114&#0000116&#0000040&#0000039&#0000088&#0000083&#0000083&#0000039&#0000041>

Obstaja kakšna bulletproof zadeva ali bo treba it na roke čez morje XSS primerov in sproti dopolnjevat regex?


všeč(0) ni všeč(0) spam(0)
 
blackmamba 14. dec 2010 21:43:36 Pridružen od:
4. mar 2008
559 objav
392 25 11
#4

Ok, prišel sem do spoznanja, popravite me če se motim.

- bolje je narediti whitelist namesto blacklista (izbrati kaj dovoliti namesto kaj prepovedati)

- potrebno je sparsati HTML v DOM in preveriti vsak element ali so njegovi atributi v whitelisti in preveriti je treba tudi vrednosti dovoljenih atributov (prepovedati nedovoljene protokole npr. href=javascript...)



pa lep večer še naprej in čimmanj XSS-ov ;)


všeč(0) ni všeč(0) spam(0)
 
blackmamba 14. dec 2010 22:04:49 Pridružen od:
4. mar 2008
559 objav
392 25 11
#5

Vem da je glupo na lastne poste odgovarjat, ampak tole moram prilepit

http://htmlpurifier.org/


všeč(0) ni všeč(0) spam(0)
 
SlimDeluxe 15. dec 2010 00:00:55 Pridružen od:
29. apr 2010
1223 objav
1022 144 9
#6

Jaz delam z CodeIgniter in predlagam, da si ga downloadaš, pregledaš in skopiraš ta del iz Input razreda (/system/libraries/) in morda popraviš po tvojih željah.


všeč(0) ni všeč(0) spam(0)
Freelance Web Developer
 
DiTi 15. dec 2010 12:17:03 Pridružen od:
3. apr 2010
324 objav
218 7 1
#7

blackmamba:

DiTi, za nekaj je dobro, ampak tole gre čez


<IMG SRC=http://www.google.si/images/logos/ps_logo2.png onload=&#0000106&#0000097&#0000118&#0000097&#0000115&#0000099&#0000114&#0000105&#0000112&#0000116&#0000058&#0000097&#0000108&#0000101&#0000114&#0000116&#0000040&#0000039&#0000088&#0000083&#0000083&#0000039&#0000041>

Obstaja kakšna bulletproof zadeva ali bo treba it na roke čez morje XSS primerov in sproti dopolnjevat regex?




mogoče veš kako je zakodirani tisti onload javascript del?


všeč(0) ni všeč(0) spam(0)
 
blackmamba 15. dec 2010 14:33:12 Pridružen od:
4. mar 2008
559 objav
392 25 11
#8

To je "Long UTF-8 Unicode encoding without semicolons", kodo sem našel tu http://ha.ckers.org/xss.html



Drugače sem pa s "htmlpurifier" več kot zadovoljen in se z xss ne obremenjujem več :P


všeč(0) ni všeč(0) spam(0)
 
DiTi 15. dec 2010 14:55:59 Pridružen od:
3. apr 2010
324 objav
218 7 1
#9

hvala, še en uporaben seznam: http://code.google.com/p/wfuzz/source/browse/trunk/wordlist/Injections/?r=2


všeč(0) ni všeč(0) spam(0)
 
jurij123 15. dec 2010 17:39:10 Pridružen od:
20. nov 2010
572 objav
675 148 10
#10

Ja seveda 100x lazje je narediti whitelist kot pa blacklist...priporocam ti da prvo uporabis regex, ki bo dobil npr vsebino znotraj <i> & </i> in potem vsebino znotraj tagov se filtriras z html entities in bi moral biti problem resen..



Drugace pa ce govoriva za XSS pri iskanju je najbolje da za iskanje uporabis POST namesto GET, ker potem napadalec nima koristi za razne redirecte ali cookie stealerje...

Ce se gre pa za forum pa le previdno, da se ne bo kak HTML injection pojavil na tvoji strani :)


všeč(0) ni všeč(0) spam(0)
 
 

🔒 Za odgovor na to temo se moraš prijaviti.

Prijavi se