JavaScript——是否有可能在出现错误后强制执行代码



我正试图在我正在测试的网站上反映跨站点脚本的PoC。我在Javascript代码中找到了一个可以注入命令的地方,但是麻烦的是,前面的代码块抛出了一个"未定义"错误,因此(至少我认为是这样)我注入的代码没有执行。无论如何,是否有机会执行代码?

代码如下:

UndefinedObject.Init({
  Var1:"a",
  Var2:"b",
  Var3:"can_be_injected_with_JS_code")}

我不能注入任何HTML标签,因为它们被应用程序过滤了。

多谢!

在try catch块下换行。

在执行序列中,如果代码失败,则不执行其余部分。Javascript错误("异常")可以使用try…Catch(如果你能注入这个,也试试Catch)

如果有不同的流(通过另一个事件),代码将继续。

您可以尝试使用try-catch,或者如果这不起作用,请尝试使用window.onerror

一般来说,正确的方法是使用try-catch-finallytry-finally:

如果你对错误日志做了一些事情或做了其他事情。Catch也可以用于执行代码,但这不是一个好的做法。如果您愿意,您可以对错误做任何事情,这就是为什么要使用finally

最后,当执行一段代码很重要时,无论是否抛出错误,都要使用。例如,在c++或其他语言中,当你在finally内处理文件时,文件被关闭(你不能让它打开)。

相关内容

最新更新