Skip to content

Conversation

@mikson7
Copy link

@mikson7 mikson7 commented Nov 23, 2025

Zadanie 1

W ramach zadania zidentyfikowano, że w trakcie dodawania klienta w logach na konsoli widoczne są jego dane wrażliwe. W celu rozwiązania tego problemu zmieniono sposób reprezentacji klasy Customer tak, aby wypisywała ona tylko ID oraz imię i nazwisko klienta, a resztę pól przedstawiała jako gwiazdki.

s1 s2

Zadanie 2

Użycie gitleaks pozwoliło zidentyfikować 3 sekrety które były hardcodowane. Po zweryfikowaniu każdego przypadku okazało się, że dwa z nich miały wprawdzie taką samą wartość, ale zapisaną w oddzielnych plikach. Zatem, wyciekowi uległ: 1 prywatny klucz RSA oraz 1 klucz prawdopodobnie do usług związanych z AWS.

s3 s4 s5 s6

Zadanie 3

Wykorzystanie narzędzia pyupio pozwoliło na wykrycie łącznie 11 podatności w 3 importowanych bibliotekach: jinja2, werkzeug oraz healpy.

s7

W ramach zadania przeanalizowano podatność biblioteki werkzeug opisaną przez pyupio jako:
+==============================================================================+
| werkzeug | 2.3.7 | <3.0.6 | 73969 |
+==============================================================================+
| Affected versions of Werkzeug are vulnerable to Path Traversal (CWE-22) on |
| Windows systems running Python versions below 3.11. The safe_join() function |
| failed to properly detect certain absolute paths on Windows, allowing |
| attackers to potentially access files outside the intended directory. An |
| attacker could craft special paths starting with "/" that bypass the |
| directory restrictions on Windows systems. The vulnerability exists in the |
| safe_join() function which relied solely on os.path.isabs() for path |
| validation. This is exploitable on Windows systems by passing paths starting |
| with "/" to safe_join(). To remediate, upgrade to the latest version which |
| includes additional path validation checks. |
| NOTE: This vulnerability specifically affects Windows systems running Python |
| versions below 3.11 where ntpath.isabs() behavior differs. |
+==============================================================================+
Zainstalowana wersja Pythona to 3.9.25, dlatego podatność potencjalnie mogłaby dotyczyć projektu, jednak po zgłębieniu tematu okazało się, że problematyczna funkcja safe_join() nie jest wywoływana nigdzie - ani bezpośrednio w kodzie aplikacji, ani pośrednio, np. przez Flask'a, który również jest wykorzystywany w projekcie i korzysta z werkzeug.
Flask potencjalnie mógłby pośrednio używać tej funkcji po wywołaniu send_from_directory, send_file lub static_folder, lecz żadna z tych funkcji nie jest użyta w aplikacji, więc ryzyko wykorzystania tej podatności jest na ten moment minimalne.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant