ForumCała strona

Nawigacja

Aktualnie online

Gości online: 5

Użytkowników online: 0

Łącznie użytkowników: 25,393
Najnowszy użytkownik: Assassin

Logowanie

Nazwa użytkownika

Hasło



Zarejestruj się

Odzyskaj hasło

Shoutbox

Musisz zalogować się, aby móc dodać wiadomość.

jantom
23.01.2025 11:17:19
Sam PF kona, więc nie ma co się spodziewać poprawy i na naszym podwórku.

JazOOn
16.01.2025 23:00:48
ta strona faktycznie powoli kona...

Zbigniew@
25.12.2024 23:55:09
Z okazji końca świąt życzę, abyście nie musieli zbyt długo czekać na kolejne! Niech radość i smakołyki wrócą jak najszybciej! Wesołych Świąt! 🎉

piterus
25.12.2024 20:00:55
A to już minęło dwa lata... Ech... Co ten wiek robi z człowiekiem...

JazOOn
25.12.2024 18:17:53
Rany jeden news na 2 lata...

Pobierz nową wersję
Pobierz podręcznik
Zobacz inne oficjalne Supporty
Statystyki supportu
PHP-Fuson PL na Facebooku

RSS

Polecamy hosting SferaHost.pl

Nawigacja

Ataki XSS i SQL Injection

Napisane przez Milka dnia 06 maja 2007 20:13 · 2 komentarze · 14205 czytań · Drukuj · Facebook · Wykop

Streszczenie:

Z jakimi atakami na strony mamy często do czynienia?

Ataki na strony wykorzystujące bazy danych zdarzają się coraz częściej. Wykorzystywane są tutaj przede wszystkim ataki XSS i SQL Injection. Zapewne wielu z Was wystraszy już sama nazwa, a co dopiero mówić o tym, na czym to polega. Jednak zapewniam Was, że nie taki diabeł straszny, dlatego artykuł ten kieruję głównie do osób "zielonych", które chcą poszerzać swoją wiedzę.

1. Co to jest XSS i od której strony to ugryźć?

XSS (z angielskiego Cross Site Scripting) to metoda przechwytywanie poufnych informacji. W celu wydobycia danych, haker wykorzystuje tutaj zaufane źródło (witrynę). Dzieje się tak poprzez groźny kod HTML lub Java Script wprowadzany na przykład na forum. Złośliwy kod wykonywany jest przez osoby odwiedzające ową stronę. Atak hakera odbywa się przez wcześniej złamaną witrynę.
Oto graficzne wyjaśnienie problemu:

2. Co to jest SQL Injection i lepiej jeść to nożem i widelcem czy łyżką?

SQL Injection (z angielskiego "wstrzyknięcie SQL") to metoda polegająca na wysyłaniu, za pomocą dostępnego dla wszystkich formularza, takiego fragmentu tekstu (kodu), który zmienia oryginalne zapytanie SQL.
Wynikiem tego jest zmiana wyglądu strony lub jej działania.
Oto graficzne przedstawienie działania SQL Injection:
3. Ochrona przed atakami XSS

Zabezpieczanie się przed atakami XSS nie jest wcale trudne.
Pomoże nam w tym kilka prostych funkcji PHP, które służą do zabezpieczania skryptów:
a) htmlspecialchars() - przekonwertowanie znaków specjalnych (&, <, > itp.) na kody, które pozwalają ich wyświetlanie w tekście HTML (np. znak & zostanie zastąpiony & a m p - oczywiście bez spacji)
b) mysql_real_escape_string() - dodanie znaku \ przed potencjalnie groźnymi znakami w tekście
c) strip_tags() - wycięcie z tekstu znaczników PHP i HMTL.


4. Ochrona przed atakami SQL Injection

Zabezpieczanie się przed atakami SQL Injection zmusza do staranności, jednak zwykły użytkownik powinien sobie z tym poradzić. Aby dostatecznie ochronić nasze formularze przed złośliwymi zapytaniami SQL trzeba szczegółowo sprawdzać, jakie dane mogą być wprowadzone do formularza na naszej WWW.
Jeśli mamy do czynienia ze zmienną:
a) tekstową to umieszczamy ją w cudzysłowach
$test = ‘ WHERE data_i_czas=” ‘ . htmlspecialchars ($_POST[‘sql_injections’]).’ “ ‘
b) numeryczną to powinniśmy zbudować zapytanie tak, aby miało ono tylko i wyłącznie wartość numeryczną; w tym celu wykorzystać możemy funkcję intval(), która zmienia argument na liczbę całkowitą
$test = ‘ WHERE data_i_czas=’ . intval ($_POST[‘sql_injections’]);

I tak oto przebrnęliśmy razem przez wprowadzenie do zagadnienia ataków XSS i SQL Injection. Myślicie, że było aż tak strasznie? Moim zdaniem, chyba da się przeżyć i naprawdę warto przeczytać cokolwiek na ten temat i choć trochę wzbogacić swoją wiedzę. W końcu nie wiadomo, czy to właśnie nie wasza witryna padnie ofiarom hakerów. Mam oczywiście nadzieję, że tak się nie stanie, jednak zawsze lepiej dmuchać na zimne :)



Pozdrawiam Milka
milks92 [at] gmail [dot] com

Komentarze

#1 | JazOOn dnia 06 maja 2007 20:42
nie taki diabeł straszny jak go opisująGrin
#2 | slawekneo dnia 09 czerwca 2007 12:03
w arcie jest blad Grin tzn w nazwie funkcji
Cool mysql_real_escape_strong() - dodanie znaku \ przed potencjalnie groźnymi znakami w tekście

a powinno byc
Cool mysql_real_escape_string() - dodanie znaku \ przed potencjalnie groźnymi znakami w tekście

hmm jestem ciekaw czemu to wlasnie fusion nie korzysta z tej funkcji o ile wiem jest ona szybsza od stripslashes() ktorej to uzywa fusion ;]
nawet IPB z niej korzysta Wink
Pozdro!!

Dodaj komentarz

Zaloguj się, aby móc dodać komentarz.

Oceny

Tylko zarejestrowani użytkownicy mogą oceniać zawartość strony
Zaloguj się lub zarejestruj, żeby móc zagłosować.

Brak ocen. Może czas dodać swoją?
Created by Arox Copyright (C) 2004
Copyright (C) 2004 - 2018 Ekipa PHP-Fusion.pl