Új hozzászólás Aktív témák
-
Taci
addikt
Eljutottam oda, hogy az XSS elleni védelemmel is foglalkozni tudjak. Mivel egyelőre csak 1 user inputos rész van a weblapon, ez pedig a kereső, a kliens oldali része miatt a Javascript-topikba írtam.
Viszont aztán beugrott, hogy mivel RSS-csatornák tartalmával dolgozom, kvázi azok is külső források, amikből származó tartalmat ugyanúgy fenntartásokkal kell kezelnem. Hiszen ha a külső forrást támadják, és mondjuk átírják kártékony kóddal az RSS tartalmát, akkor ha ellenőrzés nélkül tárolom és használom az onnan származó adatokat, akkor azzal én is "fertőződöm".
Ennek szeretnék így hát elébe menni.
Ezeket az adatot szúrom be (jelen pillanatban ellenőrzés nélkül) a HTML kódba, ami ezekből a külső RSS forrásokból származik:
- cikkhez tartozó link
- képhez tartozó link
- cikk címe, leírásaItt ugye pl. az <img> tagnél lehet máris probléma, amit egyből reprodukálni is tudtam, mert ha az
<img src="után egy eltérített "link" kerül be (pl.:http://url.to.file.which/not.exist" onerror="alert('Hacked!')"), akkor máris bajban vagyok.
És ez ugyanúgy igaz lehet millió másik tagre, képnél, szövegnél, az összes ponton, ahova csak beszúrom ezeket a tartalmakat a HTML kódban.Van esetleg bevált megoldásotok ennek a problémának a kezelésére?
Így első keresésre ezt találtam: Sanitize filtersOlyasmi (talán-)megoldást tudok saját kútfőből, hogy csinálok egy funkciót, ahol az érintett adatokat átszűröm, és kiszedem belőle az összes lehetséges HTML tag-et és event-et. Ez egy hosszú lista lesz, viszont mivel egyik adatban (cikkhez tartozó link, képhez tartozó link, cikk címe, cikk leírása) sem szerepelhet ilyen (illetve leírásban már találtam, de az már ki van szedve), ezért ez talán egy jó módszer lehet.
Aztán olyanra is gondoltam, hogy ha az előbbi ("Hacked") példát nézem, hogy ott (<img src-nál) arra játszanak, hogy maguk rakják a záró idézőjelet (" vagy ' is lehet, gondolom), és utána a saját kódjukat hívják valamilyen event mögé pakolva. Így ha találok egy (elvileg csak) linkben " vagy ' karaktert, akkor azzal kezdődően levágom, és kész.
De ezek ilyen első gondolatos megoldási kísérletek. Ha van esetleg bevált megoldás rá, akkor nem pazarolnám erre az időt.
Köszönöm.
Új hozzászólás Aktív témák
- Okos otthon - Home Assistant, openHAB és más nyílt rendszerek
- Saját memóriaszabvánnyal küzd a memóriahiány ellen az ASRock
- Otthoni hálózat és internet megosztás
- Napelem
- exHWSW - Értünk mindenhez IS
- ThinkPad (NEM IdeaPad)
- BestBuy topik
- Azonnali VGA-s kérdések órája
- Eredeti játékok OFF topik
- Milyen légkondit a lakásba?
- További aktív témák...
- AMD Ryzen 5 1600X AM4
- Eladó Apple iPad (2020) 2. generáció Cellular + WiFi 512 GB
- iPhone 16 128GB gyári független hibátlan 2028.10.20. Apple jótállás
- iPhone 17 256GB gyári független hibátlan 2029.02.13. Apple jótállás
- Ryzen 7 7800X3D +ASRock X870 PRO RS WIFI +32GB 6000MHz DDR5 kit! GAR/SZÁMLA (a Te nevedre kiállítva)
- ÁRGARANCIA!Épített KomPhone Ryzen 7 7700X 32/64GB RAM RX 9070 16GB GAMER PC termékbeszámítással
- ÁRGARANCIA!Épített KomPhone Ryzen 7 5700X 32/64GB RAM RTX 5070 12GB GAMER PC termékbeszámítással
- 27% - ÚJ - Captiva 16" Notebook! Ryzen 9955HX / RTX 5090 / 64GB DDR5 / 2TB NVMe! BeszámítOK
- GYÖNYÖRŰ iPhone 13 mini 128GB Midnight -1 ÉV GARANCIA - Kártyafüggetlen, MS3060
- Apple iPad Pro 12,9 (3. generáció) 64GB Wi-Fi + Cellular használt, karcmentes
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
