ctf題庫--這是什麼鬼東西

<題目>
what a fuck!這是什麼鬼東西?
解題鏈接: http://ctf5.shiyanbar.com/DUTCTF/1.html
<過程>

  1. 打開鏈接,彈出的是一堆符號,沒有任何提示信息,看起來似乎毫無頭緒。
    在這裏插入圖片描述
  2. 這些看起來像是亂碼的東西仔細看似乎又像是一種複雜的算術運算亦或是邏輯運算。那麼說這一堆“公式”一定會有一個值的。
  3. 複製了其中一段文字到搜索引擎,搜到的信息不多,但偶然看到了可能是一種js代碼,於是決定測試一下。
  4. f12啓動chrome開發者窗口,將代碼複製到控制檯運行一下,出乎意料的竟然彈出了一句話。
    在這裏插入圖片描述
  5. 將文字複製到答題框裏,通過了題目。

ps:雖然成功解決了問題但還是存有一些疑問,例如這些“純標點符號”是怎麼算出這個值的?爲什麼這些標點符號可以執行?之類的。

於是抱着這個疑問又深入地搜索了更多信息,最後終於知道了其中的原理。

這種“奇葩”的寫法在網絡上被稱作JSFuck,這時才意識到原來題目的那句英文不只是單純的發泄,還是一個重要的提示呀。不過若對此方面沒有了解確實根本想不到,甚至許多曾使用過js編程的朋友都不曾聽說過這種事情。

JSFuck的原理是利用了邏輯運算、算術運算以及js靈活而強大的類型轉換;例如’true’可以表示爲[!![]]+[],是因爲[!![]]將其變爲bool型true,又+[]將bool型true轉換爲了字符串‘true’。

個人感覺JS在編碼方面真的是搞出了新花樣,對這種寫法感覺很新奇也非常地感興趣。具體可以去www.jsfuck.com做更加深入的瞭解。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章