是否可以通过模板注入来利用EJS模板引擎?

时间:2019-03-22 10:00:03

标签: security templates ejs

我正在开发一个使用EJS作为模板引擎的Web应用程序(并同时学习Web sec),我想知道是否可以通过模板注入来利用EJS来实现RCE。

我已经尝试过:http://localhost:3000/ti2?a=console.log(2);

但是查询参数的值在服务器端被解释为字符串,而不是JS代码,因此没有任何反应。

// app.js

app.get("/ti2", function(req, res) {
  const param = req.query.a;
  console.log(typeof param);
  res.render("ti", {
    msg: param
  });
});

// ti.ejs

<% msg %>

如果使用EJS时可以进行SSTI,您可以给我一个PoC吗?

还有,哪些EJS标签(如果有)容易受到EJS中SSTI的攻击?只是<%

0 个答案:

没有答案