Hej!
Jag hittade en sida på nätet som la sig själv som
startsida i InternetExplorer, utan att jag blev tillfrågad.
Jag kikade vidare på koden och upptäckte att den
innehöll ett fso-objekt (objekt för filhantering)
som arbetade på klientsidan.
Scriptet kan helt klart undersöka hårddisken
efter befintliga katalogstrukturer och sedan
lägga till genvägar vart som helst på hårddisken.
Är detta på gränsen till vad som Javascript ska
klara av på klientsidan, eller finns det
gigantiska säkerhetsluckor som skulle kunna
haverera windows, endast genom ett besök på en
viss webbsida?
Tilläggas kan att det är skrivet i Javascript och
att jag själv normalt håller på med Vbscript.
Någon som VET om detta är en säkerhetsrisk?
------------------
"Life's a bitch who sucks... then you marry one who doesn't"
JonMedlem sedan juli 20011 304 inlägg Javascript klarar inte av någon filhantering alls... så det ska inte vara nån säkerhetsrisk
Har du någon vettig förklaring på hur den kunde undersöka om en viss katalog fanns och sedan skapa en genväg däri?
Hoppas verkligen att någon kan förklara det här...
------------------
"Life's a bitch who sucks... then you marry one who doesn't"
JonMedlem sedan juli 20011 304 inlägg Är du säker på att det var javascript, och inte VB script? Kan man få se scriptet?
RGBMedlem sedan dec. 1999419 inlägg Andreas L:
Har du någon vettig förklaring på hur den kunde undersöka om en viss katalog fanns och sedan skapa en genväg däri?
Ja, du bör nog se över dina säkerhetsinställningar för Explorer.
------------------
AIDS :
Apple Infected Disk Syndrome
JonMedlem sedan juli 20011 304 inlägg ja... fast jag hävdar å det bestämdaste att javascript inte kan skriva/läsa till klientens hårddisk :)
Jon!
Du har en poäng, för till just undersökningen av hd:n används Jscript, vilket ju ställer saken i ett helt annat läge.
Saken blir dock inte ointressant på något sätt.
RGB.
Rätt attityd! ;)
Vi kan väl bägge vara överrens om att standardinställningarna i internetexplorer inte tillåter att något activeXobjekt körs utan varningsmeddelande?
...men det är precis vad som skett i det här fallet.
Jag skall försöka hitta scriptet igen och får försöka undersöka saken närmre.
------------------
"Life's a bitch who sucks... then you marry one who doesn't"
JojoxxMedlem sedan juni 20004 308 inlägg Jon,
jag hävdar å det bestämdaste att javascript inte kan skriva/läsa till klientens hårddisk
Det är en sanning med modifikation. Du kan göra det med AcitveX-komponent som i detta fall, men skall då få en varning om detta ifall rättigheterna i IE inte blivit modifierade i förväg av användaren, eller via signerade script i Netscape, men återigen kommer det att generera en varning om ditt script inte blivit signerad av något av de godkända ombud som finns angivna i Netscapes inställningar, VeriSign är ett vanligt exempel. Tidigare har det publierats exempel på detta forum för att läsa filer, men av ovan nämda anledningar är det oftast inte speciellt användbart.
------------------
/ J
JonMedlem sedan juli 20011 304 inlägg Men javascript och active-x är helt sklida teknologier och har absolut ingenting med varandra att göra. :)
Det finns MÅNGA sätt att skriva till användarens disk. Jag ville bara förtydliga att javascript inte har något med saken att göra...
spangoMedlem sedan juni 20008 205 inlägg
Men javascript och active-x är helt sklida teknologier och har absolut ingenting med varandra att göra.
Jodå, de kan visst ha med varandra att göra. JScript är anpassat till ActiveX-modellen, vilket gör att man både kan skriva och använda ActiveX-objekt (eller COM-objekt, som jag gillar att säga...) i JScript. Det går alldeles utmärkt att skicka en raket till månen mha JScript om man har rätt dll:er installerade på datorn. Vore så inte fallet skulle inte JScript gå att använda i asp, till exempel. Man kan använda exakt samma objekt på en vanlig html-fil på klienten som man kan använda i ett asp-script på servern om säkerhetsinställningarna är liberala.
------------------
"There's no such thing as a stupid question, only stupid people"
[Redigerat av spango den 09 aug 2001]
JonMedlem sedan juli 20011 304 inlägg Jo, men du måste ju skilja på Javascript som client-side teknik och JScript som axtive-x teknik.
Jag vidhåller envist att Javascrip som är utvecklat an Netscape och körs på klientsidan inte klarar av någon sorts filhantering :D
Vi är ju ärnå i Javascript-forumet, och inte i ASP.
Men du har säkert rätt angående vad man kan göra med JScript. Det ska jag inte argumentera om, för fet kan jag inte tillräckligt mycket om. (microsoft-påhitt, fnys...)
TAcka vet jag Ecma-262
[Redigerat av Jon den 09 aug 2001]
JojoxxMedlem sedan juni 20004 308 inlägg Skulle det kännas bättre med ett Netscape-påhitt?
writeToFile('c:\\jstest.txt','JavaScriptgenererad text');
function writeToFile(filename,str) {
netscape.security.PrivilegeManager.enablePrivilege("UniversalFileWrite")
var fo = new java.io.FileOutputStream(filename)
var p = new java.io.PrintWriter(fo, true)
p.println(str)
p.close()
fo.close()
netscape.security.PrivilegeManager.disablePrivilege("UniversalFileWrite")
}
------------------
/ J
JonMedlem sedan juli 20011 304 inlägg Ok. Hade aldrig sett det där förut, och 3 böcker säger enhälligt att det inte går.
Fick det aldrig att fungera, dock.
Kan det vara så att JAVA är inblandat i det hela?
Snokade runt lite:
Question: How do I write a file from JavaScript?
Answer: Writing a file from JavaScript is just as easy as writing a file from a Java applet. Your script cannot write files itself; it should call a Java applet's public method which will actually do all the dirty file writing work for you.
The bad news is that
Writing is a privileged operation, and therefore your Java applet must be digitally signed in order to write files.
Applet signing for Internet Explorer is completely different from applet signing for Netscape Navigator.
Signed applets may not work properly in Netscape Navigator 3.
What's the worst, it's very insecure to put privileged operations in public methods of signed applets! If you publsh such an applet, a malicious code could easily subvert the applet's public methods, and you (the applet publisher/signer) will be sued for any damage!
Therefore, nobody publishes scripts that write files via signed applets, although in versions 4 of both major browsers it's technically possible
... och så var det. Faktum borde kvarstå: Javascript kan inte skriva till hårddisken. Men det är ju i och för sig inte relevant, då man kan använda det för att anropa JAVA som gör det åt en, Så du vinner i principfrågan och jag i sakfrågan :D
(Är jag jävlig nu?) :e
[Redigerat av Jon den 09 aug 2001]
[Redigerat av Jon den 09 aug 2001]
JojoxxMedlem sedan juni 20004 308 inlägg Ett Java-objekt ja, men likafullt JavaScript-kod som styr det. Precis likadant som du kan använda objekt och moduler i andra program och script-språk. Dessa JavaModuler levereras med Netscape installationen och bör väl då ses som en del av applikationen, plattformen som JavaScriptet körs på.
Men, detta börjar spåra ur i en "hönan eller ägget"-konversation.
------------------
/ J
JonMedlem sedan juli 20011 304 inlägg Ja. du har rätt i det. Finner det ganska intressant att diskutera lite dock. Har ju lärt mig nåt nytt... och det är ju bra.
spangoMedlem sedan juni 20008 205 inlägg
du vinner i principfrågan och jag i sakfrågan
Ska man se det på det viset kan man skriva till filer i Java heller. Eftersom det är en plattformsberoende operation måste jvm:en ha en rutin skriven i t.ex. C för att kunna skriva till filer, och den C-rutinen måste vara inkapslad i en klass. Och sålunda kan i inga språk som är tolkade (eller kompilerade under körtid) alls skriva till filer...
(Är jag jävlig nu?) :e
Japp ;)
------------------
"There's no such thing as a stupid question, only stupid people"