Токены из заголовков XHTTP сохраняются открытым текстом в profiles.json
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Idoneità per principianti
- 35/100
Direzione di ricerca
Read XhttpExtraValidator.cs:77–96 and UriParsers.cs:22–25 to trace how XHTTP headers enter Profile.Options[Keys.XhttpExtra], then inspect ProfileStore.Subscriptions.cs:69–84 for SourceOptions copying. Map the ISecretStore and config generation or export paths, including migration of existing Options and SourceOptions. Done means imported transport credentials are absent from profiles.json and are available through ISecretStore when generating configs or explicitly exporting.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Приоритет P0 · milestone 0.4.1
Заголовки транспорта XHTTP могут содержать bearer-токен или cookie. При импорте они попадают в обычные параметры профиля и оказываются вне ISecretStore.
Воспроизведение
- Импортировать синтетическую ссылку
vless://[email protected]:443?type=xhttp&extra=%7B%22headers%22%3A%7B%22Authorization%22%3A%22Bearer%20audit-synthetic%22%7D%7D. - Сохранить профиль в изолированном каталоге.
- Открыть profiles.json и найти
audit-synthetic. При импорте подписки значение сохраняется также в исходных параметрах для обновления.
Причина и доказательство: XhttpExtraValidator.cs:77–96 принимает строковые headers. StreamOptions.Apply в UriParsers.cs:22–25 сохраняет весь JSON в Profile.Options[Keys.XhttpExtra]. Хранилище сериализует Options, а ProfileStore.Subscriptions.cs:69–84 копирует их в SourceOptions. Xray использует эти заголовки для транспорта. Соединение для проверки не требуется.
Ожидаемо: транспортные учётные данные доступны через ISecretStore и отсутствуют в открытом документе профилей.
Направление исправления: вынести секретные заголовки или весь extra в секретное хранилище, мигрировать старые Options и SourceOptions и собирать параметры при генерации конфига или явном экспорте.
Связано: #261.
Аудит ffa65648867139f9e45c15f4b635a83c1ff52c1b.
- Lingua principale
- C#
- Stelle
- 5
- Fork
- 1
- Merge medio
- 23m
- PR unite (30g)
- 144
Preparare l'ambiente
Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di endercodezz/BYDLO
-
bug github_actions
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
endercodezz/BYDLO#336 ·
I maintainer di solito rispondono entro 1 giorno
-
bug network
Difficoltà 4/5 3-5 giorni Idoneità per principianti 63/100
endercodezz/BYDLO#343 ·
I maintainer di solito rispondono entro 1 giorno
-
bug network
Difficoltà 4/5 3-5 giorni Idoneità per principianti 55/100
endercodezz/BYDLO#342 ·
I maintainer di solito rispondono entro 1 giorno
-
bug
Difficoltà 4/5 3-5 giorni Idoneità per principianti 53/100
endercodezz/BYDLO#341 ·
I maintainer di solito rispondono entro 1 giorno
-
bug network
Difficoltà 4/5 3-5 giorni Idoneità per principianti 56/100
endercodezz/BYDLO#340 ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di endercodezz/BYDLO
Issue simili
-
needs-area-label
Difficoltà 2/5 1-3 ore Idoneità per principianti 66/100
I maintainer di solito rispondono entro 2 giorni
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 63/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
SubtitleEdit/subtitleedit#16638 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 85/100
sebastienros/jint#4449 ·
I maintainer di solito rispondono entro 1 giorno