我試圖運行jint下面的代碼:Jint + JSfuck - 「指數數組的邊界之外」
Jint.Engine engine = new Jint.Engine();
var result = engine.SetValue("data", data).Execute("(/\\n(.+)/.exec(eval(data.replace(/\\s+/, \"\").slice(0, -2)))[1]);").GetCompletionValue();
其中,轉義時,正在執行以下的javascript:
(/\n(.+)/.exec(eval(data.replace(/\s+/, "").slice(0, -2)))[1]);
的data
變量相當於一個字符串JSfuck,與此類似:https://pastebin.com/vmGAebW5
的問題是,我總是一個人指數是一個超出界限rray'異常,即使JavaScript在瀏覽器中運行也能正常工作。任何想法是什麼導致這個問題?
去混淆版本是否工作? – Ryan
我強烈建議你改變你的字符串聲明,使其具有@ infront,特別是對於這種大小的轉義字符。它使你的字符串不可讀...例如:'.Execute(@「your-escaped-string-here」);' – Svek
@Ryan我無法訪問去混淆版本,但我認爲它必須如下工具可以反混淆它:https://enkhee-osiris.github.io/Decoder-JSFuck/ – user2950509