PRE-27: pełne ukrycie niedostępnych funkcji (paranoja) #78
Reference in New Issue
Block a user
Delete Branch "feat/paranoja-ukrywanie"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Persona: wgrywacz — konto
files+files_input, zatrudnione wyłącznie do wgrywania plików. Nie ma się dowiedzieć, po co je wgrywa ani co program będzie robił.Audyt sześciu kanałów potwierdził 26 wycieków, każdy odtworzony uruchomionym kodem i zweryfikowany adwersarialnie (25 kolejnych zgłoszeń odrzucono jako niepotwierdzone). Ani jeden nie był przyciskiem.
/static/**poza bramkąstyles.cssjednym plikiembase.htmlhost:port/openapi.jsonwarstw wewnętrznychTrzy zasady
Zasób jest częścią funkcji.
/static/omijało całą bramkę — także dziennik audytu i limit żądań, więc wyciek był dla Ciebie niewidoczny. Teraz każdy zasób ma wfeatures.STATICuprawnienie swojego ekranu. Publiczny został jedenbase.css, bo potrzebuje go ekran logowania — i dlatego nie wolno w nim umieścić niczego, co nazywa funkcję.Komentarz nie jedzie na drut.
_asset_body()usuwa komentarze przy serwowaniu; w repo zostają. Ta jedna zmiana zamyka cztery kanały naraz.Różnica jest informacją. Dwa komunikaty po wgraniu były wyrocznią — wystarczyło wgrywać spreparowane pliki i czytać odpowiedź. Teraz jest jeden, ten sam.
Zapora słownikowa
Łatanie punkt po punkcie przegrywa z następną zmianą.
test_slownik_zakazany.pyprzechodzi wszystko, co konto może pobrać, i szuka słów, które nie mają prawa paść — 87 pozycji dla tej persony. Nazwy funkcji, adresy ekranów i nazwy zasobów biorą się wprost z katalogu, więc nowa funkcja obejmuje się sama. Kontrola pozytywna pilnuje, żeby test nie przechodził dlatego, że program jest pusty.Sprawdzone, nie założone: zapora puszczona na treść sprzed poprawek daje 16 trafień na samym
styles.cssi łapie każdy ze zneutralizowanych komunikatów. Rozbicie CSS-a ma osobne sprawdzenie, że żaden ekran nie stracił reguły. 358 testów zielonych, wszystkie ekrany obejrzane w przeglądarce.Do Twojej decyzji
<title>i nagłówku stoi „astrololo". Człon „astro" sam w sobie zdradza dziedzinę, a wgrywacz to widzi. Zmiana nazwy to Twoja decyzja, nie moja — powiedz, czy chcesz neutralną etykietę (np. zAPP_NAME).