29. 如附圖所示是一段 Python 程式碼,你受聘於一個公司進行源碼檢測,需確認程式碼中是否隱藏潛在的惡意行為或漏洞。經分析發現,x() 函數對輸入執行了某種操作,並透過字串反轉進行額外處理。下列何項最正確地描述該程式碼的功能具有潛在風險?
(A) 程式碼使用一種簡單 XOR 加密,有容易被破解的風險
(B) 程式碼包含難以追蹤的邏輯漏洞,可能被用於後門驗證邏輯
(C) 程式碼進行了無法逆向的加密方式,無法直接解密字串 SYP{txf_ofq}
(D) 程式碼邏輯錯誤,t 的結果永遠無法等於 "}afq{noT_SPY"
答案:登入後查看
統計: A(32), B(9), C(9), D(6), E(0) #3536975
統計: A(32), B(9), C(9), D(6), E(0) #3536975
詳解 (共 2 筆)
#6721931

考試導向(要讓學生寫對答案)
-
程式做的事:
-
把使用者輸入的字串每個字元 XOR 0x42。
-
把結果 反轉。
-
拿去跟 "}afq{noT_SPY" 比對。
-
-
核心重點:這就是一種「簡單 XOR 加密」,安全性非常低,容易被破解。
-
因此正確答案是 (A)。
專業補充(避免學生混淆)
-
XOR 在資訊安全裡有用,但必須配合「金鑰」才能算是真加密(例如 One-Time Pad)。
-
這裡固定寫死 0x42,沒有金鑰概念,所以嚴格來說比較接近「混淆」。
-
只是出題老師不會在選項寫「混淆」,所以考試用語是「簡單 XOR 加密」。
-
關鍵區別:
-
編碼 → 方便轉換,規則公開(例如 Base64)。
-
混淆 → 故意變形,但沒有金鑰(這題真正的性質)。
-
加密 → 有金鑰,沒有金鑰就解不出來(AES、RSA)。
-
1
0



