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.
Podatności w aplikacji
Jako przykładowy exploit posłużył mi następujący kod
Skutkiem jego działania powinno być wyświetlenie komunikatu
AtakKsiążki
W aplikacji zostały znalezione następujące podatności:


Podczas dodawania książki jako jej nazwę oraz autora można dodać skrypt, który zostanie zapisany do bazy.
Skrypt wykona się podczas wyświetlania listy
Podatność ta występuję w sposób analogiczny podczas edycji książki
Klienci
Analogiczna podatność występuje podczas dodawania klientów


Skrypt wykona się podczas wyświetlania listy
Podatność ta występuję w sposób analogiczny podczas edycji klienta
Wypożyczenia
Kolejna podatność występuję przy tworzeniu wypożyczenia przy wyborze książki lub autora, których nazwa jest zainfekowana.


Ewentualnie można w konsoli zmienić kod HTML i dodać opcje w której value będzie zawierało exploita.
Ponownie skrypt zostanie wykonany przy wejściu na listę
Rozwiązania podatności
W ramach poprawki dodałem:
bleach, która odpowiada za sanityzacje danych wejściowychsafektóra powodowała brak escapowania html przez django. Opcja ta została usuniętaTesty jednostkowe
Został napisany jeden przykładowy test dla nazwy książki, sprawdza on tylko czy nazwa książki zawiera dopuszczalne znaki.