我正在开发一个社交网站,并希望只允许用户在帖子中使用这些html标签和属性:
tags: <img>,<b>, <strong>, <blockquote>, <a>
attribs: 'src', 'alt', 'width', 'height', 'href','class'
任何其他标记将在渲染的html中过滤掉。 我想知道这个有限的集合也可以打开某些XXS或其他漏洞的大门吗?
答案 0 :(得分:3)
是的,如果您允许这些标记和属性,您将容易受到XSS攻击,例如:
<a href="javascript: code that sends users login cookie to hacker">click me!</a>
在请求(用户提交潜在XSS)中,使用真正的 HTML解析器(如JSoup)验证您的HTML白名单。
在响应(显示潜在XSS的位置)中,使用库编码用户输入。见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无关