- CTF實戰:技術、解題與進階
- ChaMd5安全團隊
- 368字
- 2023-08-28 18:13:21
1.2.4 XSS CTF例題
我們以CISCN2019-華東北賽區-Web2題目為例,本題的考點為XSS和SQL注入,我們重點來看XSS的部分,題目如圖1-78所示。

圖1-78 題目首頁
打開題目環境是一個博客,我們能夠注冊普通賬戶并投稿,投稿需要通過管理員的審核。一個很經典的XSS漏洞場景是,我們在文章中構造XSS Payload,獲取管理員的cookie,然后通過cookie獲取管理員權限。我們隨意提交數據并測試,結果如圖1-79所示。

圖1-79 隨意提交數據
在文章頁面還設置了CSP,如圖1-80所示。

圖1-80 CSP策略
CSP策略代碼如下。

策略允許執行內聯JavaScript代碼,例如內聯script元素,但不允許加載外部資源,可以使用eval()函數。要獲得cookie,就必須繞過CSP不允許加載外部資源這個限制。在CSP策略允許unsafe-inline的情況下,我們可以通過跳轉來繞過限制,代碼如下。

這樣管理員訪問時就會把cookie回帶到我們用于接收數據的服務器http://dataserver上。
這題還將(、)、'等符號替換為中文符號,我們可以通過svg標簽加HTML Markup去編碼繞過,最終Payload如下。

推薦閱讀
- 白話網絡安全2:網安戰略篇
- 網絡空間安全:管理者讀物
- 工業控制網絡安全技術
- 數據安全與隱私計算(第3版)
- 零信任網絡:在不可信網絡中構建安全系統(第2版)
- 局域網交換機安全
- Digital Forensics with Kali Linux
- 解密數據恢復
- 數據保護:工作負載的可恢復性
- 持續集成:軟件質量改進和風險降低之道
- Kali Linux無線網絡滲透測試詳解
- Web安全之機器學習入門
- 網絡安全應急響應基礎理論及關鍵技術
- Hands-On Spring Security 5 for Reactive Applications
- Learning Metasploit Exploitation and Development