我正试图在我正在测试的网站上反映跨站点脚本的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
如果你对错误日志做了一些事情或做了其他事情。Catch也可以用于执行代码,但这不是一个好的做法。如果您愿意,您可以对错误做任何事情,这就是为什么要使用finally。
最后,当执行一段代码很重要时,无论是否抛出错误,都要使用。例如,在c++或其他语言中,当你在finally内处理文件时,文件被关闭(你不能让它打开)。