前陣子剛好玩到不少跟 content type 有關的題目,寫一篇來記錄一下。
前陣子剛好玩到不少跟 content type 有關的題目,寫一篇來記錄一下。
簡單記錄幾個最近碰到的神奇特性,直接講不有趣,先來幾個小挑戰:
這次有兩題 Web 比較難,解掉了一題,另一題解不開但解法超值得一看,照樣簡單寫個心得。
如果你想要在網頁上產生一個新的 window,大概就只有兩個選擇,一個是利用 iframe
、embed
與 object
這些標籤將資源嵌入在同個頁面上,而另一個選擇則是使用 window.open
新開一個視窗。
身為前端開發者,我相信大家對這些都不陌生,可能有用過 iframe
嵌入第三方的網頁,或是嵌入一些 widget,也有用過 window.open
開啟新的視窗,並透過 window.opener
跟原來的視窗溝通。
但站在資安的角度來看,其實 iframe 有不少好玩的東西,無論是現實世界或是在 CTF 內都經常出現,因此我想透過這篇記錄近期學到的一些特性。
Amelia 是一個由 TMS 公司所開發的 WordPress 外掛,能夠輕鬆幫你的 WordPress 網站加上預約系統的功能,例如說診所、理髮廳或是家教等等,都很適合使用這個外掛來架一個簡單的預約系統。根據 WordPress 官方的統計,大約有 40,000 個網站都安裝了這個 plugin。
在三月初的時候我針對 Amelia 這套系統的原始碼做了一些研究,找到了三個都是敏感資訊洩露的漏洞:
CVE-2022-0720
Amelia < 1.0.47 - Customer+ Arbitrary Appointments Update and Sensitive Data Disclosure (CVSS 6.3)CVE-2022-0825
Amelia < 1.0.49 - Customer+ Arbitrary Appointments Status Update (CVSS 6.3)CVE-2022-0837
Amelia < 1.0.48 - Customer+ SMS Service Abuse and Sensitive Data Disclosure (CVSS 5.4)如果被攻擊者利用這些漏洞,可以取得所有消費者的資料,包括姓名、電話以及預約資訊。
底下我會簡單介紹一下 Amelia 的架構以及這三個漏洞的細節。
跟著隊伍 Water Paddler 一起參加了 LINE CTF 2022,在隊友的 carry 之下拿了第七名,這次只有一題有幫上一點忙,其他都被隊友解掉或是卡死。這篇簡單記一下每一題的解法,大部分都參考自 LINE CTF 2022 Writeups by maple3142。
在 JavaScript 的幾個資料型別中,Number 是非常常用的一個,而且有些小地方需要特別注意,不然很容易寫出有 bug 的程式碼。
這篇會帶大家看一些案例,有些是假想的情境,也有些是我自己碰過的問題,在每個案例繼續往下講解之前,大家也可以試著把自己帶入情境,想想看自己知不知道問題的成因,又該如何避免。
上個週末除了有我上一篇心得寫的 SUSCTF 2022 以外,還有另外一個 TSJ CTF,裡面也有很多好題,因為時間不太夠所以我只有挑了自己比較有興趣的題目來看,就是標題說的這題 Nim Notes,最後沒解開(還差得遠呢),但解法十分有趣,因此寫一篇來記錄一下官方解法。
作者(maple3142)的 writeup 在這:https://github.com/maple3142/My-CTF-Challenges/tree/master/TSJ%20CTF%202022/Nim%20Notes
這個假日有不少 CTF,跟著隊伍 SU 一起打了 SUSCTF 2022,這篇簡單記錄一下幾個我有參與的題目的心得。
會講到的題目列表如下:
JavaScript 裡面一共有幾個資料型別?又分別是哪些?
要談型別之前,我們應該要先知道 JavaScript 中一共有幾種型別,並且對每一種型別都有最基本的理解。在文章開始之前,你也可以自己先數數看,再來跟我對答案,看是不是正確的。
由於 JavaScript 是會進化的,這篇的型別會以本文寫作時最新的 ECMAScript 2021 為準,底下如果有提到「spec」,指的都是 ECMAScript 2021 language specification。