Fix: Usunięcie wycieku danych wrażliwych w logach #43
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Zadanie 1 - Weryfikacja wycieku wrażliwych danych
W logach aplikacji pojawiają się wszystkie dane tworzonego na podstronie

/customersw formularzu pokazującym się po kliknięciu w przycisk "Add New Customer" klienta:Po kliknięciu przycisku "Add Customer" po wypełnieniu formularza w logach pojawi się:
Zaproponowaną poprawką jest usunięcie z logów (zasłonięcie prawdziwych wartości) danych o miejscu zamieszkania, wieku i PESELu, które mogłyby pozwolić na identyfikację klienta, część z nich stanowi dane wrażliwe. Poprawka zastępuje w logach prawdziwe wartości stałą liczbą znaków
*aby nie dało się uzyskać informacji również o długości np. nazwy ulicy zamieszkania czy miasta.Zadanie 2 - weryfikacja wycieku sekretów
Uruchomienie w repozytorium narzędzia
gitleaksposkutkowało znalezieniem trzech zhardkodowanych kluczy prywatnych w dwóch różnych commitach:https://github.com/B1rtek/task2/blob/bc17b7ddc46f46fff175aed55d68e11bb48166cc/deployment.key#L1
https://github.com/B1rtek/task2/blob/de9d7b8cb63bd7ae741ec5c9e23891b71709bc28/deployment2.key#L1
https://github.com/B1rtek/task2/blob/bc17b7ddc46f46fff175aed55d68e11bb48166cc/awscredentials.json#L5
Nazwy plików i pola w których zostały zapisane sugerują, że były to najprawdopodobniej klucze służące do uwierzytelnienia na platformach na których aplikacja była wdrażana, w przypadku trzeciego klucza platformą tą było najprawdopodobniej AWS.
gitleaksnie znalazł żadnych false positives.Zadanie 3 - weryfikacja bezpieczeństwa bibliotek OpenSource wykorzystywanych w projekcie
Uruchomienie skanera podatności w aplikacji Pythonowej wykryło 11 podatności w 3 pakietach:
Jedną z wykrytych podatności jest możliwość ataku XSS poprzez szablony
jinja2w przypadku użycia filtraxmlattr:Odpowiednie wartości wprowadzone do pola oznaczonego tym filtrem mogły posłużyć do wstrzyknięcia kodu HTML, który może prowadzić do ataku XSS. Takie miejsce w szablonie strony wyglądałoby np. tak (przykład wzięty z https://help.dashly.io/article/5146):
{{ {"id": "123", "class": "button"} | xmlattr }} {# Outputs 'id="123" class="button"' #}Zatem wykorzystanie podatności wymagałoby utworzenia odpowiedniego słownika który wstawiany by był bezpośrednio do wyświetlenia na stronie po przepuszczeniu przez filtr
xmlattr. Za pomocą narzędziagrepsprawdziłem zawartość repozytorium pod kątem ilości miejsc, w których filtrxmlattrzostał użyty, takie miejsca w kodzie nie występują.Na tej podstawie można stwierdzić, że wykorzystanie tej podatności nie jest możliwe w aktualnej wersji aplikacji.