Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add header order configurabillity #46

Open
wants to merge 39 commits into
base: main
Choose a base branch
from

Conversation

BRUHItsABunny
Copy link

This PR adds the ability to order the headers in a specific way to emulate other HTTP clients, eg browsers.

While header order is not strictly covered in the HTTP spec, it's widely known that each HTTP client tends to send headers in a slightly different order. This allows you to fingerprint and filter traffic by the order of the header present in a HTTP request.

Some more sources on the situation at hand:
https://www.os3.nl/_media/2014-2015/courses/rp2/p91_report.pdf
https://my.f5.com/manage/s/article/K13527565
https://sansec.io/research/http-header-order-is-important

This may be out of scope for OONI's oohttp project, if that's the case I will most likely end up maintaining this in a separate
fork.

@bassosimone
Copy link
Contributor

bassosimone commented Sep 19, 2023

This is not necessarily out of scope for us, as it's something we wanted to do per ooni/probe#2160. I may be slow to review these changes though, since my Sprint Planning is quite packed 😅.

@BRUHItsABunny
Copy link
Author

Nice, it would be great to see this in oohttp at some point then.
Take your time, for my use case i can just stick to my go.mod replace for now.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants