Press "Enter" to skip to content

Lista zagrożeń i sposoby na ich uniknięcie

1. Nigdy nie ufać danym pochodzącym od użyszkodnika. Wszystko co przychodzi od usera (włącznie z user agent, coookies, etc) musi przejść walidacje aby nie było tak jak na początku kwiatków pokroju XSS w loginie. Regex + trim, strlen to podstawa.
2. Mechanizm antiflood aby ograniczyć ilość requestów/spamu.
3. Captcha nie zawsze jest dobrym rozwiązaniem (OCR), nawet ta od G, która po pierwsze zmniejsza dostępność stron dla niewidomych, a po drugie nadal daje się oszukać.
4. Warto mieć punkt zahaczenia pokroju mail choć to też nie wyeliminuje catch-all + skryptu z curl’em do otwierania linków do rejestracji stąd patrz punkt 2.
5. Obecnie prepare statements to podstawa przy wbijaniu danych do db.
6. Limitacja postmaxsize, uploadmaxfilesize, maxfileuploads, etc.
7. Wybić sobie z głowy wywołania systemowe żeby nie narobić szkody.
8. Trzymać wszystko ponad publichtml/privatehtml mimo, że można mieć dobre .htaccess blokujące określone rzeczy to czasami może wystąpić kwiatek.
9. W dobie obecnego sprzętu nie warto używać chociażby md5 nawet z solą per user. bcrypt to podstawa.
10. Zapoznać się z OWASP.
11. Ruch po HTTPS aby nie było man in the middle (patrz również Strict-Transport-Security).
12. Przypięcie zalogowanego usera do IP lub puli, bo session hijacking. Patrz również na session fixation.
13. Logować wszystkie zdarzenia i w razie potrzeby karcić.
14. Plikom przychodzącym od usera należy się dobrze przyjrzeć co do rozszerzenia, nagłówka, etc.
15. Jeżeli robimy include ze zmiennej to należy ją odpowiednio walidować aby ktoś przez przypadek nie przeglądał zawartości całego serwera.
16. Jeżeli jest to serwer dzielony to warto używać folderu /tmp/ dla plików/sesji/etc pod swoim kontem aby nikt postronny nie podglądał.
17. Warto się zastanowić czy zezwalać na zewnętrzne grafiki. 12 lat temu miałem taką zabawę, że wstawiałem avatar ze zdalnego serwera i podglądałem co poszczególni użytkownicy robią.
18. Zapoznać się z atakami typu CHIRA Attack Vector, Insecure Direct Object References, etc.
19. Optymalizować zapytania aby nie zapchać. Przykładowo varchar(15) dla IP może być UNSIGNED INT – nawet łatwiej się szuka 😉
20. Odpowiednie uprawnienia dla użytkownika db aby nie zrobił kuku vide BENCHMARK(), którą można zrobić DoS’a.
21. Stripować wszystko jak leci chyba, że chcemy XSS.
22. Uważać na serializacje danych.
23. Uważać na XXE.
24. Budować relacyjnie i z odpowiednimi kluczami aby nie zatkać bazy..
25. Uważać na mechanizmy tokenów i „losowych wartości”.
26. Sprawdzać wartości dla paginacji, limity wyświetlania wiadomości bo można jednym machem wszystko oglądać bez ww. mechanizmu.
27. Jeżeli już debugujesz na produkcji to dumpuj zawartość tylko dla siebie.
28. Ustaw odpowiednie errorreporting i displayerrors, bo ścieżki są bardzo pomocne dla potencjalnego dzbana.
29. Backupować aby nie zaliczyć fackupu i nie klękać psychicznie przy restore.
30. Paginacje walidować aby nie było kwiatków, że dając limit 666 666 666 można sobie zrobić dump.

VN:F [1.9.22_1171]
Twoja ocena wpisu:
Rating: 5.0/5 (1 vote cast)
Lista zagrożeń i sposoby na ich uniknięcie, 5.0 / 5 , ocen: 1
Logout.pl opinie

Szukasz opinii o Logout.pl? Powiem szczerze, jestem bardzo zadowolony z usług tej firmy (aktualnie: Biznes-Host.pl) i z całym przekonaniem mogę Read more

Kod rabatowy Biznes-Host.pl

Wykorzystaj kod rabatowy Biznes-Host.pl J9ET-9335-MYPW lub M659-54RD-F32E a otrzymasz dwadzieścia pięć procent zniżki na hosting i/lub domenę. Pamiętaj, że kod Read more

Biznes-Host – „Zbiórki na serwer”

W panelu klienta Biznes-Host.pl pojawiła się nowa zakładka "Zbiórki na serwer". Doładowanie konta - zbiórki Jeżeli posiadasz jakąś stronę, forum, Read more

Be First to Comment

    Dodaj komentarz

    Twój adres email nie zostanie opublikowany.




    Wordpress Social Share Plugin powered by Ultimatelysocial