ARK. B34Parametr monitoringuBezpieczeństwo · lista 50 parametrów

Skrypty z domen wygasłych

ważność wysokazaplanowany

Zewnętrzny script src z domeny, która wygasła. Kto ją odkupi, wstrzykuje dowolny kod na stronę klienta.

Zaplanowany: wymaga zestawienia adresów skryptów z rejestrem domen (RDAP) i własnej kadencji.

ARK. 1

WIKI

artykuł z 16.09.2026 · źródeł 7

Skrypty z domen wygasłych to parametr monitoringu stron internetowych, który zestawia adresy skryptów JavaScript ładowanych z cudzych domen ze stanem rejestracji tych domen. Pomiar kończy się jednym z trzech wyników: wszystkie domeny są zarejestrowane, co najmniej jedna wygasła, jest wolna albo ma świeżą rejestrację, lub stanu nie dało się ustalić. Strona, która dołącza skrypt z zewnętrznego serwera, zwykle nie ma gwarancji, że kod pod tym adresem pozostanie taki, jaki widzieli jej twórcy i testerzy [1].

Jak działa

Bibliotekę można skopiować na własny serwer albo kazać przeglądarce pobierać ją bezpośrednio od dostawcy. W drugim wariancie dostawca ma pełną kontrolę nad kodem, który trafia do użytkownika, i może na przykład podmienić wygląd strony albo przechwycić dane logowania przez modyfikację DOM lub odczyt ciasteczek [2]. Gdy domena dostawcy wygaśnie, a właściciel strony tego nie zauważy, dołączenie staje się „nieaktualne”: ktoś może zarejestrować zwolnioną nazwę i odsyłać złośliwy kod na każde żądanie. Atak nie wymaga kontaktu z ofiarą, więc autorzy badania porównują go do trwałego XSS [2].

RYS. 1.1Skrypt z domeny po zmianie właściciela

Pomiar składa się z czterech kroków, a każdy wymaga innych danych. Pierwszy to lista skryptów: atrybuty src wskazujące inny host, zebrane z HTML strony głównej i podstron. Ta lista jest niepełna, bo biblioteka może w czasie działania doładowywać kolejny kod z innych serwerów [2]. Drugi krok sprowadza nazwę hosta do domeny, którą da się zarejestrować. Służy do tego Public Suffix List, spis sufiksów, pod którymi użytkownicy mogą rejestrować nazwy [7]. Trzeci krok to DNS: w badaniu z 2012 roku sprawdzano, które domeny nie rozwiązują się na adres IP, potem szukano ich w bazie WHOIS, a przy braku wyniku próbowano je zarejestrować [2]. Czwarty to RDAP, w którym tablica events zawiera zdarzenia registration, last changed i expiration [6]. Data rejestracji późniejsza niż dzień dodania skryptu do strony wskazuje nowego właściciela, dlatego pomiar potrzebuje też historii: od kiedy dany skrypt jest na stronie. Szczegóły RDAP opisuje artykuł Wygaśnięcie domeny.

RYS. 1.2Od listy skryptów do alarmu

Standardy i specyfikacje

  • Subresource Integrity (W3C) pozwala przeglądarce sprawdzić, czy pobrany zasób dotarł bez nieoczekiwanej modyfikacji [4]. Atrybut integrity zawiera skrót pliku; przeglądarka musi obsługiwać SHA-256, SHA-384 i SHA-512 [4]. Odpowiedź niezgodna ze skrótem nie zostanie wykonana, a żądanie kończy się błędem sieci [4]. Zasoby z innej domeny wymagają przy tym CORS [4].
  • Content Security Policy Level 3 kontroluje, jakie zasoby strona może pobrać lub wykonać, i jest pomyślana jako obrona w głąb, a nie pierwsza linia [5]. Lista dozwolonych hostów nie pomoże, gdy zmienił się właściciel samego hosta. CSP3 pozwala jednak dopuszczać skrypty zewnętrzne po skrócie, jeśli element script ma metadane integralności wymienione w polityce [5]. Więcej w artykule Content Security Policy.
  • RFC 9083 definiuje zdarzenia obiektu RDAP; expiration oznacza, że obiekt został albo zostanie usunięty z rejestru w ustalonym terminie [6].
  • OWASP zaleca Subresource Integrity, kopię skryptu na własnym serwerze oraz umieszczanie kodu dostawcy w ramce iframe z innej domeny, która odcina go od DOM i ciasteczek strony [1].

Zagrożenia i skutki

Przejęcie wygasłej domeny. Badacze przeszukali ponad 3,3 mln stron z 10 000 najpopularniejszych serwisów. Znaleźli 56 domen dostarczających skrypty, wolnych do rejestracji i dołączanych przez 47 z tych serwisów; 6 z nich było literówkami w nazwie [2]. Zarejestrowali dwie takie domeny i przez 15 dni odpowiadali stroną błędu 404. Jedna z nich odebrała 80 466 wizyt z 84 podstron w 24 domenach [2].

Zmiana właściciela bez wygaśnięcia. W lutym 2024 roku firma kupiła domenę polyfill.io wraz z kontem projektu w GitHub. Skrypt osadzało ponad 100 000 stron, a nowy kod przekierowywał użytkowników urządzeń mobilnych na strony hazardowe [3]. Nie uruchamiał się przy wykryciu administratora i opóźniał działanie, gdy znalazł usługę analityki [3]. Domena nie wygasła, więc sama data expiration takiej zmiany nie pokaże.

Kompromitacja serwera dostawcy. OWASP wskazuje przejęcie serwera z kodem zewnętrznym jako największe ryzyko [1]. W 2011 roku przez lukę w WordPressie przejęto domenę popularnej wtyczki jQuery, a zmodyfikowana biblioteka była rozpowszechniana przez 33 dni [2]. Pokrewne zjawiska opisuje artykuł Infekcja.

Przykłady

SytuacjaCo widać w danychCzy SRI zatrzyma obcy kod
Domena skryptu wygasła, nikt jej nie kupił [2]nazwa nie rozwiązuje się w DNSnie ma obcego kodu, skrypt nie działa
Wolną domenę zarejestrował ktoś inny [2]nowa data registration w RDAP [6]tak, gdy jest integrity [4]
Domenę sprzedano razem z projektem [3]rejestracja ciągła, bez wygaśnięciatak, jeśli plik ma stały skrót [4]
Literówka w nazwie domeny [2]domena wolna albo cudzatak, gdy jest integrity [4]
Przejęty serwer dostawcy [1]brak zmian w rejestrzetak, gdy jest integrity [4]
Kod doładowany w czasie działania [2]adresu nie ma w HTMLzależy od skryptu ładującego
TAB. 1.1Przypisy7
  1. [1] Third Party JavaScript Management Cheat Sheet · OWASP
  2. [2] Nikiforakis i in. — You Are What You Include: Large-scale Evaluation of Remote JavaScript Inclusions (ACM CCS 2012) · ACM CCS 2012
  3. [3] Polyfill supply chain attack hits 100K+ sites · Sansec
  4. [4] Subresource Integrity · W3C
  5. [5] Content Security Policy Level 3 · W3C
  6. [6] RFC 9083 — JSON Responses for the Registration Data Access Protocol (RDAP) · IETF
  7. [7] Public Suffix List · Mozilla / Public Suffix List
ARK. 2

STATS

wyniki z systemu · tylko liczby zbiorcze

Parametr zaplanowany: sondy jeszcze nie ma w CREATO_PING, więc system nie ma czego liczyć. Liczby pojawią się po pierwszym przebiegu z tą sondą.

ARK. 3

CARD

karta do opracowania

Parametr zaplanowany: nie ma jeszcze sondy, helpera ani workflowu, więc nie ma drogi przez system do narysowania.

TAB. 3.1Pomiarpola z katalogu parametrów
Obszar i ważnośćBezpieczeństwo · wysoka (B34)
Workflow i częstotliwośćbrak — parametr zaplanowany
Sonda i helperbrak
Testydo opracowania
Typ wynikudo opracowania
Jednostkado opracowania
Próg i regułado opracowania
Gdzie leżą pokrętłado opracowania
Retencja odczytówdo opracowania
Karta przepisana zkarta tego parametru nie została jeszcze przepisana z kodu CREATO_PING
TAB. 3.2Co oznacza failtypów ustaleń: 0

Parametr nie otwiera osobnego ustalenia — sondy jeszcze nie ma.

ARK. 4

LOOP

bez pętli
RYS. 4.1Pętla parametru — sześć etapów
TAB. 4.1Trafność, 30 dnialarmy · prawdziwe · fałszywe · bez rozstrzygnięcia

Trafności jeszcze nie liczymy: zamknięcie subtaska nie niesie dziś werdyktu (prawdziwy / fałszywy / nie dało się sprawdzić). Cztery liczby pojawią się, gdy każde zamknięcie dostanie werdykt — to warunek startu pętli 1.

TAB. 4.2Pętle

Ten parametr nie przeszedł jeszcze żadnej pętli. Kolejność po pierwszych pięciu grupach ustali miara trafności.

Blog 24/7
20.09Zastrzeżony PESEL: zmiana raz na 30 minut, blokada przy wypłaciedobreprogramy.pl20.09Fałszywe SMS-y od GITD o mandacie za autostradę wyłudzają dane kartyinstalki.pl20.09Pakiet npm indexed-btree omija blokadę skryptów instalacyjnychbleepingcomputer.com19.09SolarWinds łata CVE-2026-28326 w Access Rights Manager, zdalny kod bez logowaniathehackernews.com19.09Orkes Conductor: luka CVE-2026-58138 atakowana w sieci, poprawka w wersji 3.30.2thehackernews.com19.09Trzy luki jądra Linux w katalogu CISA KEV, Red Hat potwierdza aktywne atakithehackernews.com18.09Publiczne exploity na cztery luki jądra Linux dają lokalnie uprawnienia rootthehackernews.com18.09Brevo: skradziony klucz API Cloudflare i skrypty ClickFix na stronach klientówbleepingcomputer.com18.09WaterPlum z Korei Północnej zainfekowała 30 000 urządzeń w 100 krajachtherecord.media18.09Jedna zgoda OAuth daje napastnikowi dostęp do poczty i plików mimo MFAdarkreading.com