JavaScript 只用括号写?

信息安全 javascript xss
2021-08-22 23:44:54

我曾经看到只写成多个括号的 JavaScript 代码()有人记得这种代码吗?还有一个在线转换器可以将“普通”JS 转换成这种风格的代码。我想在演示文稿时展示它,作为最先进的 XSS 的一个例子。或者还有哪些其他真正令人惊讶的 XSS 示例?

2个回答

这是一个有趣的发现!

对于那些刚刚发现...

现在很明显你可以如何用大括号创建字符串,你可以做一些事情,比如window[gibberish](gibberish)评估一些东西。可能不清楚的是,你可以在没有这个词的情况下做到这一点window您只需要一个变量名(如$or _

运行此准备代码

$=~[];$={___:++$,$$$$:(![]+"")[$],__$:++$,$_$_:(![]+"")[$],_$_:++$,$_$$:({}+"")[$],$$_$:($[$]+"")[$],_$$:++$,$$$_:(!""+"")[$],$__:++$,$_$:++$,$$__:({}+"")[$],$$_:++$,$$$:++$,$___:++$,$__$:++$};$.$_=($.$_=$+"")[$.$_$]+($._$=$.$_[$.__$])+($.$$=($.$+"")[$.__$])+((!$)+"")[$._$$]+($.__=$.$_[$.$$_])+($.$=(!""+"")[$.__$])+($._=(!""+"")[$._$_])+$.$_[$.$_$]+$.__+$._$+$.$;$.$$=$.$+(!""+"")[$._$$]+$.__+$._+$.$+$.$$;$.$=($.___)[$.$_][$.$_]

你会有一个功能。

运行这个来调用alert(0)那个函数

$.$($.$($.$$+"\""+$.$_$_+(![]+"")[$._$_]+$.$$$_+"\\"+$.__$+$.$$_+$._$_+$.__+"("+$.___+")"+"\"")())();

来源