1

qtwebkit を使用して DOM-XSS スキャナーを構築しています。デフォルトでは、qtwebkit は URL のクエリ部分を自動的にエンコード/エスケープします。Javascript はエンコードされた URL を取得します。

たとえば、その URL にアクセスすると、

http://test.com/?param=値<b>値</b>&a=b

location.hrefには値が含まれます

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

DOM-XSS の脆弱性を検出する上で、これは私にとって大きな問題です。なぜなら、ブラウザーがエンコードを行ったのか、それとも Web ページがエンコードを行ったのかわからないからです。この機能を無効にしようとしていますが、qtwebkit のソース コードがわかりません。

ソースコードを変更して再コンパイルできるように、コード内の正確な場所 (どのファイル) で URL エンコードが行われるかを教えてくれる人はいますか?

ソース コードを 3 日間閲覧しましたが、何も進展しませんでした。

よろしくお願いいたします。

4

2 に答える 2

0

QURL.setEncodedUrl(const QByteArray & encodedUrl) で解決できます

経由.. http://doc.qt.io/qt-4.8/qurl.html#setEncodedUrl

于 2016-11-24T09:26:39.853 に答える