RDot

RDot (https://rdot.org/forum/index.php)
-   Релизы/Releases (https://rdot.org/forum/forumdisplay.php?f=11)
-   -   [Firefox] убираем кодирование кавычек в URL | Firefox URL quote encoding patch (https://rdot.org/forum/showthread.php?t=2875)

sha256 20.01.2015 23:12

Nothing has been found. Either you've specified the wrong FF version or it's not
a XUL file at all. #FF = 35. OS = win8.1

SynQ 21.01.2015 10:37

В FF35 изменили кодирование квадратных скобок.
Сейчас уже вернули обратно - в FF36 все будет по-старому и патч заработает снова.
https://bugzilla.mozilla.org/show_bug.cgi?id=1121826

nobody 15.09.2015 17:36

UPD 24/09/2015: В последнем стабильном фф 41.0-1 опять поменяли escapeChars[], кстати, теперь по дефолту одинарная кавычка не енкодится. Меня откровенно задолбало то что они там меняют, поэтому вот. Проверял - работает и в старых, и в новых версиях libxul, и в firefox и в iceweasel. И по идее, работать будет всегда. Аттачи удаляю, за ненадобностью.


В Firefox >= 40.0.? патчи работать не будут. Мой (8 пост) вообще, а патч SynQ (1 пост) не пофиксит одинарную кавычку, но двойную и обратную кавычку может. Связано это с очередным изменением в EscapeChars[] (mozilla-release/xpcom/io/nsEscape.cpp)

Код:

% tar -xJf ./firefox-40.0.3-1-x86_64.pkg.tar.xz usr/lib/firefox/libxul.so --strip-components=3
% ls
firefox-40.0.3-1-x86_64.pkg.tar.xz  libxul.so  make_ff_sexy.c  xul.py
% ./xul.py ./libxul.so single_quote
Found magic sequence at offset 51510624
Error at sequence patching
% python2.7 -c 'print hex(51510624-0x10)'
0x311fd50
% xxd -seek 0x311fd50 ./libxul.so|head -1
0311fd50: ff03 0000 0000 0000 ff03 0000 7000 0000  ............p...

Патч для патча ( :) )SynQ:
Код:

--- ./xul.py.orig      2015-09-15 17:27:21.498302251 +0000
+++ xul.py      2015-09-15 17:27:21.498302251 +0000
@@ -17,5 +17,5 @@
    if byte == enc:
-        f.write(no_enc)
+        f.write(no_enc[0])
        print 'This quote have been sent encoded (original behavior), now changed to have no encoding'
-    elif byte == no_enc:
+    elif byte in no_enc:
        print 'This quote have been sent unencoded (patched behavior), reverted it back to original behavior'
@@ -28,3 +28,3 @@
 enc = '\x00\x00\x00\x00'
-no_enc = '\xFF\x03\x00\x00'
+no_enc = ['\xFF\x03\x00\x00', '\x70\x00\x00\x00']
 single_quote = -1 * 4

Патч для моего патча:
Код:

--- ./make_ff_sexy.c.orig      2015-09-15 17:31:21.791624535 +0000
+++ make_ff_sexy.c      2015-09-15 17:31:33.671623988 +0000
@@ -5,2 +5,4 @@
  *  10.0    Windows XP 32 bit $compiled by Tiny C Compiler
+ *
+ *  UPD 02/09/15: Firefox 40.0.3-1 changed libxul sequence
  * 
@@ -20,3 +22,4 @@
 
-unsigned char sequence[] = "\xff\x03\x00\x00\x00\x00\x00\x00\xff\x03\x00\x00\x00\x00\x00\x00";
+unsigned char sequence[] = "\xff\x03\x00\x00\x00\x00\x00\x00\xff\x03\x00\x00\x70\x00\x00\x00";
+//unsigned char sequence[] = "\xff\x03\x00\x00\x00\x00\x00\x00\xff\x03\x00\x00\x00\x00\x00\x00"; //old one (firefox <= 40)
 //unsigned char psequence[] = "\xff\x03\x00\x00\x00\x00\x00\x00\xff\x03\x00\x00\xff\x03\x00\x00";

P.S. я знаю что все леньтяи, так что всё готовое в аттачах.

FIXER 08.07.2016 11:22

SOP bypass под Firefox. Та самая штука, которая позволяет злоумышленнику, например, похищать информацию с других вкладок браузера. Или выполнять действия от имени пользователя.

http://blog.bentkowski.info/2016/07/firefox-same-origin-policy-bypass-cve.html


Часовой пояс GMT +3, время: 05:48.

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