11. PROFESJONALNE ZABEZPIECZENIE HASŁEM



Podobne dokumenty
14. POZOSTAŁE CIEKAWE FUNKCJE

12. OPERACJE NA PLIKACH

Zmienne powłoki. Wywołanie wartości następuje poprzez umieszczenie przed nazwą zmiennej znaku dolara ($ZMIENNA), np. ZMIENNA=wartosc.

Po uruchomieniu programu nasza litera zostanie wyświetlona na ekranie

Instalacja systemu zarządzania treścią (CMS): Joomla

Technologie Internetowe Raport z wykonanego projektu Temat: Internetowy sklep elektroniczny

Instrukcja warunkowa i złoŝona.

Baza danych do przechowywania użytkowników

Celem tego projektu jest stworzenie

pobieramy pierwszą literę komunikatu i wypełniamy nią (wszystkie pozycje tą samą literą) bufor słownikowy.

SSK - Techniki Internetowe

Informatyka II. Laboratorium Aplikacja okienkowa

Spis treści. I. Czym jest Indeks Haseł 3 II. Wyszukiwanie hasła 4. 1) Alfabetyczna lista haseł 4 2) Wyszukiwarka haseł 4 3) Grupy haseł 6

Instrukcja obsługi Uczeń. Spis Treści

Instrukcja zarządzania kontami i prawami

Program 6. Program wykorzystujący strukturę osoba o polach: imię, nazwisko, wiek. W programie wykorzystane są dwie funkcje:

USOSweb U-MAIL

INSTRUKCJA REJESTROWANIA JEDNOSTKI I UŻYTKOWNIKA

Instrukcja zarządzania kontami i prawami uŝytkowników w systemie express. v.7

PRZEWODNIK PO SERWISIE BRe BROKERS Rozdział 1

CRM VISION Instalacja i uŝytkowanie rozszerzenia do programu Mozilla Thunderbird

CRM VISION INSTALACJA I UśYTKOWANIE ROZSZERZENIA DO PROGRAMU MOZILLA THUNDERBIRD

Zajęcia 10 obsługa formularzy w PHP

Instrukcja logowania do Portalu Rachunkowość

Podstawowe informacje o obsłudze pliku z uprawnieniami licencja.txt

epuap Zakładanie konta organizacji

Systemy liczenia. 333= 3*100+3*10+3*1

Instrukcja. Zobacz jak w prosty sposób założyć swoją własną stronę www. ZDJĘĆ DODAWANIE INFORMACJI EDYCJA

z :16

Instrukcja logowania do usługi BZWBK24 Internet

epuap Zakładanie konta organizacji

Dokumentacja SMS przez FTP

Instrukcja. dla szkolnego koordynatora Międzynarodowego Konkursu Kangur Matematyczny

XII. Warunek wielokrotnego wyboru switch... case

Aplikacje WWW - laboratorium

Instrukcja użytkownika systemu medycznego. Pracownik medyczny Lekarz ZDLR

Dokumentacja systemu erecepcja.com SYSTEM REJESTRACJI KLIENTÓW PRZEZ INTERNET

Certyfikat niekwalifikowany zaufany Certum Silver. Instrukcja dla uŝytkowników Windows Vista. wersja 1.1 UNIZETO TECHNOLOGIES SA

Instrukcja obsługi portalu Informacyjno-Edukacyjnego Miasta Oleśnicy

Języki programowania wysokiego poziomu. Blog

USOSweb wypełnianie protokołów

Dziennik Elektroniczny (e-dziennik)

Omówienie procesu zakupowego w sklepie internetowym Papyrus Sp. z o. o. Spis treści

E-book: Automatyzacja powiadomień SMS. CASE STUDY

Skrócona instrukcja podstawowych zadań na portalu polska-szkola.pl

Kurs obsługi CMS. 1. Dodawanie kolejnych podstron 2. Obsługa wielojęzycznej witryny

Sesje, ciasteczka, wyjątki. Ciasteczka w PHP. Zastosowanie cookies. Sprawdzanie obecności ciasteczka

Instrukcja instalacji i obsługi gotowych szablonów aukcji allegro oraz szablonów na zamówienie

Projekt współfinansowany ze środków Europejskiego Funduszu Rozwoju Regionalnego w ramach Programu Operacyjnego Innowacyjna Gospodarka

LOGOWANIE ZA POMOCĄ HASŁA STARTOWEGO METODA LOGOWANIA: LOGIN I HASŁO

Szkolenie z użytkowania platformy ONLINE.WSNS

Program 14. #include <iostream> #include <ctime> using namespace std;

Wysyłanie pliku na serwer. Plik na serwerze.

Internet wyszukiwarki internetowe

Instrukcja dla Szkolnego Administratora Systemu Antyplagiatowego Antyściąga.pl

edistro.pl Spis treści

1.2 Prawa dostępu - Role

Rejestracja Konta w EGO PAY

Rejestracja szkoły w etwinning: przewodnik krok po kroku

ARYTMETYKA KOMPUTERA

WPROWADZENIE... 3 LOGOWANIE... 3 TWORZENIE NOWEGO KONTA UŻYTKOWNIKA... 4 ODZYSKIWANIE HASŁA... 7

LOGOWANIE DO SUBKONTA

Komunikator internetowy w C#

Instrukcja obsługi dziennika elektronicznego dla rodziców

Instrukcja UŜytkownika bazy ECAS

Konfiguracja programu pocztowego Outlook Express i toŝsamości.

ZMIENNE. Podstawy PHP

OPIEKUN DORADCY: KONTO FIRMY DODAWANIE KLIENTÓW

Dokumentacja smsapi wersja 1.4

aktualny stan rozrachunków u dostawcy dokumenty wykorzystujące limit kredytowy ( informacja o dokumentach wykorzystujących limit kredytowy )

Instrukcja pozyskania identyfikatora - UID

E-faktura PKP Energetyka

Instrukcja Instalacji i konfiguracji CELINA (e-podpis)

1. Doradcy Logowanie i Pulpit Mój profil Moje kwalifikacje Moi klienci Szczegóły klientów...

Systemy operacyjne. Laboratorium 9. Perl wyrażenia regularne. Jarosław Rudy Politechnika Wrocławska 28 lutego 2017

Matlab. modelowanie prostych eksperymentów losowych. Wykorzystanie funkcji rand - generatora liczb losowych, w który wyposaŝony jest MATLAB.

Spis treści REJESTRACJA NOWEGO KONTA UŻYTKOWNIKA PANEL ZMIANY HASŁA PANEL EDYCJI DANYCH UŻYTKOWNIKA EXTRANET.NET...

Skrypty powłoki Skrypty Najcz ciej u ywane polecenia w skryptach:

Przeglądarka Internet Explorer NaleŜy zwrócić uwagę na to Ŝe: SYSTEM ONLINE nie działa w przeglądarce INTERNET EXPLORER

KORZYSTANIE Z CERTYFIKATU KWALIFIKOWANEGO W PROGRAMIE PŁATNIK

Instrukcja dla ucznia

Kod znak-moduł. Wartość liczby wynosi. Reprezentacja liczb w kodzie ZM w 8-bitowym formacie:

Przekazywanie danych. Dane zewnętrzne mogą pochodzić z róŝnych źródeł:

DHL24. Główny Użytkownik. i Przesyłka Serwisowa. Dokumentacja użytkownika końcowego

MATERIAŁY DYDAKTYCZNE. Streszczenie: Z G Łukasz Próchnicki NIP w ramach projektu nr RPMA /15

Aplikacje internetowe - laboratorium

5. Administracja kontami uŝytkowników

PROJEKT CZĘŚCIOWO FINANSOWANY PRZEZ UNIĘ EUROPEJSKĄ. Opis działania raportów w ClearQuest

Program znajduje największa lub najmniejsza z podanych liczb. Liczby podajemy dopóki nam sie nie znudzi.

A. Instalacja serwera www

Instrukcja użytkownika TALENTplus

INSTRUKCJA OBSŁUGI SKLEPU INTERNETOWEGO. Alu System Plus Sp.J. ul.leśna 2d Chrzanów, tel.(+48-32)

Droga Nauczycielko, Nauczycielu praktykujący OK zeszyt ;-) Witamy Cię w Społeczności CEO.

Instrukcja logowania i użytkowania platformy Uniwersytet Przedsiębiorczości

INSTRUKCJA OBSŁUGI PLATFORMY OLZA DLA PRACODAWCY

1. Uruchom stronię poczta.foof.pl (pisane bez www). Powinien wyświetlić się następujący ekran

Aby pobrać program FotoSender naleŝy na stronę lub i kliknąć na link Program do wysyłki zdjęć Internetem.

Operacje na ciągach. Łączenie ciągów

Instrukcja użytkownika systemu medycznego

Transkrypt:

11. PROFESJONALNE ZABEZPIECZENIE HASŁEM Tworząc róŝne panele administratora jesteśmy naraŝeni na róŝne ataki osób ciekawskich. W tej lekcji dowiesz się, jak zakodować hasło i, jak obronić się przed potencjalnym atakiem. Dowiesz się takŝe jak udostępnić tą stronę sobie - administratorowi, a takŝe innym osobom znającym login pasujący do danego hasła - redaktorom. Kodowanie md5 Do kodowania znaków słuŝy funkcja md5, która wprowadzony tekst zakoduje uŝywając 256-bitowego ciągu znaków, tzn. wprowadzoną frazę zamieni na 32 znaki. Aby zobaczyć jak wygląda przykładowe hasło zakodowane algorytmem md5 wystarczy uŝyć prostego kodu: $tekst = md5("asdf"); echo "$tekst"; W wyniku powinniśmy ujrzeć 912ec803b2ce49e4a541068d495ab570. Uwaga: przy kodowaniu znaku wielkość liter ma znaczenie, oczywiście moŝna uŝywać takŝe cyfr i znaków specjalnych, a takŝe znaków polskich. Nawet maciupka zmiana w macierzystym, w naszym przypadku tekście powoduje ogromne zmiany w szyfrowaniu, dla przykładu fraza Asdf będzie widoczna w postaci a25fda70d4a94ee66872cf8194243a70. Uwaga: do kodowania uŝywane są wyłącznie cyfry i małe litery w róŝnych proporcjach. Prosty formularz logowania Najciekawsze jest to, Ŝe wcale nie musimy dekodować hasła, aby ujrzeć stronę. Wystarczy powyŝszy ciąg znaków przypisać np. instrukcji warunkowej, która będzie sprawdzać, czy tak samo są zakodowane dane z formularza. JeŜeli jakiemuś spryciarzowi udałoby się uzyskać dostęp do hasła (zakodowanego), to i tak, aby dostał się na określoną podstronę musi je dekodować (poniewaŝ skrypt, którego kod ujrzymy zakodowałby je ponownie i warunek nie byłby spełniony).

Oto przykład prostego kodu, wyświetlającego komunikat zgodny z wypełnieniem pola formularza (hasło: asdf): if (md5($_post[haslo]) == "912ec803b2ce49e4a541068d495ab570") else if ($_POST[haslo] == TRUE) Oczywiście moŝna dobezpieczyć to dodając miejsce na login, a takŝe rozszerzyć instrukcję, która pozwoli na wprowadzenie większej ilości haseł np. dla redaktorów i innych współpracowników. To zostawiam Twojej inwencji, a ja przechodzę do kolejnego tematu. Uwaga: warto polom formularza pozwalającym na przechowanie tekstu przypisać atrybut MAXLENGTH, którego wartość będzie oznaczać maksimum wprowadzonych znaków. Zmodyfikowany formularz Często wprowadzamy swoje loginy i/lub hasła wielkimi literami, zwykle przez przypadek np. włączony jest przycisk Caps Lock, lub niechcący nasz palec utknął na Shiftcie. Za pomocą funkcji strtolower() moŝemy wszystkie wielkie litery zamienić na małe, pozostawiając wszystkie inne znaki bez zmian. Oto przykład powyŝszego kodu z zastosowaniem tej oto funkcji:

$haslo = strtolower($_post[haslo]); if (md5($haslo) == "912ec803b2ce49e4a541068d495ab570") else if ($haslo == TRUE) W powyŝszym kodzie pojawiła się zmienna, której wartością jest przerobiona zminimalizowana wartość zmiennej o takiej samej nazwie wysłanej przez formularz. Teraz takie hasła: asdf ASDF asdf AsDf będą poprawne, oczywiście pomijając wielokropek :). Uwaga: moŝemy teŝ postąpić działalność odwrotnie, uŝywając funkcji strtoupper(), która zamieni wszystkie małe litery na wielkie, pozostawiając pozostałe znaki bez zmian. UwaŜam, Ŝe funkcja nie ma zbytnio ciekawego zastosowania w praktyce.

Uwaga: funkcje strtolower(), strtoupper() nie słuŝą bezpieczeństwu, tylko wygodzie osób znających hasło. Są sposoby, nie wiem jakie, ale zawsze jakieś są, Ŝe wpisując pewien ciąg do danego pola, moŝemy ujrzeć coś więcej niŝ przewidział administrator. Na początku poznajmy instrukcje warunkową, która dopuści do sprawdzania hasła, tylko wtedy, jeŝeli zmienna wysyłana przez formularz będzie składała się z wcześniej ustalonych znaków. Jest to tzw. funkcja ereg, której przypisujemy nie tylko konkretne znaki, ale całe ich przedziały. if (md5($_post[haslo]) == "912ec803b2ce49e4a541068d495ab570" && ereg("^[0-9a-za-z\._\-]+$",$_post[haslo])) else if ($_POST[haslo] == TRUE) Oprócz samego definiowania przedziałów znaków warto zabezpieczyć się przed tagami w haśle wykorzystanie ich w sprytny sposób moŝe pozbawić naszą wyłączność nad kontrolą nad skryptem, czy całą witryną. Funkcja strip_tags usunie: znaki < i > wszystkie znaki na prawo od <* wszystkie znaki na lewo od >*

Uwaga: pozycje z gwiazdką oznaczają, Ŝe zostaną usunięte wszystkie znaczki w określoną stronę, chyba, Ŝe wcześniej napotkają przeciwny tag.