Wyciek ścieżek serwera
ważność średniamierzonysposób path_leak
Komunikaty błędów PHP w treści strony z pełnymi ścieżkami katalogów serwera. Ułatwiają celowanie ataku.
Wdrożony 01.10 (badanie profilem): strona główna i dwa pliki WordPressa, które wywołane wprost padają z błędem PHP.
WIKI
wiedza ze źródeł zewnętrznychArtykuł o parametrze „Wyciek ścieżek serwera” jest w przygotowaniu. Powstaje po kolei dla wszystkich 87 parametrów, każde twierdzenie z przypisem do źródła.
STATS
wyniki z systemu · tylko liczby zbiorczeTen 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.
Ten parametr nie otworzył jeszcze żadnego ustalenia w bazie LAB247. Pusto nie znaczy „czysto” — znaczy, że nic nie przekroczyło reguły.
Harmonogram nie zapisał jeszcze przebiegu ze sposobem „path_leak”. Zapis przebiegów z n8n działa od 2026-09-14.
CARD
karta z kodu CREATO_PING, odczyt 01.10.2026Jak 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.
| Obszar i ważność | Bezpieczeństwo · średnia (B41) |
|---|---|
| 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 helper | sposób path_leak · CREATO_PING/helpers/site_pages_check.py |
| Testy |
|
| Typ wyniku | ok z listą sprawdzonych adresów; 0 albo 1 ustalenie exposure_path_leak z mapą adres → ścieżki; nie_dalo_sie_sprawdzic (`zrodlo_nie_odpowiada`, `blokada`) |
| Jednostka | brak — wynik jakościowy (ścieżki plików z komunikatów błędów PHP) |
| Próg i reguła | Reguła: co najmniej jedna ścieżka serwera w komunikacie błędu PHP pod którymkolwiek adresem = exposure_path_leak (powaga normalna, warning). |
| Gdzie leżą pokrętła | CREATO_PING/helpers/site_pages_check.py → PATH_LEAK_PROBES, _PHP_ERROR, find_path_leaks, path_leak (:232)CREATO_PING/config/incident_policy.toml → [finding] exposure_path_leak |
| Retencja odczytów | Surowy 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 |
|
| Karta przepisana z | CREATO_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 |
exposure_path_leak: bramka polityki otwarta (gate=true) → sprawa w skanerze → Wyciek ścieżek serwera w treści — waga 2 → ocena 3–4 (niebieski), status strony „niski”, 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.
| Kod | Finding | Severity | Pewność | Skutek | Finding / alarm | Waga → ocena | Co zrobić |
|---|---|---|---|---|---|---|---|
| B41.01 | Wyciek ścieżek serweraexposure_path_leak | Średnia | Ewidentne | usterka niekrytyczna | tak / nie | waga 2 → ocena 3–4 (niebieski) | Wyłącz wyświetlanie błędów na produkcji (display_errors off, WP_DEBUG_DISPLAY false). |
| Kod i klucz | B41.01 · exposure_path_leak · w tabeli typów |
|---|---|
| Co znaczy | Komunikat PHP z pełną ścieżką serwera na stronie albo w /wp-json/ — ułatwia rozpoznanie, sam nie jest włamaniem. Check `path_leak` (B41): strona główna i znane pliki WordPressa wywołane wprost. |
| Kiedy powstaje | Check path_leak (badanie kohort, tura strony, od 01.10): komunikat błędu PHP (Fatal error/Warning/Notice/Deprecated/Parse error/Uncaught …) z pełną ścieżką pliku .php/.inc/.phtml (co najmniej 3 człony) w HTML strony głównej albo w odpowiedzi na /wp-includes/rss-functions.php i /wp-content/plugins/hello.php (pliki, które wywołane wprost padają). Strona główna 4xx/5xx albo brak odpowiedzi = nie_dalo_sie. |
| Severity · pewność | Średnia · Ewidentne |
| Skutek dla strony | usterka niekrytyczna · zakłada Finding · alarm nie |
| Waga → ocena | waga 2 → ocena 3–4 (niebieski) |
| Klasyfikacja | CWE: CWE-209 (Generation of Error Message Containing Sensitive Information)OWASP Top 10:2025: A10:2025 Mishandling of Exceptional ConditionsOWASP ASVS 5.0.0: 13.4.2, 16.5.1OCSF 1.9.0: Vulnerability Finding (class_uid 2002) |
| Rekord OCSF | finding_info.analytic.uid = "B41.01" · analytic.name = "exposure_path_leak" · finding_info.types = ["B41 Wyciek ścieżek serwera"] |
| Co zrobić | Wyłącz wyświetlanie błędów na produkcji (display_errors off, WP_DEBUG_DISPLAY false). |
| Wersje typu |
|
LOOP
bez pętliTrafnoś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.
Ten parametr nie przeszedł jeszcze żadnej pętli. Kolejność po pierwszych pięciu grupach ustali miara trafności.