2010-12-29 8 views

cevap

10

Geçerli bir URL hala bir saldırı vektörü içerebilir: değil bir XSS saldırısı yukarıda Verilen

<!--- No on CF9 ---> 
<cfoutput>#isValid("url", "http://www.mydomain.com/products/products.asp?productid=123; DROP TABLE Products")#</cfoutput> 

<!--- Yes on CF9: hex encoded ';DROP TABLE Products' ---> 
<cfoutput>#isValid("url", "http://www.mydomain.com/products/products.asp?productid=123%3B%20%44%52%4F%50%20%54%41%42%4C%45%20%50%72%6F%64%75%63%74%73")#</cfoutput> 

, ancak bunun yerine bir saldırı içeren sütunlar güncelleştirmek için değiştirilebilir.

E-posta doğrulaması, the attacks I could find önlemek için görüntülenir. tamsayılar, SSNs, Uuıdlerin vb kimin yalnızca datatype başına 'dizesi' dir alanlara karşı, ancak .. there's a laundry list of documented potential attacks - Bir genelleme olarak

, isValid() veri türü sonlu olduğunda XSS saldırılarını önlemeye yardımcı olur. Bu durumda, isValid()'un yardımı yoktur, bunun yerine OWASP's AntiSamy bu amaçla DOM'yi geçip beyaz listeye eklenmemiş herhangi bir şeyi kaldıran kullanışlı bir araçtır. XSS'nin önlenmesi hakkında genel bir çok bilgi içeren

Best regex to catch XSS (Cross-site Scripting) attack (in Java)?.

Ve nihayet nokta, kullanımını uzatmak için:

<cfqueryparam cfsqltype="..." value="..."> 

to protect queries.

Güncelleme

Son fakat en az değil, OWASP XSS Cheat Sheet: Orada XSS önlemek için girişin düzenlenmesi için sezgisel algoritmaların en iyi takımı.

İlgili konular