
إضافة Burp Suite تعترض الطلبات وترسلها عبر HTTP/3، مع تحويل الاستجابات مرة أخرى إلى Burp، مع دعم الطلبات المعالجة (kettled requests) وفحوصات قدرات HTTP/3.
إضافة لـ Burp Suite ترسل الطلبات عبر HTTP/3.
لا يدعم Burp بروتوكول HTTP/3 بشكل أصلي. تُنفّذ هذه الإضافة حزمة HTTP/3، وتعترض جميع الطلبات، وتحوّلها وترسلها عبر HTTP/3 ثم تحوّل الاستجابة مرة أخرى إلى إصدار HTTP يمكن لـ Burp فهمه.
متاحة في متجر BAPP.
ابنِها بنفسك:
./gradlew jar # -> build/libs/HTTP3-Adapter-0.0.1.jar
في وضع Explicit HTTP/3 only أضف ترويسة X-Http3:
GET /admin HTTP/1.1
Host: example.com
X-Http3: 1
في وضع Always HTTP/3 where possible، سيتم تكييف أي حركة مرور إذا كان التطبيق يدعم HTTP/3
إذا أردت معرفة ما إذا كانت عدة مضيفات في سجل الوكيل الخاص بك تدعم HTTP/3، يمكنك تحديدها واستخدام خيار قائمة السياق Check HTTP/3 Support الذي يُبلّغ في organizer.
Settings -> Extensions -> HTTP/3 Adapter
| Setting | Default | Notes |
|---|---|---|
| Mode | Explicit HTTP/3 only | يتبدّل بين الوضعين المذكورين أعلاه |
| Handshake timeout (ms) | 10000 | |
| Request timeout (ms) | 15000 | |
| Reuse connections | on | |
| Log exchanges to Output | off | يكتب كل طلب واستجابة مُكيَّفين إلى لوحة Output. |
| Show unsupported origins tab | off | انظر أدناه. |
Strip Connection, Keep-Alive, Proxy-Connection, Transfer-Encoding, Upgrade | on | يحظر HTTP/3 هذه الترويسات، ألغِ التحديد لإرسالها عن قصد. |
| Verify TLS certificates | off | يطابق سلوك Burp نفسه في المنبع افتراضيًا. |
سيُظهر لك هذا التبويب المضيفات التي فشلت في مصافحة HTTP/3 QUIC. يمكنك مسح هذه القائمة لإعادة المحاولة إذا كان اتصالك غير مستقر. التبويب مخفي افتراضيًا، لكن يمكن تمكينه في لوحة الإعدادات.
كما في HTTP/2، يمكن تقييد الطلبات.
أضف ترويسة X-Kettled: 1 إلى جانب ترويسة X-Http3: 1 وسيُرسَل كتلة الترويسات تمامًا كما كُتبت. تحتفظ الأسماء بحالة أحرفها، ولا يُجرَّد أي شيء، ولا يُطوى Host في :authority، وتُفكّ هذه الترميزات أولًا:
| Escape | Byte |
|---|---|
^~ | CR LF |
^r | CR |
^n | LF |
^0 | NULL |
^s | space |
^xNN | any byte, two hex digits |
^^ | a literal ^ |
POST /x HTTP/1.1
X-Http3: 1
X-Kettled: 1
:method: BREW
content-length: 10
foo: bar^~transfer-encoding:^schunked
0
hello