Logger password with css selector

Using background-image to log user password

Skye
Feb 24, 2021

如果我們在 css 撰寫以下這些語法,會在 input[type=password] 的 value 被變更的時觸發資源請求

https://github.com/M-Izadmehr/security-playground-server/blob/master/public/keyloggerStyles.css

這裡的 value 並不是 dom 的 value,而是 dom 的 attribute

input[type=password] 在一般的存取時都是採取 dom value 的方式,所以觸發這個漏洞的機會並不高

但是有框架/函式庫…etc,或是自己土法煉鋼採用 access attribute value 的方式就會遇到這不安全的行為

雖然這會成為一個安全性漏洞,但是不用太過於擔心,因為實現一個完整的側錄,須解決以下問題
- background-image 如果不重新賦予的話,只會在第一次觸發請求,之後輸入同樣的字元只是將套用到的css改回而已,不會在二度觸發請求
- 非字元的控制符無法被側錄到(e.g. Enter/Backspace…etc)

下面例子中三個 Password 用了三種變更 value 的方式,第三種是強制使用變更 attribute value 的方式,所以才會觸發請求

須配合 Dev tools > Network 來測試

--

--