簡體   English   中英

JavaScript - 是否可以在出錯后強制執行代碼?

[英]JavaScript - is it possible to force code execution after an error?

我正在嘗試在我現在正在測試的網站上制作反射跨站點腳本的 PoC。 我在 Javascript 代碼中找到了一個可以注入命令的地方,但是問題是前面的代碼塊會引發“未定義”錯誤,因此(至少我認為是這樣)我注入的代碼沒有被執行. 有沒有機會執行代碼?

這是代碼:

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

我無法注入任何 HTML 標簽,因為這些標簽已被應用程序過濾。

非常感謝!

將它們包裹在 try catch 塊下。

在一個執行序列中,如果代碼失敗,剩下的部分將不會被執行。 可以使用try...catch 捕獲Javascript 錯誤(“異常”)(如果您能夠注入此 try - catch 也可以)。

如果有不同的流程(通過另一個事件),代碼將繼續。

您可以嘗試使用 try-catch,或者如果這沒有幫助,請嘗試使用window.onerror

通常正確的做法是使用try-catch-finallytry-finally

如果您對錯誤有所了解 - 記錄或執行其他操作。 Catch 也可用於執行您的代碼,但不是一個好習慣。 如果你願意,你不能對錯誤做任何事情,這就是使用finally的原因。

finally在執行一段代碼很重要時使用,無論是否拋出錯誤。 例如,在 C++ 或其他語言中,當您處理內部文件時,文件最終關閉(您不能將其打開)。 在這里查看一些示例。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM