---
# System prepended metadata

title: Baby Eval
tags: [web, vsCTF2022]

---

###### tags: `vsCTF2022` `web`
# Baby Eval

## Code
![](https://i.imgur.com/qYeZubB.png)


## Solution

可以传payload参数，并且有${eval(payload)}.

但是不能用传统执行命令的方式
```
require("child_process").exec("sleep 3");
```
> [nodejs中代码执行绕过的一些技巧](https://www.anquanke.com/post/id/237032#h3-2)


过滤了非常多的字符。

考虑调用directory函数来打印flag参数。

但是不能用directory('flag')来传递flag参数。

最后google到，可以用
directory\`flag\`
的方式传递flag参数给directory函数。

![](https://i.imgur.com/rB8sAPb.png)

