gpt4 book ai didi

validation - IsValid()是否可以防御XSS?

转载 作者:行者123 更新时间:2023-12-01 14:29:01 26 4
gpt4 key购买 nike

使用IsValid()验证电子邮件地址或URL格式是否可以防止XSS?指定其他格式时,它会否定XSS吗?

最佳答案

有效的URL仍可以包含攻击媒介:

<!--- 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>

授予以上内容不是XSS攻击,但可以更改为使用攻击来更新列。

电子邮件验证似乎可以防止 the attacks I could find

一般而言, isValid()有助于在数据类型为有限值(整数,SSN,UUID等)时防止XSS攻击。但是, there's a laundry list of documented potential attacks针对本身唯一数据类型为“字符串”的字段。在这种情况下, isValid()毫无帮助,而 OWASP's AntiSamy是用于此目的的有用工具,它可以遍历DOM并删除未列入白名单的任何内容。

Best regex to catch XSS (Cross-site Scripting) attack (in Java)?提供了有关XSS预防一般主题的许多有用信息。

最后要弄清楚这一点,请使用:
<cfqueryparam cfsqltype="..." value="...">

to protect queries

更新

最后但并非最不重要的, OWASP XSS Cheat Sheet:最好的启发式方法集,用于处理输入以防止XSS。

关于validation - IsValid()是否可以防御XSS?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4550668/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com