我使用Markdown.js并使用sanitize-html进行xss攻击。
我阅读了大多数关于xss攻击的文章(如果想使用markdown.js),例如markdown securely和另外一篇markdown-xss-testing。
请查看我的代码,这是否足够(对于xss攻击)。
这是我的server.js
:
var comment=req.body.comment;
var z=markdown.toHTML(comment);
var clean = sanitizeHtml(z, {
allowedTags: ['b', 'i', 'em', 'strong', 'a','h1','img','blockquote'],
allowedAttributes: {'a': [ 'href' ],'img':['src']},
allowedIframeHostnames: []
})
console.log(clean)
我为xss攻击尝试了一些代码(值为req.body.comment),如下所示:
[Example](javascript://\nalert%28%22xss%22%29)//req.body.comment
{@onclick=alert('hi')}some paragraph //req.body.comment
[test](javascript://%0d%0aprompt(1)) //req.body.comment
这里输出console.log(clean):
<a>Example</a>
{@onclick=alert('hi')}some paragraph //not clickable
<a>test</a>
我尝试了很多其他代码并且始终避免攻击。