Jak poprawić bezpieczeństwo witryny (xss pHp)

Rozwój strony internetowej oznacza, że ​​programista musi myśleć o bezpieczeństwie, musimy nie tylko mieć bezpieczny serwer, ale także zastosować pewne strategie, które mogą pomóc chronić sieć. W tym samouczku w przykładach zostanie użyty PHP, ale można je dostosować do innych języków programowania.
Posługiwać się zmienne sesji I nie od ciasteczka
Jednym z błędów popełnianych przez wielu programistów jest używanie ciasteczka, małe pliki tekstowe, które przechowują informacje o naszych zadaniach w Internecie, dostępach itp.
Czy ciasteczka można łatwo odczytać z dowolnej przeglądarki, przykład w Firefox z firebug lub in Chrom prawym przyciskiem przechodzimy do menu Sprawdź element.

Na obrazku widzimy przykład, w jaki sposób programista utworzył plik cookie do logowania użytkownika i publicznie udostępnia dane dostępowe.
Poniższy obraz to kolejny gorszy przykład Google zindeksował dostępy z użytkownikami i hasłami.

Właściwą rzeczą do zrobienia jest użycie sesji, w których dane są zakodowane.
 

Tak wyglądałaby zakodowana zmienna sesji, znacznie bezpieczniejsza, ponieważ jest trudna do odczytania:

phpsessid= sb85p15841p6l1dfg7oo8hlsc85;

Następnie na każdym ekranie sprawdzamy sesję na każdej otwieranej stronie, zakładamy, że będzie to obszar zastrzeżony.
 [rozmiar = 4] [/ rozmiar] 

Sesje nie są kompletnym rozwiązaniem, ponieważ jest to inna metoda hakowania Przejęcie sesji lub Podszywanie się pod sesję. Dzieje się tak, gdy osoba atakująca odczytuje wartość sesji po zalogowaniu, a następnie próbuje uzyskać do niej dostęp z innego komputera.
Aby tego uniknąć, możemy tworzyć sesje, które zapisują dane sprzętu, na którym zalogowany jest użytkownik.

Poprzednim kodem nawiązujemy sesję, która zapisuje IP i przeglądarkę, z której uzyskano dostęp do sieci, następnie sprawdzamy, czy w czasie trwania sesji ktoś próbuje zalogować się z innego IP lub inna przeglądarka nie będzie mogła uzyskać dostępu do sieć
 [rozmiar = 4] [/ rozmiar] 

Coś takiego robi Facebook, jeśli uzyskujesz dostęp z innego urządzenia lub z innego adresu IP w innym mieście, ponieważ jest to oszczędność miejsca, z którego często uzyskujesz dostęp.
Testowanie przypadków XSS i SQL Injection
Jednym ze sposobów na znalezienie podatnych stron internetowych jest umieszczenie w wyszukiwarce info_page.php = lub catalogo.php =

POWIĘKSZAĆ

To da nam listę podatnych stron, każda strona, która kończy się na .php?Zmienna = może być podatna na ataki.
Aby sprawdzić, czy jest podatny, wpisujemy adres URL bez wartości w przykładowej zmiennej:

mojadomena.com/info_page.php?id=

Jeśli sieć jest podatna na ataki, zareaguje błędem mysql, który powie:

Masz błąd w składni SQL; sprawdź instrukcję, która odpowiada Twojej wersji serwera MySQL, aby znaleźć właściwą składnię w pobliżu „” w wierszu 1


Jeśli znajdziemy domenę z tą podatnością, możemy przetestować, czy znajdziemy tabelę użytkowników lub administratorów i ile ma ona kolumn:

www.mydomain / info_page.php? id = -1 + union + all + select + 1,2,3, group_concat (nazwa_użytkownika, 0x3a,

użytkownik_hasło), 5 + od + administratorzy

W takim przypadku zwróci hasło i użytkownika administratora, aby uniknąć wstrzyknięcia SQL należy użyć sesji, a nie parametrów po adresie url, w przypadku ich użycia wyczyść parametry jakąś funkcją lub klasą, która weryfikuje brak poleceń sql, lub javascript w parametrze, który jest wysyłany przez formularz lub przez adres URL.Podobał Ci się i pomógł ten samouczek?Możesz nagrodzić autora, naciskając ten przycisk, aby dać mu pozytywny punkt
wave wave wave wave wave