作为构建过程的一部分,我们有一些基本的shell脚本来扫描我们的Freemarker模板以获取非转义输出,这可能是一个跨站点脚本漏洞。我想把它转换成一个合适的Maven插件。
shell函数如下所示:
check_unescaped () {
if (find src -name '*.ftl' |grep -v '\.js\.ftl$' |xargs grep -lP '\${(?![^}]*\?(x?html|date|time(\?lower_case)?)\})' |xargs grep -L '<#escape' |grep -v '/test/'); then
echo "Freemarker output found without template-wide escaping!"
exit 1
fi
}
有没有人遇到过这样的工具,或者我应该继续编写它?