Blog 24/7
ARK. S08Parametr monitoringuSEO · lista 87 parametrów

Monitoring kluczowych podstron

ważność wysokamierzonysposób key_pages

Sprawdzanie treści nie tylko strony głównej, ale też regulaminu, kontaktu i koszyka — tam podmiana przechodzi dziś niezauważona.

Wdrożony 01.10 (badanie profilem): kontakt, regulamin, polityka prywatności i koszyk z linków strony głównej — czy odpowiadają i czy nie mają wstrzyknięcia, którego nie ma na stronie głównej.

ARK. 1

WIKI

artykuł z 16.09.2026 · źródeł 6

Monitoring kluczowych podstron to parametr monitoringu stron internetowych, który sprawdza nie tylko stronę główną, lecz także wybraną listę podstron o szczególnej wadze, takich jak kontakt, regulamin, koszyk i kasa. Dla każdego adresu pomiar kończy się jednym z trzech wyników: bez zmian, zmiana względem wzorca albo nie dało się sprawdzić. Parametr dotyczy sytuacji, w której strona główna wygląda poprawnie, a zmieniona jest podstrona. MITRE ATT&CK opisuje podmianę treści (ang. defacement) jako modyfikację treści wizualnej, która narusza integralność pierwotnej zawartości [1].

Jak działa

Monitor pobiera kolejno adresy z listy i do każdego stosuje test: frazę kontrolną, porównanie z wzorcem albo listę skryptów. Same metody porównania omawia artykuł Weryfikacja treści. Przy wielu podstronach dochodzą trzy kwestie.

Koszt i częstotliwość. Liczba żądań rośnie jak iloczyn liczby stron, podstron na stronę i sprawdzeń na dobę. Wymaganie 11.6.1 standardu PCI DSS dla stron płatności przewiduje ocenę co najmniej raz w tygodniu albo z częstotliwością wynikającą z celowanej analizy ryzyka [2]. Wytyczne PCI SSC zaznaczają, że złośliwa zmiana może między sprawdzeniami pozostać niewykryta, dlatego tam, gdzie to wykonalne, zalecają monitorowanie częste lub ciągłe [2].

Strony z sesją. HTTP jest domyślnie bezstanowy, a ciasteczka pozwalają serwerowi pamiętać stan, na przykład zalogowanie i zawartość koszyka [5]. WooCommerce wymaga wyłączenia z pamięci podręcznej stron koszyka, kasy i konta klienta, bo pokazują informacje właściwe dla bieżącego klienta i jego koszyka [6]. Stan koszyka śledzą ciasteczka, między innymi woocommerce_cart_hash, a wp_woocommerce_session_ przechowuje identyfikator klienta przez 2 dni [6]. Sonda bez sesji zobaczy pusty koszyk, a porównanie całej treści takiej strony między pobraniami nie ma sensu. Stabilniejsze są skrypty i nagłówki: wymaganie 11.6.1 dotyczy nagłówków HTTP wpływających na bezpieczeństwo i skryptów strony płatności w postaci, w jakiej otrzymuje je przeglądarka klienta [2].

Dane. Pomiar wymaga listy adresów dla każdej strony, wzorca dla każdego adresu i spisu dozwolonych skryptów. Wymaganie 6.4.3 przewiduje spis wszystkich skryptów strony płatności z uzasadnieniem każdego; w prostym środowisku może to być arkusz kalkulacyjny [2].

RYS. 1.1Sprawdzenie kilku podstron
RYS. 1.2Dobór kluczowych podstron

Standardy i specyfikacje

  • MITRE ATT&CK T1491 dzieli podmianę treści na wewnętrzną (T1491.001) i zewnętrzną (T1491.002); jako sposób wykrywania wskazuje obserwację nieautoryzowanych zmian plików i wstrzykniętych skryptów [1].
  • PCI DSS v4.0, wydany w 2022 roku, wprowadził wymagania 6.4.3 i 11.6.1, które mają zapobiegać nieautoryzowanym skryptom i je wykrywać [2]. Wymaganie 6.4.3 obejmuje autoryzację, integralność oraz spis skryptów z uzasadnieniem [2].
  • Wymaganie 11.6.1 każe alarmować, gdy nagłówek lub skrypt pojawi się, zmieni albo zniknie, na przykład gdy dojdzie nowy plik .js lub usunięta zostanie dyrektywa CSP [2].

Zagrożenia i skutki

Web skimming. E-skimming polega na wstrzyknięciu na stronę złośliwego kodu, który przechwytuje dane kart płatniczych lub dane osobowe [4]. Magecart to zbiorcza nazwa grup przestępczych prowadzących takie ataki, aktywnych od 2015 roku [3]. Napastnicy uzyskują dostęp do sklepu albo do bibliotek dostawców, a kod przechwytuje dane wpisywane przy zakupie [3]. Wytyczne PCI SSC wiążą wzrost liczby takich ataków z rosnącym użyciem zewnętrznych skryptów [2]; ryzyko skryptów z cudzych domen opisuje artykuł Skrypty z domen wygasłych.

Skimming cichy i z podwójnym wpisem. W cichym wariancie transakcja przebiega normalnie, więc atak może długo pozostać niewykryty [2]. W wariancie podwójnym fałszywy formularz poprzedza właściwy, klient wpisuje dane dwa razy, a atak bywa szybciej zauważany [2].

Podmiana podstrony. Zmiana treści może ominąć stronę główną; pokrewne objawy włamań opisuje artykuł Infekcja.

Fałszywe alarmy. Koszyk i konto klienta pokazują treść zależną od klienta [6], więc różnice między pobraniami są tam normalne.

Przykłady

PodstronaCo może się zmienićCo sprawdzać
Kasa, cichy skimming [2]nowy lub zmieniony skrypt [2]lista skryptów i nagłówków [2]
Kasa, podwójny wpis [2]fałszywy formularz przed właściwym [2]liczba i adresy formularzy
Koszyk [6]treść zależna od klienta [6]skrypty, nie cała treść
Konto klienta [5]stan zalogowania w ciasteczku [5]odpowiedź bez sesji
Regulamin, kontaktpodmieniona treść [1]fraza kontrolna
TAB. 1.1Przypisy6
  1. [1] Defacement (T1491) · MITRE ATT&CK
  2. [2] Information Supplement: Payment Page Security and Preventing E-Skimming — Guidance for PCI DSS Requirements 6.4.3 and 11.6.1 (v1.0, March 2025) · PCI Security Standards Council
  3. [3] Online Skimming and Payment Security · PCI Security Standards Council
  4. [4] FBI Releases Article on Defending Against E-Skimming · CISA
  5. [5] Using HTTP cookies · MDN Web Docs
  6. [6] How to configure caching plugins for WooCommerce · WooCommerce
ARK. 2

STATS

wyniki z systemu · tylko liczby zbiorcze
TAB. 2.1Odczyty per strona—

Ten parametr nie zapisuje odczytu per strona — przebieg zostawia tylko ustalenia, więc liczby sprawdzonych stron i wyników „ok” system nie ma. Pojawią się po wdrożeniu zapisu przebiegów per strona per parametr.

TAB. 2.3Ustalenia—

Ten parametr nie otworzył jeszcze żadnego ustalenia w bazie LAB247. Pusto nie znaczy „czysto” — znaczy, że nic nie przekroczyło reguły.

TAB. 2.4Przebiegi z tym sposobem sprawdzenia—

Harmonogram nie zapisał jeszcze przebiegu ze sposobem „key_pages”. Zapis przebiegów z n8n działa od 2026-09-14.

ARK. 3

CARD

karta z kodu CREATO_PING, odczyt 01.10.2026

Jak ten parametr trafia do ClickUpa: wynik sondy to linia w subtasku 2. Pomiar, a usterka, którą otwiera — linia w subtasku 1. Podsumowanie (z identyfikatorem CWE i kategorią OWASP), skąd liczy się wskaźnik zagrożenia i status strony. Projekcja z bazy skanera odświeża oba subtaski co godzinę. Do 22.09 każde ustalenie dostawało własny subtask i status ze starego słownika (PODATNA, WARNING…) — te słowa zostały jeszcze w części opisów pomiaru niżej jako język wewnętrzny sond.

RYS. 3.1Droga parametru przez system: Monitoring kluczowych podstron
TAB. 3.1Pomiarpliki: 7
Obszar i ważnośćSEO · wysoka (S08)
Workflow i częstotliwośćskaner_badanie działa na LAB247Skaner 2.0, badanie kohorty: premium co 12 h, reszta co 24–48 h · Od 2026-10-01 zestawy kohort (premium_pelny, tani_ciezki, tani_lekki) mają tury higiena, serwer, sklep, kasa i strony (wyciek ścieżek B41, CMS po EOL B44, kluczowe podstrony S08, odnośniki kontaktowe D10); nocny pomiar wydajności (trend, waga, od 01.10 też metryki pasma W01–W04 i W07) tylko premium — u reszty prośba o pomiar zagłodziłaby nocny plan. Sklep: strona bez WooCommerce = „nie dotyczy”.
Sonda i helpersposób key_pages · CREATO_PING/helpers/site_pages_check.py
Testy
  1. Tylko badanie kohort: tura „strony” zestawów premium_pelny (premium co 12 h), tani_ciezki (dostęp co 24 h, priorytet co 48 h) i tani_lekki (bez priorytetu co 48 h), gdy sonda http dała ok; w rytmach p3 i p4 tego testu nie ma. Parasol `helpers/security_testy.py`, wspólny termin strony 60 s; strona główna pobierana raz na cztery testy tury (`SitePages`).
  2. Z linków <a href> strony głównej pierwszy adres tej samej domeny (bez www.) na rodzaj: kontakt/contact, regulamin/terms, polityka-prywatnosci/privacy, koszyk/cart (key_page_links). Brak takich linków = nie_dalo_sie_sprawdzic (brak_kluczowych_podstron).
  3. GET każdej podstrony (limit 8 s, 2 MB). 404, 410 albo 5xx = podstrona nie działa; 401/403/429/503 = blokada, bez oceny; wszystkie bez odpowiedzi albo zablokowane = nie_dalo_sie_sprawdzic.
  4. Na podstronie z kodem < 400 mocne sygnatury z infection_check: same-origin loader (DollyWay), SocGholish, EtherHiding, eval(atob(...)), SEO spam. Liczą się tylko sygnatury, których NIE ma na stronie głównej — te zgłasza B06/B35/B36. Obce skrypty i ukryte ramki pominięte (fałszywe alarmy).
Typ wynikuok z mapą podstron (rodzaj → adres, kod HTTP, sygnatury); 0–2 ustalenia: key_page_unavailable, key_page_tampered; nie_dalo_sie_sprawdzic (`brak_kluczowych_podstron`, `zrodlo_nie_odpowiada`, `blokada`)
Jednostkabrak — wynik jakościowy (kod HTTP i lista sygnatur dla każdej kluczowej podstrony)
Próg i regułaReguła: kluczowa podstrona 404/410/5xx = key_page_unavailable (normalna, warning); sygnatura wstrzyknięcia tylko na podstronie = key_page_tampered (wysoka, niepewna, do weryfikacji).
Gdzie leżą pokrętłaCREATO_PING/helpers/site_pages_check.py → KEY_PAGE_KINDS, key_page_links, injection_signatures, key_pages (:282)CREATO_PING/helpers/infection_check.py → detect_same_origin_loader, detect_socgholish, detect_etherhiding, detect_base64_eval, detect_seo_spamCREATO_PING/config/incident_policy.toml → [finding] key_page_unavailable, key_page_tampered
Retencja odczytówSurowy pomiar jako NIEZMIENNY wiersz tabeli `odczyty` w bazie skanera (wejście, wyjście, dowody, sha karty sondy i helpera, commit kodu) — trigger odrzuca każdą zmianę. Okno retencji z kohorty: 90 dni premium, 30 dni reszta; poza oknem zostają odczyty z werdyktem problemu, akcją albo etykietą, bo replay reguł ich potrzebuje (`skaner/retencja.py`). Poza odczytem zostaje werdykt w tabeli `werdykty`; sprawy nie ma, bo badanie jej nie zakłada. Panel klienta LAB247 czyta najnowszy odczyt na żądanie (`GET /latest-readings`).
Znane rozbieżności
  1. Podmiana treści bez sygnatury (np. zmieniony numer konta w regulaminie) nie jest wykrywana — brak linii bazowej treści podstron.
  2. Podstrony szukane tylko w linkach strony głównej; strona z menu w JavaScripcie albo bez linku do regulaminu nie ma czego sprawdzić.
kandydaci do pętli: kod a opis parametru albo specyfikacja
Karta przepisana zCREATO_PING/helpers/site_pages_check.py · CREATO_PING/helpers/security_testy.py · CREATO_PING/skaner/scenariusze/premium_pelny.toml · CREATO_PING/skaner/scenariusze/tani_ciezki.toml · CREATO_PING/skaner/scenariusze/tani_lekki.toml · CREATO_PING/config/incident_policy.toml · CREATO_PING/skaner/usterki.toml · odczyt 01.10.2026
TAB. 3.2Co oznacza failtypów Findingów: 2

key_page_unavailable: bramka polityki otwarta (gate=true) → sprawa w skanerze → Kluczowa podstrona nie działa (kontakt, regulamin, polityka, koszyk) — waga 2 → ocena 3–4 (niebieski), status strony „niski”, dopóki sprawa jest otwarta. key_page_tampered: bramka polityki otwarta (gate=true) → sprawa w skanerze → Ślad wstrzyknięcia na kluczowej podstronie — do rozstrzygnięcia — waga 3 → ocena 5–6 (żółty), status strony „sredni”, dopóki sprawa jest otwarta. Ten test chodzi wyłącznie w badaniu kohort, a sprawy zakłada worker tylko dla zleceń z harmonogramu (`skaner/worker.py` → ZRODLA_PRODUKCJI): w badaniu droga kończy się na werdykcie i usterce przebiegu, która podnosi wskaźnik tego badania (`skaner/strona.py` → usterki_przebiegu). Sprawa nie powstaje, więc wskaźnik strony liczony ze spraw się nie zmienia.

KodFindingSeverityPewnośćSkutekFinding / alarmWaga → ocenaCo zrobić
S08.01Kluczowa podstrona nie działakey_page_unavailableŚredniaEwidentneusterka niekrytycznatak / niewaga 2 → ocena 3–4 (niebieski)Przywróć podstronę albo popraw link w menu.
S08.02Ślad wstrzyknięcia na kluczowej podstroniekey_page_tamperedWysokaNiepewnedo weryfikacjitak / niewaga 3 → ocena 5–6 (żółty)Sprawdź treść podstrony i pliki motywu; potwierdzone wstrzyknięcie = procedura infekcji.
TAB. 3.3S08.01 · Kluczowa podstrona nie działawersja 1 · 01.10.2026
Kod i kluczS08.01 · key_page_unavailable · w tabeli typów
Co znaczyKontakt, regulamin, polityka prywatności albo koszyk linkowane ze strony głównej dają 404/410/5xx — strona główna działa, a klient nie dotrze do formularza ani do zasad.
Kiedy powstajeCheck key_pages (badanie kohort, tura strony, od 01.10): pierwszy link strony głównej do tej samej domeny ze ścieżką kontakt/contact, regulamin/terms, polityka-prywatnosci/privacy, koszyk/cart. Finding, gdy podstrona odpowiada 404, 410 albo 5xx. Brak takich linków = nie_dalo_sie (brak_kluczowych_podstron); 401/403/429/503 = blokada, bez Findingu.
Severity · pewnośćŚrednia · Ewidentne
Skutek dla stronyusterka niekrytyczna · zakłada Finding · alarm nie
Waga → ocenawaga 2 → ocena 3–4 (niebieski)
KlasyfikacjaOCSF 1.9.0: poza klasami Findingu
Rekord OCSFfinding_info.analytic.uid = "S08.01" · analytic.name = "key_page_unavailable" · finding_info.types = ["S08 Monitoring kluczowych podstron"]
Co zrobićPrzywróć podstronę albo popraw link w menu.
Wersje typu
  1. v1 · 01.10.2026 — kod S08.01 nadany; nowy typ 01.10 z Checkiem key_pages (parametr S08 z „zaplanowany” na wdrożony) (finding-codes.ts)
TAB. 3.4S08.02 · Ślad wstrzyknięcia na kluczowej podstroniewersja 1 · 01.10.2026
Kod i kluczS08.02 · key_page_tampered · w tabeli typów
Co znaczySygnatura wstrzyknięcia (loader, SocGholish, EtherHiding, eval(atob), SEO spam) na kontakcie, regulaminie, polityce albo koszyku — a na stronie głównej jej nie ma, więc parametr infekcji jej nie widzi.
Kiedy powstajeCheck key_pages: na kluczowej podstronie (jak key_page_unavailable) z kodem < 400 trafiona mocna sygnatura wstrzyknięcia z infection_check (same-origin loader, SocGholish, EtherHiding, eval(atob), SEO spam), której nie ma na stronie głównej — tę zgłasza już B06/B35/B36. Heurystyki z fałszywymi alarmami (obce skrypty, ukryte ramki) pominięte.
Severity · pewnośćWysoka · Niepewne
Skutek dla stronydo weryfikacji · zakłada Finding · alarm nie
Waga → ocenawaga 3 → ocena 5–6 (żółty)
KlasyfikacjaCWE: CWE-506 (Embedded Malicious Code)OWASP Top 10:2025: A08:2025 Software or Data Integrity FailuresMITRE ATT&CK 19.2: T1608.006 Stage Capabilities: SEO Poisoning (ślad)OCSF 1.9.0: Detection Finding (class_uid 2004)
Rekord OCSFfinding_info.analytic.uid = "S08.02" · analytic.name = "key_page_tampered" · finding_info.types = ["S08 Monitoring kluczowych podstron"]
Co zrobićSprawdź treść podstrony i pliki motywu; potwierdzone wstrzyknięcie = procedura infekcji.
Wersje typu
  1. v1 · 01.10.2026 — kod S08.02 nadany; nowy typ 01.10 z Checkiem key_pages (parametr S08 z „zaplanowany” na wdrożony) (finding-codes.ts)
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
05.11CISA i FBI wzywają do zabezpieczenia sterowników chłodzenia po atakach w Europietherecord.media05.11Midnight Blizzard atakowała iPhone'y i Androidy przez zainfekowane strony w Europie i USAsecurityweek.com05.11APT29 kradła dane z iPhone'ów i Androidów przez przejęte i podrobione stronytherecord.media05.11Grupa APT29 przejęła skrypt Plerdy i atakowała niezałatane iPhone'y i Androidythehackernews.com05.11Microsoft wykrył 7,3 mld wiadomości phishingowych w III kwartale 2026microsoft.com05.11DigiCert ujawnia wyciek danych klientów i skanów dokumentów tożsamościbleepingcomputer.com05.11CWPdoor podmienia serwer cwpsrv w Control Web Panel i otwiera tylne wejście do Linuksableepingcomputer.com05.11Brytyjskie NCSC ostrzega, że narzędzia AI zwiększyły liczbę wykrywanych luk zero-daythehackernews.com05.11Skaner RootEvidence sprawdza starą lukę w Cisco IOS i dodaje nagłówki Opt-Outisc.sans.edu05.11Włamanie do portalu grantowego Norad, zagrożone dane 20 614 użytkownikówhelpnetsecurity.com