问题标签 [xss]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
security - Anti XSS and Classic ASP
I'm currently trying to secure my classic ASP application from XSS. I came across the AntiXSS from Microsoft on the net and I was wondering if this would work with a classic application?
If not do you have any ideas how I could go about sanitizing the strings?
regex - 正则表达式和 XSS 上的“战争”
我一直对编写像论坛或博客这样的网络软件很感兴趣,这些东西需要有限的标记才能重写为 HTML。但是最近,我越来越多地注意到对于 PHP,尝试谷歌搜索“PHP BBCode parser -PEAR”并测试一些,你要么得到一个低效的混乱,要么你得到的代码很糟糕,到处都是 XSS 漏洞。
以我之前提到的例子为例,在那些糟糕的 BBCode 解析器中,你将如何避免 XSS?我现在将使用您的典型正则表达式来处理链接,您可以提及它的脆弱性以及如何避免它。
处理图像标签几乎没有比这更安全的了。
所以我有几个具体的问题,主要是针对 PHP 实现的。
- 在此示例中,仅使用 uri/url 验证表达式进行匹配是否更好?或者,最好使用
(.*?)
回调,然后确定输入是否是有效链接?正如上面显而易见的javascript:alert('XSS!')
那样,在上面的 URL 标记中可以工作,但如果完成 uri 匹配,则会失败。 - 回调中的函数怎么样
urlencode()
,它们会是什么威慑或问题(就 URI 标准而言)? - 编写全栈解析器会更安全吗?或者,对于每页处理多个不同条目的东西来说,开发和使用这样的东西所需的时间和处理能力是否太重了?
我知道我的示例是众多示例之一,并且比某些示例更具体。但是,不要逃避提供自己的。 因此,我正在寻找文本解析情况下 XSS 保护的原则和最佳实践以及一般建议。
javascript - 如何使外部代码“安全”运行?只是禁止eval()?
我希望能够允许社区成员提供他们自己的 javascript 代码供其他人使用,因为用户的想象力比我能想到的任何东西都大得多。
但这引发了内在的安全问题,特别是当目的是允许外部代码运行时。
那么,我可以禁止eval()
提交并完成它吗?还是有其他方法可以评估代码或在 javascript 中引起大规模恐慌?
还有其他事情是不允许的,但我主要担心的是,除非我可以阻止字符串被执行,否则我为特定方法设置的任何其他过滤器都可以被规避。可行,还是我必须求助于要求作者提供 Web 服务接口?
php - 为安全编码 PHP 标签?
Kohana和Codeigniter都有encode_php_tags()
. 我了解 XSS 清理(用于 Javascript),但是您何时以及为什么要使用encode_php_tags()
?安全威胁是什么?
xmlhttprequest - 跨站点 XMLHttpRequest - 什么时候?
任何人都可以更密切地遵循规范并且对这些事情通常如何工作有经验的人可以估计跨站点 XMLHttpRequest何时会成为推荐并开始得到浏览器的支持?
javascript - javascript字符串是否需要“转义”字符“<”和“>”?
有时,服务器端会生成嵌入到内联 JavaScript 代码中的字符串。例如,如果“用户名”应该由 ASP.NET 生成。然后看起来像。
这是不安全的,因为用户可以拥有他/她的名字
</script><script>alert('bug')</script></script>
这是XSS漏洞。
所以,基本上,代码应该是:
JavascriptEncode所做的是在“/”和“'”和“””之前添加字符“\”。因此,输出html就像.var username = "</script>alert(\'bug\')</script ></脚本>";
浏览器不会将“ </script> ”解释为脚本块的结尾。所以,XSS 在避免。
但是,那里仍然有“<”和“>”。建议也转义这两个字符。首先,我不认为将“<”更改为“<”是一个好主意 和 ">" 到 ">" 这里。而且,我不确定将“<”更改为“\<”和将“>”更改为“\>”是否可以被所有浏览器识别。似乎没有必要对“<”和“>”进行进一步的编码。
对此有什么建议吗?
谢谢。
php - 不是 XSS 漏洞的 UTF-8 字符
我正在研究编码字符串以防止 XSS 攻击。现在我们想使用白名单方法,白名单之外的任何字符都将被编码。现在,我们正在使用 '(' 并输出 '(' 代替。据我们所知,这将阻止大多数 XSS。
问题是我们有很多国际用户,当整个网站都是日文时,编码就成了主要的带宽消耗。是否可以肯定地说基本 ASCII 集之外的任何字符都不是漏洞并且它们不需要编码,或者 ASCII 集之外的字符是否仍需要编码?
javascript - 自己的域之间的 AJAX 跨站点脚本
如果在没有代理黑客、JSONP、Flash 或浏览器安全更改的情况下允许两个自己的域之间的 AJAX?也许是 SSL 之类的?
xss - 防止 XSS 漏洞的措施(就像几天前的 Twitter 一样)
即使是像 Twitter 这样的知名网站也存在 XSS 漏洞,我们应该怎么做才能防止这种攻击呢?
java - 如何使用 Struts 防止 XSS 漏洞
我们需要在我们的 Struts 应用程序中添加反 XSS 支持。最具体地说,架构师要求所有用户输入必须在存储到数据库之前“清理”。由于我不想重新发明方轮,我可以为此使用哪个 Java 库?放在哪里?理想情况下,它应该是可配置的(要检查哪些输入字段,而不是请求中的所有字段)并且速度很快。我的第一个想法是 Struts Validator。
在此先感谢 Lluis