0

在 NodeJS (12.10.0) 上,如果我尝试eval一些 JSFuck,则会收到错误消息:

const test = '(![]+[])[(((+!+([])))+[])]+([]+[][(![]+[])[((((!+([])+!(![])+(!![]))))+[])]+(+{}+[]+[]+{})[(((((((!+([])+!(![])+!(![])+!+([])))))))+[])]+(+{}+[]+!![]+[])[(((((((((!+[])+!(+[])+!!!(![])+!!!![])))))))+[])]+(!![]+[])[((((((+(![]))))))+[])]][([]+{})[(((((+!!!(![])))))+[])+(!(+[])+(!+[])+[])]+([]+{})[(((((((+!!([])))))))+[])]+([][[]]+[])[(((!+[]+!!!!([])+!+[]+!!([])+(!![])+!+([])))+[])]+(![]+[])[((((!+([])+!(![])+(!![]))))+[])]+([]+{})[(((((((+!!!(![])))))))+[])+(((((!+[])+!!!!([])+!!([]))))+[])]+(+{}+[]+!![]+[])[(((((((((!+[])+!(+[])+!!!(![])+!!!![])))))))+[])]+([][[]]+[])[(((((((+![]))))))+[])]+([]+{})[(((((+!!!(![])))))+[])+(!(+[])+(!+[])+[])]+(+{}+[]+!![]+[])[(((((!(+[])+!+[]+!+[]))))+[])]+(+{}+[]+[]+{})[(((((((!+([])+!(![])+!(![])+!+([])))))))+[])]+(+{}+[]+!![]+[])[(((((((((!+[])+!(+[])+!!!(![])+!!!![])))))))+[])]]((+{}+[]+!![]+[])[(((((((((!+[])+!(+[])+!!!(![])+!!!![])))))))+[])]+([]+{})[(+!(![])+[])+((((+!!!![])))+[])]+([]+{})[((((!(+[])+!+([])+!+([])+(!!!![])+!!!!([])+!+([]))))+[])]+([][[]]+[])[(((((((+![]))))))+[])]+(!![]+[])[(((+!(+[])))+[])]+(+((+!!(!![])+[])+(![]+[])[(!+([])+!(![])+(!+[])+!!!!([])+[])]+(((+(!+[])))+[])+(((((((+!!![])+(+!!![]))))))+[])+((((((+([]))))))+[])+(((+!!!([])))+[]))+[])[((((+(!+[]))))+[])]+([]+{})[((((((((!(+[])+!+([])+!(!!![])+!+[]+!!!!([])+!(+[])+(!+[]))))))))+[])]+(![]+[])[(((((((((!+[])+!(!!![]))))))))+[])]+([]+{})[(((((((+!!([])))))))+[])]+([]+{})[(((((+!!!(![])))))+[])+(!(+[])+(!+[])+[])]+(+{}+[])[((((((+!(!!![]))))))+[])]+(+{}+[]+!![]+[])[(((((!(+[])+!+[]+!+[]))))+[])]+(+((+!!(!![])+[])+(![]+[])[(!+([])+!(![])+(!+[])+!!!!([])+[])]+(((+(!+[])))+[])+(((((((+!!![])+(+!!![]))))))+[])+((((((+([]))))))+[])+(((+!!!([])))+[]))+[])[(!+[]+(!![])+!(![])+[])]+(+{}+[]+[]+{})[(((((((!+([])+!(![])+!(![])+!+([])))))))+[])]+([][[]]+[])[(((!+[]+!!!!([])+!+[]+!!([])+(!![])+!+([])))+[])])())[((((!(+[])+!!!!([])+!!(!![]))))+[])]+(+{}+[])[((((+(![]))))+[])]+(((((!+[])+!(!!![])+!+([]))))+[])';
eval(test); //ReferenceError: location is not defined

但是在 chrome 72 上,如果我在控制台中做同样的事情,我会得到apN3.

4

2 回答 2

1

否(至少对您的问题而言不是很重要)。

浏览器提供了一个全局location对象对象。

Node.js 没有(因为它不是面向 HTML 文档的)。

于 2020-04-12T09:19:45.227 回答
1

The code simplifies to

"a"+(""+[]["sort"]["constructor"]("return location")())["3"]+"N3"

which does not work if there is no global location defined.

于 2020-04-14T14:45:20.293 回答