我正在开发一个社交网站,并希望用户在他们的帖子中只允许这些 html 标签和属性:
tags: <img>,<b>, <strong>, <blockquote>, <a>
attribs: 'src', 'alt', 'width', 'height', 'href','class'
任何其他标签都将在呈现的 html 中被过滤掉。 我想知道这个有限的集合是否也可以为某些 XXS 或其他漏洞打开大门?
最佳答案
是的,如果您允许这些标签和属性,您将容易受到 XSS 攻击,例如:
<a href="javascript: code that sends users login cookie to hacker">click me!</a>
在请求(用户提交潜在的 XSS)中,使用真正的 HTML 解析器(如 JSoup)来验证您的 HTML白名单。
在响应(您显示潜在的 XSS)中,使用库对用户输入进行 HTML 编码。参见 https://www.owasp.org/index.php/Category:OWASP_AntiSamy_Project
阅读https://www.owasp.org/index.php/XSS_(Cross_Site_Scripting)_Prevention_Cheat_Sheet
usandfriends 评论不正确,这与 CORS 无关
关于javascript - 这些 html 标签和属性是否会使我的网站容易受到攻击?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32364021/