Отключить кодировку URL строки запроса в qtkwebit

Я использую qtwebkit для создания сканера DOM-XSS. По умолчанию qtwebkit автоматически кодирует/экранирует часть запроса URL-адреса. Javascript получает закодированный URL.

Например, когда вы посещаете URL

http://test.com/?param=value‹b›value‹/b›&a=b

location.href будет содержать значение

http://test.com/?param=value%3Cb%3Evalue%3C/b%3E&a=b

Для меня это большая проблема при обнаружении уязвимостей DOM-XSS, потому что я не знаю, сделал ли это браузер или веб-страница. Я пытаюсь отключить эту функцию, но я потерялся в исходном коде qtwebkit.

Кто-нибудь может мне помочь, сказав, где именно в коде (в каком файле) происходит кодирование URL, чтобы я мог изменить исходный код и перекомпилировать его?

Я просматривал исходный код уже 3 дня и не добился никакого прогресса.

Заранее большое спасибо за любую помощь.


person Popescu Nicolae    schedule 26.10.2013    source источник


Ответы (2)


Я также столкнулся с вашей проблемой на Qt5, но у Qt4 этой проблемы нет. Я изменил исходный код Qt "qurlrecode.cpp" статической функции recode. Это решило мою проблему, но я думаю, что лучше всего изменить исходный код webkit на KURL, но мне не удалось успешно собрать webkit на моей машине, потратив целый день.

person user1162579    schedule 21.03.2014

QURL.setEncodedUrl(const QByteArray & encodedUrl) может решить эту проблему

через..http://doc.qt.io/qt-4.8/qurl.html#setEncodedUrl

person fobnn    schedule 24.11.2016
comment
С примером и объяснением этот ответ может быть отличным - person Garf365; 24.11.2016