Produkty Oracle dominują na rynku
|
|
- Dominik Turek
- 9 lat temu
- Przeglądów:
Transkrypt
1 <<DZIAL_A>> <<DZIAL_B>> Oracle z punktu widzenia intruza Wojciech Dworakowski na CD <<NA_CD FIT=TOP>> Produkty Oracle dominują na rynku produktów bazodanowych. Na tej platformie działa wiele serwisów związanych z udostępnianiem danych (również przez Internet). Bazy te są też niezwykle popularne w zastosowaniach korporacyjnych. Hasło marketingowe Oracle w roku 2002 brzmiało: Oracle The Unbreakable. Czy rzeczywiście tak jest? W poniższym artykule spróbuje przybliżyć zagrożenia związane ze standardowymi instalacjami produktów Oracle. Już na wstępie chcę zaznaczyć, że nie zamierzam odsądzać firmy Oracle od czci i wiary, potępiać posunięć marketingowych i sugerować że DBMS Oracle jest niebezpieczny czy też dziurawy jak przysłowiowe rzeszoto. Moim celem jest wykazanie, że każdy produkt jest w większym lub mniejszym stopniu narażony na błędy programistów i projektantów, niezależnie od tego co twierdzą hasła na sztandarach. Oracle 9i to dobry produkt bazodanowy, świadczy o tym chociażby udział w rynku, jednak nawet tak dużym firmom i tak renomowanym produktom zdarzają się wpadki. Należy o tym pamiętać i nie ufać bezgranicznie hasłom reklamowym. Nie bez kozery motto Narodowej Agencji Bezpieczeństwa USA brzmi ufamy Bogu wszystko inne sprawdzamy. Wszystkie opisywane błędy dotyczą instalacji standardowej. Da się ich uniknąć stosując poprawki i zalecenia producenta oraz eliminując zbędną funkcjonalność w instalacjach produkcyjnych. Pierwsza część artykułu będzie dotyczyć ataków możliwych do przeprowadzenia z sieci lokalnej. Skupię się głównie na Autor jest współwłaścicielem firmy SecuRing, koordynatorem prac zespołu i osobą odpowiedzialną za sporządzanie raportów. Sześć lat doświadczenia praktycznego w zakresie bezpieczeństwa IT. Prelegent na licznych konferencjach poświęconych bezpieczeństwu IT (m.in. CERT Secure, PLOUG/Oracle, Open Source Security, Windows Security). Prowadzi rubrykę poświęconą bezpieczeństwu w Biuletynie Polskiej Grupy Użytkowników Systemu Oracle. Uprzednio koordynował pracę zespołów konsultantów bezpieczeństwa firm ABA i BSI. Zawodowo nie zajmuję się administracją serwerów Oracle. Moja praca wiąże się raczej z analizowaniem bezpieczeństwa systemów IT (testy penetracyjne, przeglądy konfiguracji). Z tego względu prezentowany materiał przyjmuje raczej punkt widzenia atakującego system niż administratora. Artykuł jest podsumowaniem ponad dwuletnich doświadczeń w testowaniu bezpieczeństwa systemów Oracle. Większość informacji pochodzi ze źródeł powszechnie dostępnych w Internecie. niedoskonałościach serwisu Oracle Listener. W drugiej części opiszę kilka zagrożeń związanych z serwerami aplikacji internetowych zbudowanych w oparciu o Oracle. Część ta będzie dotyczyć głównie modułów serwisu Apache, który wchodzi w skład rozwiązań aplikacyjnych Oracle. Trochę historii Produkty firmy Oracle przez wiele lat były uważane za aplikacje nie posiadające znaczących błędów związanych z bezpieczeństwem. Opinia ta wynikała najprawdopodobniej z nikłego zainteresowania badaczy tymi produktami, co znowu było spowodowane ich niską dostępnością. Żeby uzyskać dostęp do pełnych wersji systemów DBMS firmy Oracle należało kupić stosunkowo drogie licencje. Sprawy przyjęły inny obrót, gdy Oracle zaczęło udostępniać pełne wersje swoich produktów w Internecie. Wersje te można stosować do celów deweloperskich i testowych. Od około dwóch lat widać znaczne zainteresowanie tymi produktami wśród specjalistów zajmujących się testowaniem bezpieczeństwa aplikacji i wyszukiwaniem w nich błędów. Przyniosło to też znaczącą poprawę w podejściu producenta do problemów bezpieczeństwa samego kodu wchodzącego w skład produktów Oracle. Wcześniej Oracle pojmowało bezpieczeństwo tylko przez pryzmat mechanizmów zabezpieczających dane w samej aplikacji oraz zwiększających ich dostępność. W roku 2002 Oracle opublikowało ponad 20 informacji o zagrożeniach w swoich produktach. Ponadto standardowe dystrybucje Oracle 11
2 <<TOP>> Listing 1. Pozyskanie informacji o systemie komenda TNS status tnscmd status -h p 1521 sending (CONNECT_DATA=(COMMAND=status)) to :1521 connect writing 89 bytes reading @....j... DESCRIPTION= TMP= VSNNUM= ERR=0 ALIAS=LISTENER SECURITY=OFF VERSION=TNSLSNR for Solaris: Version Production START_DATE=28-OCT :22:44 SIDNUM=1 LOGFILE=/opt/oracle/8i/network/log/listener.log PRMFILE=/opt/oracle/8i/network/admin/listener.ora TRACING=off UPTIME= SNMP=OFF zawierają w sobie komponenty Open Source takie jak np. Apache które też nie są wolne od błędów. Oracle Listener Na początek garść faktów na temat oprogramowania 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. 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 Do komunikacji między Oracle Client a Listenerem jest wykorzystywany protokół TNS (Transparent Network Substrate). 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. Słowem: It s not a bug It s a feature. Przejdźmy jednak do konkretów. Do atakowania Oracle Listenera można zastosować prosty skrypt perl o nazwie tnscmd. Można go uzyskać pod adresem tnscmd/tnscmd. Skrypt ten pozwala na wydawanie komend protokołu TNS. Uzyskanie informacji o systemie Standardowo Oracle Listener przyjmuje komendy od każdego i nie wymaga żadnej autoryzacji. Może to prowadzić do wielu nadużyć. Po pierwsze, dowolny użytkownik sieci, który jest w stanie nawiązać komunikację z portem listenera 1521 TCP, może 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. Przykład pozyskania niektórych z tych informacji znajduje się na Listingu 1. Dane te mogą posłużyć do przygotowania skutecznego ataku przeciwko systemowi operacyjnemu lub przeciwko samemu oprogramowaniu Oracle. Prosty atak DoS Standardowa konfiguracja umożliwia trywialny atak denial of service na Oracle Listener. Opcja SECURITY=OFF (patrz Listing 1) mówi o tym, że dla Listenera można wydawać komendy bez jakiegokolwiek uwierzytelnienia. Standardowo dostęp administracyjny do listenera nie jest zabezpieczony hasłem, więc potencjalny intruz może wydać komendę: tnscmd stop -h oracleserwer -p 1521 Listener posłusznie zakończy swoje działanie. Jest to typowy, bardzo trywialny atak Denial of Service (DoS). Intruz nie zdobył dostępu do systemu ani do danych, ale skutecznie uniemożliwił korzystanie z systemu. Przed tego typu atakiem można się zabezpieczyć ustawiając opcję security w listenerze i hasło na dostęp do poleceń administracyjnych. Nadpisanie dowolnego pliku Proces listenera (tnslsnr) zapisuje wszystkie zdarzenia w swoim logu. Położenie tego logu konfiguruje administrator. Można je odczytać zdalnie przez opisaną poprzednio 12
3 <<DZIAL_A>> <<DZIAL_B>> Listing 2. Nadpisanie dowolnego pliku do którego ma dostęp użytkownik oracle (w tym wypadku jest to plik.rhosts w katalogu domowym użytkownika oracle) 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= )(err=0)(command=log_file)(logfilename=/home/oracle/.rhosts)) komendę protokołu TNS status. Na Listingu 1 jest to wartość zmiennej LOGFILE. Co ciekawsze za pomocą odpowiedniego zlecenia TNS położenie pliku logowania można zmieniać. Na dodatek, 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). W rezultacie intruz, który może komunikować się z portem 1521 serwera Oracle, ma możliwość nadpisania bądź utworzenia dowolnego pliku, do którego ma uprawnienia proces Oracle Listener. Standardowo na systemach uniksowych jest to użytkownik oracle, a na systemach Microsoftu użytkownik LOCAL_SYSTEM (sic!). W ten sposób intruz może zniszczyć pliki z danymi bazy, pliki konfiguracyjne czy też same binaria Oracle. Skrypt tnscmd ma możliwość bezpośredniego wpisywania ciągów znaków, które wejdą w skład zlecenia TNS. Mając pewną wiedzę o tym protokole można skonstruować zlecenie zmiany pliku logowania. Przykład przekierowanie logów do pliku /home/oracle/.rhosts jest pokazany na Listingu 2. Przykładowy scenariusz ataku przejęcie kontroli nad bazą Po przekierowaniu logów do dowolnego pliku wszystkie informacje logowane przez Oracle Listener będą zapisywane do tego pliku. Listener nie zapisuje do logów zbyt wiele informacji, przykładowo nie zapisuje adresu IP ani nazwy hosta, z którego nadeszło połączenie. W związku z tym intruz atakujący Oracle jedną z powyższych metod nie zostanie ujawniony przez logi listenera. W logu są za to zapisywane są wszystkie informacje o błędach, wraz z cytatem nieprawidłowej komendy. Umożliwia to wpisanie do pliku pożądanej przez intruza informacji, co w pewnych warunkach może prowadzić do przejęcia kontroli nad systemem. Poniżej przedstawię scenariusz ataku opierający się na wpisaniu odpowiedniej informacji do pliku.rhosts i wykorzystaniu serwisu rlogin. Uwaga: poniższy scenariusz należy traktować jedynie jako przykład. Zaprezentowane tu błędy umożliwiają o wiele szersze możliwości penetrowania systemów. Najpierw intruz wydaje za pomocą programu tnscmd polecenie TNS nakazujące listenerowi na serwerze oracleserwer zmianę pliku logowania na /home/oracle/.rhosts (Listing 2). Jak widać na dalszej części listingu, listener na serwerze oracleserwer wykonał to zlecenie. Od tej pory wszystkie zapisy o działaniu listenera będą płynąć do pliku /home/oracle/.rhosts. W systemach uniksowych w pliku.rhosts w katalogu domowym użytkownika zapisane są zdalne konta i nazwy bądź adresy IP hostów, które mogą się łączyć do tego systemu bez dalszego uwierzytelniania przez serwisy rlogin, rsh, rcmd. Celem intruza jest wpisanie do tego pliku swojego loginu i adresu IP swojego hosta. Jak już wspominaliśmy, listener zapisuje do logów informacje o błędach, wraz z cytatem nieprawidłowej komendy. Można to wykorzystać to do wpisania swojego IP i nazwy użytkownika do pliku.rhosts (Listing 3). Ważne jest, żeby wpisywane dane były umieszczone w osobnej linii. Jak widać listener zwrócił komunikat o błędzie, jednakże wpisał do swoich logów, a więc do pliku / home/oracle/.rhosts, całą linię z błędną komendą. W tym momencie plik /home/oracle/.rhosts (a więc obecny log Listing 3. Wykorzystanie listenera do wpisana swoich danych do dowolnego pliku wojdwo@behemot$./tnscmd -h oracleserwer \ --rawcmd "(CONNECT_DATA=(( wojdwo " sending (CONNECT_DATA=(( wojdwo to oracleserwer:1521 writing 93 bytes reading.$..."..(description=(err=1153)(vsnnum= ) (ERROR_STACK=(ERROR=i(CODE=1153)(EMFI=4) (ARGS='(CONNECT_DATA=(( wojdwo')) (ERROR=(C ODE=303)(EMFI=1)))) 13
4 <<TOP>> Listenera) wygląda tak jak na Listingu 4. Linię wojdwo intruz umieścił w pliku.rhosts wykorzystując niedoskonałości Oracle Listener. Zostanie ona prawidłowo zinterpretowana przez system, w rezultacie intruz może zalogować się zdalnie jako użytkownik oracle, bez żadnego uwierzytelnienia. Listing 5 ilustruje zdalne połączenie z serwerem oracleserwer i uzyskanie uprawnień użytkownika oracle. Podsumowując: zdalnie działający intruz zdołał, odpowiednio manipulując serwisem Oracle Listener, osiągnąć uprawnienia użytkownika oracle w systemie operacyjnym. Oczywiście ten przykładowy scenariusz zadziała tylko wtedy, gdy system operacyjny udostępnia możliwość zdalnego logowania się przez rlogin oraz korzysta z plików.rhosts do autoryzowania zdalnych użytkowników (standardowa konfiguracja większości uniksów). Tak jak powiedziałem wcześniej jest to tylko przykład. Można skonstruować podobny atak manipulujący kluczami ssh i w rezultacie, dający dostęp do systemu via ssh. Można również przeprowadzić podobne ataki na Oracle działające na platformach Windows. Byłyby one o wiele skuteczniejsze i groźniejsze nie tylko dla bazy danych ale też dla samego systemu, z uwagi na to, że intruz uzyskałby uprawnienia Local System. Powyższe zagrożenia są tym bardziej godne uwagi, że występują po dziś dzień, we wszystkich wersjach Oracle zawierających Oracle Listener, łącznie z najnowszą, chociaż zagrożenie jest znane od 2000 roku. Łata wypuszczona przez Oracle (# ) wprowadza do pliku konfiguracyjnego Listenera (listener.ora) dodatkowy parametr ADMIN_RESTRICTIONS. Włączenie tego parametru uniemożliwia dynamiczną zdalną rekonfigurację listenera. Jednak dla zachowania zgodności wstecz standardowo parametr ten jest wyłączony. Inne ciekawe błędy Listenera Jak już wspomniałem powyżej zaprezentowane błędy są o tyle ciekawe, że nie są przeoczeniem koderów, lecz błędami popełnionymi w fazie projektowania produktu. Oczywiście, Oracle Listener nie jest wolny od bardziej tradycyjnych zagrożeń wiążących się np. z brakiem walidacji danych wejściowych. Informacje o innych błędach są dostępne m.in. na stronie Listing 4. Zawartość pliku /home/oracle/.rhosts po nadpisaniu go przez Oracle Listener 12-SIE :44:05 * log_file * 0 12-SIE :44:37 * service_register * ora1 * 0 12-SIE :44:58 * 1153 TNS-01153: Failed to process string: (CONNECT_DATA=(( wojdwo NL-00303: syntax error in NV string Listing 5. Rezultatem ataku jest możliwość zdalnego zalogowania się do systemu z uprawnieniami użytkownika Oracle wojdwo@behemot$ rlogin -l oracle oracleserwer Linux oracleserwer Mon Aug 12 15:46:15 EST 2002 i686 unknown oracle@oracleserwer:~$ id uid=1001(oracle) gid=103(oinstall) groups=103 (oinstall),104(dba),105(oper) deploy/security/alerts.htm oraz w prowadzonym przeze mnie Biuletynie Bezpieczeństwa Oracle, który ukazuje się w gazetce Polskiej Grupy Użytkowników Systemu Oracle. Jest ona dostępna on-line pod adresem podanym w Ramce W Sieci. Poniżej przedstawię dwa zagrożenia, które wydały mi się szczególnie ciekawe. Oba są poprawione przez producenta i istnieją na nie odpowiednie łaty. Ciekawym błędem (przykład jego wykorzystania przedstawia Listing 6) popełnionym przez programistów tworzących Oracle Listener jest błąd pozwalający na ujawnienie informacji przekazywanej w poprzednim połączeniu innego użytkownika z listenerem. Błąd programisty polega prawdopodobnie na tym, że bufor, do którego są przyjmowane komunikaty, nie jest każdorazowo czyszczony. W rezultacie ustawiając w odpowiednim parametrze większą niż w rzeczywistości długość wydawanej komendy TNS (oracleserwer --cmdsize 30), można odczytać część komendy wydanej do listenera przez poprzedniego użytkownika (COMMAND=status ). Inny ciekawy błąd wiąże się z komendą SERVICE_ CURLOAD. Do wysłania tej komendy można wykorzystać program tnscmd: tnscmd -h rawcmd "(CONNECT_ DATA=(COMMAND=SERVICE_CURLOAD))" W rezultacie proces listenera (tnslsnr) konsumuje 99% czasu procesora. Znowu bardzo trywialny atak denial of service. Listing 6. Manipulacja protokołem TNS; w rezultacie listener zdradza fragment poprzedniej komendy 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= ) (ERROR_STACK=(ERROR=(CODE=1153)(EMFI=4) (ARGS='CONNECT_DATA=(COMMAND=status)')) (ERROR=(CODE=303)(EMFI=1)))) 14
5 <<DZIAL_A>> <<DZIAL_B>> Oracle Listener uwagi Przedstawione powyżej ataki związane z Oracle Listener wymagają oczywiście żeby intruz mógł komunikować się z tym procesem. Musi on mieć możliwość wysyłania pakietów do portu 1521/tcp. Z tego też powodu większość administratorów ignoruje te zagrożenia, ponieważ chronią przed nimi firewalle, które w większości wypadków blokują ruch na ten port. Jak w rzeczywistości wygląda ograniczanie dostępu do portów serwerów bazodanowych mogliśmy się przekonać pod koniec stycznia 2003 przy epidemii robaka Slammer (Sapphire), atakującego serwery MS-SQL. Poza tym większość intruzów nie atakuje przez frontowe drzwi. Zamiast próbować zaatakować bezpośrednio serwer Oracle, dużo łatwiej jest przejąć kontrolę nad jakąś stacją roboczą w atakowanej sieci i stąd bez większych problemów przeprowadzić atak na Oracle Listener. Oczywiście istnieją możliwości przynajmniej częściowego zabezpieczania się przed powyższymi zagrożeniami. Podstawowym sposobem ochrony jest włączenie w listenerze opcji security i ustawienie hasła dostępu. Poza tym można limitować adresy IP, które mogą łączyć się do listenera (dyrektywy tcp.validnode_checking i tcp.invited_nodes) oraz zabronić dynamicznej modyfikacji plików konfiguracyjnych (np. logów) przez włączenie opcji ADMIN_RESTRICTIONS. Apache a'la Oracle W ostatnich latach bardzo popularną formą udostępniania informacji stały się serwisy WWW połączone z bazami danych. W takiej architekturze po stronie serwera WWW uruchamiane są pewne metody dynamiczne (np. PHP, ASP, JSP), które pobierają dane z bazy danych i generują strony WWW. Całość tworzy aplikacje webową. Klientem takiej aplikacji jest oczywiście zwykła przeglądarka WWW. Oracle i inni producenci produktów bazodanowych dostrzegli ten trend i uzupełnili swoje produkty o możliwość dostępu do danych przez przeglądarki WWW. W przypadku Oracle serwerem WWW jest Oracle HTTP Listener. Jest to drugi (poza standardowym Listenerem) sposób komunikacji z serwerem Oracle, a więc również potencjalne miejsce ataków z zewnątrz systemu. Oracle HTTP Listener to dobrze znany serwer Apache serii 1.3.x z dopisanymi przez Oracle modułami, które integrują go z Oracle DBMS. Kod wykonywany po stronie serwera może być tworzony przy pomocy wielu różnych metod. Najważniejsze to: PL/SQL język proceduralny Oracle; za jego interpretację w przypadku skryptów server-side odpowiada moduł mod_plsql. Skrypty JSP i serwlety Java obsługiwane przez JServ (mod_jserv statycznie zlinkowany z Apache) lub Oracle Containers for Java (OC4J). Można powiedzieć, że jeśli chodzi o serwery aplikacjito Oracle stawia na Javę. W związku z tym metody te są rozszerzone o różne ciekawe możliwości, np. XSQL integracja z XML, czy też SQLJ bezpośrednie wykonywanie zapytań SQL z wnętrza skryptów Java. Inne tradycyjne metody, jak np. skrypty CGI czy Perl (mod_cgi i mod_perl są standardowo włączone). Ponadto Oracle udostępnia całe mnóstwo technologii uzupełniających, takich jak zaawansowane buforowanie stron dynamicznych (Oracle Web Cache), framework do tworzenia stron portalowych (Oracle Portal), implementacje WebDAV i inne. Nietrudno się domyślić, że większość z tych modułów dodatkowych posiada bardzo długą i szybko rozwijającą się listę zagrożeń z nimi związanych. Jest to sytuacja typowa dla oprogramowania, które jest bardzo szybko rozwijane. Oczywiście w standardowej instalacji jest włączona większość z tych rozszerzeń. Jak wskazuje praktyka, mało która instalacja produkcyjna ma konfigurację mocno odbiegającą od standardowej, a administratorzy z braku wiedzy o wszystkich zaawansowanych komponentach, wolą je zostawić niż narażać się na destabilizację serwera. Potwierdza się tu stara zasada, że bezpieczeństwo jest odwrotnie proporcjonalne do udostępnianej przez oprogramowanie funkcjonalności. Poniżej przedstawię kilka przykładów ciekawych ataków wykorzystujących luki w modułach Oracle HTTP Listener. Wszystkie opisane zagrożenia są usuwalne przez nałożenie odpowiednich łat producenta. Dość charakterystyczna jest jednak ich trywialność oraz to, że praktycznie wszystkie zostały ujawnione na przestrzeni ostatniego roku. Ujawnienie kodu źródłowego skryptów JSP Java Server Pages (JSP), to jedna z metod, za pomocą których serwer może generować strony WWW z zawartością dynamiczną, którą stanowią informacje pobrane z bazy danych. Gdy klient (przeglądarka WWW) poprosi o stronę o rozszerzeniu JSP, to standardowo serwer wyszukuje odpowiedni kod Java, kompiluje go i wykonuje. Rezultat wykonania w postaci strony HTML jest zwracany do przeglądarki. Podczas tego procesu w ścieżce /_pages serwera WWW tworzone są pliki tymczasowe. Jeden z takich 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. Przykład: Najpierw należy uruchomić atakowany skrypt JSP, po to by serwer pobrał kod i go skompilował: 15
6 <<TOP>> Teraz można odczytać źródło skryptu JSP odwołując się do odpowiedniego pliku w ścieżce /_pages: ConnBeanDemo.java Żeby obronić się przed tym zagrożeniem wystarczy zabronić w konfiguracji Apache dostępu do ścieżki /_pages. Wszelkie skrypty JSP powinny też być przechowywane w postaci prekompilowanej. W ten sposób uniknie się potencjalnie niebezpiecznej konieczności kompilowania skryptów w momencie dostępu do nich, co przy okazji poprawi też wydajność. Skrypty demo Wiele zagrożeń wiąże się z umieszczonymi w standardowej instalacji Oracle skryptami demonstrującymi funkcjonalność Oracle jako serwera aplikacji. Skrypty te są umieszczone w ścieżce /demo. Wiele z tych przykładów nie jest niestety dobrymi wzorcami do naśladowania, zwłaszcza jeśli chodzi o zasady bezpiecznego programowania. Duża ilość skryptów demonstrujących pobieranie danych z bazy na podstawie zmiennych pochodzących od użytkownika jest podatna na ataki typu SQL injection. Dobra praktyka administracyjna nakazuje usunięcie z serwerów produkcyjnych wszelkiej zbędnej funkcjonalności i zawartości, jednak pozostawianie skryptów demo jest niestety spotykane bardzo często w instalacjach produkcyjnych (a wręcz nagminnie w serwerach deweloperskich wystawionych do Internetu). 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. Problem polega na tym, że zapytanie to jest konstruowane przez proste wklejenie ciągu znaków pobranego od użytkownika, bez żadnej walidacji. Intruz może wykorzystać ten skrypt do przeczytania dowolnych danych z bazy, do których ma dostęp użytkownik z jakiego uprawnieniami działa skrypt sample2.jsp (standardowo użytkownik SCOTT) również danych systemowych. 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. Jeśli już jesteśmy przy atakach techniką SQL-injection, to warto wspomnieć, że w wypadku Oracle nie jest możliwe doklejanie po znaku średnika osobnej komendy SQL, tak jak to jest w przypadku PostgreSQL czy też MS- SQL. Powszechnie stosowaną techniką jest (tak jak w powyższym przykładzie) doklejenie swojej części zapytania przez UNION SELECT. Interfejsy administracyjne Stosunkowo proste ale bardzo skuteczne ataki można również przeprowadzać za pomocą interfejsów do administrowania przez WWW. W standardowej instalacji Oracle spora część stron administracyjnych nie wymaga uwierzytelnienia (sic!). URL-e kilku z takich stron przedstawione są poniżej: Moduł mod_plsql Module 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. Jednym z nich jest przepełnienie bufora wejściowego w skrypcie służącym do wyświetlania pomocy. Wysłanie zlecenia typu: AAAAAAAA...(>1000 znaków) powoduje błąd segmentacji w procesie obsługującym to zlecenie. Za pomocą techniki buffer-overflow możliwe jest wykonanie kodu intruza na serwerze, w kontekście procesu serwera WWW (httpd). Innym atakiem, na jaki jest podatny mod_plsql, jest zastosowanie techniki double decode. Technika ta 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: Odczytanie pliku konfiguracyjnego plsql.conf: Wykorzystanie standardowych pakietów PL/SQL W skład standardowej instalacji Oracle wchodzi dość pokaźna biblioteka zawierająca różne pakiety procedur PL/SQL. W starszych wersjach Oracle wszystkie pakiety są udostępnianie również przez Internet, za pomocą mod_plsql. Składnia wywołania procedury PL/SQL przez serwer WWW wygląda następująco:
7 <<DZIAL_A>> <<DZIAL_B>> DAD (ang. Database Access Descriptor) to struktura opisująca sposób łączenia się do bazy. W standardowej instalacji jest dostępny przykładowy deskryptor o nazwie simpledad. Poniżej przedstawię przykład ataku za pomocą procedur z pakietu owa_util. Sprawdzenie działania pakietu owa_util: Ujawnienie kodu żródłowego dowolnego pakietu PL/ SQL (np. file_util): file_util Wykonanie nieautoryzowanych zapytań do bazy: listprint?p_t hequery=select%20*%20from%20all_ users&p_cname=&p_nsize= 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. Administrator może obronić się przed wykorzystaniem tych pakietów przez ustawienie parametru exclusion_list w pliku konfiguracyjnym wdbsrv.app. W standardowej konfiguracji Oracle 9i parametr ten jest ustawiony. W starszych wersjach nie jest on włączony. Odczytanie konfiguracji XSQL za pomocą servleta XSQLServlet Plik XSQLConfig.xml zawiera informacje o konfiguracji rozszerzeń XSQL. Między innymi nazwę i hasło użytkownika z jakiego uprawnieniami moduł XSQL łączy się do bazy danych. Plik ten znajduje się w przestrzeni serwera WWW, w ścieżce /xsql/lib/xsqlconfig.xml. Serwer zabrania dostępu do tego pliku a bezpośrednia próba dostępu powoduje zwrócenie komunikatu 403 Forbidden. Ponieważ jest to plik XML, to da się go odczytać wykorzystując standardowo udostępniany servlet XSQLServlet: xsql/lib/xsqlconfig.xml Aplikacje WWW uwagi Powyższe przykłady ataków na oprogramowanie integrujące bazę Oracle z Internetem to jedynie wybór kilku bardziej interesujących metod. W rzeczywistości lista jest znacznie dłuższa. Mimo wszystko błędy popełnione przez producenta platformy jaką jest serwer aplikacji nie są tak kluczowe, jak błędy popełniane przez twórców udostępnianych przez ten serwer aplikacji WWW. Sercem każdej instalacji typu serwer aplikacyjny jest oprogramowanie stworzone ściśle do określonych potrzeb. Programy te w postaci skryptów PL/SQL, JSP, serwletów Java itp. działają na serwerach WWW i komunikują się z bazą danych. Pamiętajmy o tym, że każdy błąd popełniony przez programistę w tego typu skryptach może owocować nieobliczalnymi skutkami. Skrypty te są o tyle groźne, że ich istotą działania jest interakcja z często anonimowym użytkownikiem z Internetu. A ponieważ używają one protokołu HTTP zagrożenia z nimi związane nie dają się kontrolować za pomocą tradycyjnych mechanizmów obrony jakimi są firewalle i IDS-y. Jedynym środkiem ochrony jest uważny audyt kodu przez odpowiednich fachowców. Uwagi uzupełniające Poza zaprezentowanymi tutaj metodami ataku warto wspomnieć o ustawieniach standardowych Oracle, które mogą ułatwić zadanie intruzowi. Kuriozalnym wręcz przykładem są tu powszechnie znane konta i hasła obecne w standardowej instalacji Oracle. W Internecie można znaleźć listę ponad 100 kont standardowo instalowanych przez Oracle 8i/9i oraz produkty towarzyszące. Z reguły są to wewnętrzne konta systemu lub konta związane z aplikacjami demo. W Oracle 8i (8.1.7) kilka z tych kont ma bardzo wysokie uprawnienia: CTXSYS (hasło CTXSYS) uprawnienia DBA (administrator bazy), TRACESVR (hasło TRACE) uprawnienia select any table, MDSYS (hasło MDSYS) zestaw bardzo wysokich uprawnień. Charakterystyczne jest to, że konta te wiążą się z marginalną funkcjonalnością Oracle. Np. CTXSYS to konto potrzebne do działania pakietu potrzebnego do kontekstowego przeszukiwania dokumentów, a MDSYS do obsługi danych wielowymiarowych (np. w systemach GIS). Producent zaleca usunięcie lub zablokowanie kluczowych kont o ile dana funkcjonalność nie jest używana, jednak spora liczba administratorów (nie tylko Oracle) nie bierze pod uwagę tych zaleceń. 17
Wybrane metody ataków na systemy Oracle
Wybrane metody ataków na systemy Oracle Warsztat PLOUG'20 Wojciech Dworakowski Oracle Do niedawna uwaŝany za system bezpieczny Powód: brak badań brak dostępu do software brak zainteresowania badaczy produktami
Wojciech Dworakowski. Zabezpieczanie aplikacji. Firewalle aplikacyjne - internetowych
Firewalle aplikacyjne - Zabezpieczanie aplikacji internetowych Wojciech Dworakowski Agenda Dlaczego tradycyjne mechanizmy nie wystarczają? Wykorzystanie zaawansowanych firewalli Firewalle aplikacyjne architektura
WINDOWS Instalacja serwera WWW na systemie Windows XP, 7, 8.
WINDOWS Instalacja serwera WWW na systemie Windows XP, 7, 8. Gdy już posiadamy serwer i zainstalowany na nim system Windows XP, 7 lub 8 postawienie na nim serwera stron WWW jest bardzo proste. Wystarczy
Bazy danych z punktu widzenia intruza. (MySQL, PostgreSQL, Oracle)
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,
ZPKSoft WDoradca. 1. Wstęp 2. Architektura 3. Instalacja 4. Konfiguracja 5. Jak to działa 6. Licencja
ZPKSoft WDoradca 1. Wstęp 2. Architektura 3. Instalacja 4. Konfiguracja 5. Jak to działa 6. Licencja 1. Wstęp ZPKSoft WDoradca jest technologią dostępu przeglądarkowego do zasobów systemu ZPKSoft Doradca.
Informatyka I. Standard JDBC Programowanie aplikacji bazodanowych w języku Java
Informatyka I Standard JDBC Programowanie aplikacji bazodanowych w języku Java dr inż. Andrzej Czerepicki Politechnika Warszawska Wydział Transportu 2017 Standard JDBC Java DataBase Connectivity uniwersalny
SQL z perspektywy hakera - czy Twoje dane są bezpieczne? Krzysztof Bińkowski MCT,CEI,CEH,ECSA,ECIH,CLFE,MCSA,MCSE..
SQL z perspektywy hakera - czy Twoje dane są bezpieczne? Krzysztof Bińkowski MCT,CEI,CEH,ECSA,ECIH,CLFE,MCSA,MCSE.. Cel prezentacji Spojrzymy na dane i serwery SQL z perspektywy cyberprzestępcy, omówimy
Hosting WWW Bezpieczeństwo hostingu WWW. Dr Michał Tanaś (http://www.amu.edu.pl/~mtanas)
Hosting WWW Bezpieczeństwo hostingu WWW Dr Michał Tanaś (http://www.amu.edu.pl/~mtanas) Najgroźniejsze ataki na serwer WWW Najgroźniejsze ataki na serwer WWW Cross-site scripting (XSS) SQL injection Denial
Zagrożenia trywialne. Zagrożenia bezpieczeństwa aplikacji internetowych. Parametry ukryte. Modyfikowanie parametrów wywołania
Zagrożenia trywialne Zagrożenia bezpieczeństwa aplikacji internetowych Rozwiązania charakterystyczne dla fazy rozwoju opisy rozpoznanych błędów, debugging, komentarze poprzednie wersje plików (cp plik.jsp
System Kancelaris. Zdalny dostęp do danych
Kancelaris krok po kroku System Kancelaris Zdalny dostęp do danych Data modyfikacji: 2008-07-10 Z czego składaj adają się systemy informatyczne? System Kancelaris składa się z dwóch części: danych oprogramowania,
Projektowani Systemów Inf.
Projektowani Systemów Inf. Wykład VII Bezpieczeństwo Copyrights by Arkadiusz Rzucidło 1 Bezpieczeństwo Bezpieczeństwo związane z danymi Konstrukcja magazynów danych Mechanizmy zapisu i modyfikacji danych
Biuletyn Bezpieczeństwa PLOUG Podsumowanie 2004
X Konferencja PLOUG Kościelisko Październik 2004 Biuletyn Bezpieczeństwa PLOUG Podsumowanie 2004 Wojciech Dworakowski SecuRing e mail: wojtekd@securing.pl Abstrakt W Biuletynie Polskiej Grupy Użytkowników
Narzêdzia do testowania bezpieczeñstwa Oracle
VIII Konferencja PLOUG Koœcielisko PaŸdziernik 2002 Narzêdzia do testowania bezpieczeñstwa Oracle Wojciech Dworakowski wojtekd@ipsec.pl Narzędzia do testowania bezpieczeństwa Oracle 175 Po co testować
Plan. Wprowadzenie. Co to jest APEX? Wprowadzenie. Administracja obszarem roboczym
1 Wprowadzenie do środowiska Oracle APEX, obszary robocze, użytkownicy Wprowadzenie Plan Administracja obszarem roboczym 2 Wprowadzenie Co to jest APEX? Co to jest APEX? Architektura Środowisko Oracle
Audytowane obszary IT
Załącznik nr 1 do OPZ Zakres audytu wewnętrznego Audytowane obszary IT Audyt bezpieczeństwa wewnętrznego odbywać się będzie w 5 głównych obszarach 1) Audyt konfiguracji systemów operacyjnych na wybranych
Informatyka I. Programowanie aplikacji bazodanowych w języku Java. Standard JDBC.
Informatyka I Programowanie aplikacji bazodanowych w języku Java. Standard JDBC. dr hab. inż. Andrzej Czerepicki Politechnika Warszawska Wydział Transportu 2019 Standard JDBC Java DataBase Connectivity
Wszystkie parametry pracy serwera konfigurujemy w poszczególnych zakładkach aplikacji, podzielonych wg zakresu funkcjonalnego.
Sz@rk Server - konfigurowanie systemu Sz@rk Server jest serwerem aplikacji z wydzieloną logiką biznesową, pracującym w architekturze opartej o usługi (SOA). Dane pomiędzy serwerem i klientami przesyłane
OPROGRAMOWANIE KEMAS zbudowane jest na platformie KEMAS NET
Security Systems Risk Management OPROGRAMOWANIE KEMAS zbudowane jest na platformie KEMAS NET Oprogramowanie firmy KEMAS jest zbudowane na bazie pakietu programowego- KEMAS NET- dedykowanego do zarządzania
Jarosław Kuchta Administrowanie Systemami Komputerowymi. Internetowe Usługi Informacyjne
Jarosław Kuchta Internetowe Usługi Informacyjne Komponenty IIS HTTP.SYS serwer HTTP zarządzanie połączeniami TCP/IP buforowanie odpowiedzi obsługa QoS (Quality of Service) obsługa plików dziennika IIS
Instalacja i konfiguracja serwera IIS z FTP
Instalacja i konfiguracja serwera IIS z FTP IIS (Internet Information Services) jest to usługa dostępna w systemach z rodziny Windows Server, pozwalająca na obsługę i utrzymanie własnych stron WWW oraz
Aplikacje webowe w obliczu ataków internetowych na przykładzie CodeIgniter Framework
Uniwersytet Zielonogórski Wydział Elektrotechniki, Informatyki i Telekomunikacji Aplikacje webowe w obliczu ataków internetowych na przykładzie CodeIgniter Framework mgr inż. Łukasz Stefanowicz dr inż.
Pracownia internetowa w szkole ZASTOSOWANIA
NR ART/SBS/07/01 Pracownia internetowa w szkole ZASTOSOWANIA Artykuły - serwery SBS i ich wykorzystanie Instalacja i Konfiguracja oprogramowania MOL Optiva na szkolnym serwerze (SBS2000) Artykuł opisuje
Wdrożenie modułu płatności eservice. dla systemu Magento 1.4 1.9
Wdrożenie modułu płatności eservice dla systemu Magento 1.4 1.9 - dokumentacja techniczna Wer. 01 Warszawa, styczeń 2014 1 Spis treści: 1 Wstęp... 3 1.1 Przeznaczenie dokumentu... 3 1.2 Przygotowanie do
Serwery LDAP w środowisku produktów w Oracle
Serwery LDAP w środowisku produktów w Oracle 1 Mariusz Przybyszewski Uwierzytelnianie i autoryzacja Uwierzytelnienie to proces potwierdzania tożsamości, np. przez: Użytkownik/hasło certyfikat SSL inne
Tworzenie aplikacji Web Alicja Zwiewka. Page 1
Tworzenie aplikacji Web Alicja Zwiewka Page 1 Co to są web-aplikacje? Aplikacja internetowa (ang. web application) program komputerowy, który pracuje na serwerze i komunikuje się poprzez sieć komputerową
Aplikacje WWW - laboratorium
Aplikacje WWW - laboratorium PHP + bazy danych Celem ćwiczenia jest przygotowanie prostej aplikacji internetowej wykorzystującej technologię PHP. Aplikacja pokazuje takie aspekty, współpraca PHP z bazami
Typy przetwarzania. Przetwarzanie zcentralizowane. Przetwarzanie rozproszone
Typy przetwarzania Przetwarzanie zcentralizowane Systemy typu mainfame Przetwarzanie rozproszone Architektura klient serwer Architektura jednowarstwowa Architektura dwuwarstwowa Architektura trójwarstwowa
Win Admin Replikator Instrukcja Obsługi
Win Admin Replikator Instrukcja Obsługi Monitoring Kopie danych (backup) E-mail Harmonogram lokalne i zewnętrzne repozytorium Logi Pamięć Procesor HDD Administracja sprzętem i oprogramowaniem (automatyzacja
Metody ataków sieciowych
Metody ataków sieciowych Podstawowy podział ataków sieciowych: Ataki pasywne Ataki aktywne Ataki pasywne (passive attacks) Polegają na śledzeniu oraz podsłuchiwaniu w celu pozyskiwania informacji lub dokonania
I. Informacje ogólne. Jednym z takich systemów jest Mambo.
MAMBO (CMS) I. Informacje ogólne CMS, Content Management System ("system zarządzania treścią") jest to jedna lub zestaw aplikacji internetowych pozwalających na łatwe utworzenie oraz późniejszą aktualizację
Przegląd technik wirtualizacji i separacji w nowoczesnych systemach rodziny UNIX
Przegląd technik wirtualizacji i separacji w nowoczesnych systemach rodziny UNIX CONFidence 2005 IX Liceum Ogólnokształcące im. C.K. Norwida w Częstochowie Krajowy Fundusz na Rzecz Dzieci Wojciech A. Koszek
Jednym z najważniejszych zagadnień, z którym może się zetknąć twórca
Uwierzytelnianie w PHP 01 Jednym z najważniejszych zagadnień, z którym może się zetknąć twórca stron internetowych, jest identyfikacja i uwierzytelnienie uprzywilejowanego użytkownika. Od zaprojektowania
Administratora CSIZS - OTM
Powykonawcza Dokumentacja Wykonawca: Asseco Poland S.A. Ul. Olchowa 14, 35-322 Rzeszów Informacje o dokumencie: Autor Zespół ds. Wytwarzania i Analizy Tytuł Produkt 33.3 Dokumentacja administratora OTM
Praca z programami SAS poza lokalną siecią komputerową UZ. Zestawienie tunelu SSH oraz konfiguracja serwera proxy w przeglądarce WWW
Instytut Sterowania i Systemów Informatycznych Uniwersytet Zielonogórski Praca z programami SAS poza lokalną siecią komputerową UZ. Zestawienie tunelu SSH oraz konfiguracja serwera proxy w przeglądarce
Bezpieczeństwo systemów komputerowych
Bezpieczeństwo systemów komputerowych Jak pisać poprawne programy? Aleksy Schubert (Marcin Peczarski) Instytut Informatyki Uniwersytetu Warszawskiego 6 listopada 2018 Na podstawie: David A. Wheeler Secure
Zagrożenia związane z udostępnianiem aplikacji w sieci Internet
Zagrożenia związane z udostępnianiem aplikacji w sieci Internet I Ogólnopolska Konferencja Informatyki Śledczej Katowice, 8-9 stycznia 2009 Michał Kurek, Aleksander Ludynia Cel prezentacji Wskazanie skali
Bezpieczne udostępnianie usług www. BłaŜej Miga blazej.miga@man.poznan.pl. Zespół Bezpieczeństwa PCSS
Bezpieczne udostępnianie usług www BłaŜej Miga blazej.miga@man.poznan.pl Zespół Bezpieczeństwa PCSS Wstęp Bezpieczny hosting IIS + ASP.NET - dobrana para ZagroŜenia przykładowe ataki Zabezpieczamy serwer
ZAŁĄCZNIK NR 3 OPIS PRZEDMIOTU ZAMÓWIENIA DOTYCZĄCY WDROŻENIA PLATFORMY ZAKUPOWEJ
ZAŁĄCZNIK NR 3 OPIS PRZEDMIOTU ZAMÓWIENIA DOTYCZĄCY WDROŻENIA PLATFORMY ZAKUPOWEJ 1. PRZEDMIOT ZAMÓWIENIA Przedmiotem zamówienia jest dostarczenie i wdrożenie systemu informatycznego dalej Platforma zakupowa
dziennik Instrukcja obsługi
Ham Radio Deluxe dziennik Instrukcja obsługi Wg. Simon Brown, HB9DRV Tłumaczenie SP4JEU grudzień 22, 2008 Zawartość 3 Wprowadzenie 5 Po co... 5 Główne cechy... 5 baza danych 7 ODBC... 7 Który produkt
Serwery. Autorzy: Karol Czosnowski Mateusz Kaźmierczak
Serwery Autorzy: Karol Czosnowski Mateusz Kaźmierczak Czym jest XMPP? XMPP (Extensible Messaging and Presence Protocol), zbiór otwartych technologii do komunikacji, czatu wieloosobowego, rozmów wideo i
Zadanie1: Odszukaj w serwisie internetowym Wikipedii informacje na temat protokołu http.
T: Konfiguracja usługi HTTP w systemie Windows. Zadanie1: Odszukaj w serwisie internetowym Wikipedii informacje na temat protokołu http. HTTP (ang. Hypertext Transfer Protocol) protokół transferu plików
Procedury techniczne modułu Forte Kontroling. Środowisko pracy programu i elementy konfiguracji
Procedury techniczne modułu Forte Kontroling Środowisko pracy programu i elementy konfiguracji Środowisko pracy programu i elementy konfiguracji Strona 2 z 5 Moduł Kontroling Systemu Zarzadzania Forte
Temat: Ułatwienia wynikające z zastosowania Frameworku CakePHP podczas budowania stron internetowych
PAŃSTWOWA WYŻSZA SZKOŁA ZAWODOWA W ELBLĄGU INSTYTUT INFORMATYKI STOSOWANEJ Sprawozdanie z Seminarium Dyplomowego Temat: Ułatwienia wynikające z zastosowania Frameworku CakePHP podczas budowania stron internetowych
Wykaz zmian w programie SysLoger
Wykaz zmian w programie SysLoger Pierwsza wersja programu 1.0.0.1 powstała we wrześniu 2011. Funkcjonalność pierwszej wersji programu: 1. Zapis logów do pliku tekstowego, 2. Powiadamianie e-mail tylko
Skanowanie podsieci oraz wykrywanie terminali ABA-X3
Skanowanie podsieci oraz wykrywanie terminali ABA-X3 Terminale ABA-X3 od dostarczane od połowy listopada 2010 r. są wyposażane w oprogramowanie umożliwiające skanowanie podsieci w poszukiwaniu aktywnych
6. Bezpieczeństwo przy współpracy z bazami danych
6. Bezpieczeństwo przy współpracy z bazami danych 6.1. Idea ataku SQL injection Atak znany jako SQL injection jest możliwy wtedy, gdy użytkownik ma bezpośredni wpływ na postać zapytania wysyłanego do bazy
Aplikacje WWW - laboratorium
Aplikacje WWW - laboratorium PHP + bazy danych Celem ćwiczenia jest przygotowanie prostej aplikacji internetowej wykorzystującej technologię PHP. Aplikacja pokazuje takie aspekty, współpraca PHP z bazami
Dokumentacja fillup - MS SQL
Dokumentacja fillup - MS SQL e-file.pl 28 lipca 2017 Spis treści Wstęp 2 Wymagania sprzętowe 2 Windows Server 2012.......................... 2 Windows 10............................... 3 MS SQL Server.............................
Win Admin Replikator Instrukcja Obsługi
Win Admin Replikator Instrukcja Obsługi Monitoring Kopie danych (backup) E-mail Harmonogram lokalne i zewnętrzne repozytorium Logi Pamięć Procesor HDD Administracja sprzętem i oprogramowaniem (automatyzacja
oprogramowania F-Secure
1 Procedura wygenerowania paczki instalacyjnej oprogramowania F-Secure Wznowienie oprogramowania F-Secure zaczyna działać automatycznie. Firma F-Secure nie udostępnia paczki instalacyjnej EXE lub MSI do
Wskazówki do instalacji Systemu Symfonia Forte. Szybki start
Wskazówki do instalacji Systemu Symfonia Forte Szybki start Powielanie w jakiejkolwiek formie całości lub fragmentów podręcznika bez pisemnej zgody firmy Sage Symfonia Sp. z o.o. jest zabronione. Copyright
Gerard Frankowski, Zespół Bezpieczeństwa PCSS. Nowoczesne technologie bliżej nas Poznań, 04.03.2010
Bezpieczeństwo interoperacyjnego hostingu Gerard Frankowski, Zespół Bezpieczeństwa PCSS 4. Konferencja MIC Nowoczesne technologie bliżej nas Poznań, 04.03.2010 1 Agenda Wprowadzenie Zespół Bezpieczeństwa
Usługi sieciowe systemu Linux
Usługi sieciowe systemu Linux 1. Serwer WWW Najpopularniejszym serwerem WWW jest Apache, dostępny dla wielu platform i rozprowadzany w pakietach httpd. Serwer Apache bardzo często jest wykorzystywany do
PHP: bazy danych, SQL, AJAX i JSON
1 PHP: bazy danych, SQL, AJAX i JSON SYSTEMY SIECIOWE Michał Simiński 2 Bazy danych Co to jest MySQL? Jak się połączyć z bazą danych MySQL? Podstawowe operacje na bazie danych Kilka dodatkowych operacji
Wdrożenie modułu płatności eservice. dla systemu Gekosale 1.4
Wdrożenie modułu płatności eservice dla systemu Gekosale 1.4 - dokumentacja techniczna Wer. 01 Warszawa, styczeń 2014 1 Spis treści: 1 Wstęp... 3 1.1 Przeznaczenie dokumentu... 3 1.2 Przygotowanie do integracji...
KARTA KURSU. Administracja serwerami WWW
KARTA KURSU Nazwa Nazwa w j. ang. Administracja serwerami WWW Web server administration Kod Punktacja ECTS* 2 Koordynator mgr Alfred Budziak Zespół dydaktyczny: mgr Alfred Budziak Opis kursu (cele kształcenia)
1 Wprowadzenie do J2EE
Wprowadzenie do J2EE 1 Plan prezentacji 2 Wprowadzenie do Java 2 Enterprise Edition Aplikacje J2EE Serwer aplikacji J2EE Główne cele V Szkoły PLOUG - nowe podejścia do konstrukcji aplikacji J2EE Java 2
OWASP OWASP. The OWASP Foundation http://www.owasp.org. Cross-Site Scripting. Ryzyko do zaakceptowania? Warszawa, 27 stycznia 2011 Michał Kurek
Cross-Site Scripting Ryzyko do zaakceptowania? Warszawa, 27 stycznia 2011 Michał Kurek Copyright The Foundation Permission is granted to copy, distribute and/or modify this document under the terms of
Produkcja by CTI. Proces instalacji, ważne informacje oraz konfiguracja
Produkcja by CTI Proces instalacji, ważne informacje oraz konfiguracja Spis treści 1. Ważne informacje przed instalacją...3 2. Instalacja programu...4 3. Nawiązanie połączenia z serwerem SQL oraz z programem
4 Web Forms i ASP.NET...149 Web Forms...150 Programowanie Web Forms...150 Możliwości Web Forms...151 Przetwarzanie Web Forms...152
Wstęp...xv 1 Rozpoczynamy...1 Co to jest ASP.NET?...3 W jaki sposób ASP.NET pasuje do.net Framework...4 Co to jest.net Framework?...4 Czym są Active Server Pages (ASP)?...5 Ustawienia dla ASP.NET...7 Systemy
Migracja do PostgreSQL za pomocą narzędzi Enterprise DB
Migracja do PostgreSQL za pomocą narzędzi Enterprise DB Przemysław Deć Konsultant IT Linux Polska Sp. z o.o. Cele prezentacji Czym jest Enterprise DB Korzyści migracji do opensource`owej bazy danych Kompatybilność
Przegląd technik wirtualizacji i separacji w nowoczesnych systemach rodziny UNIX
Przegląd technik wirtualizacji i separacji w nowoczesnych systemach rodziny UNIX Wojciech A. Koszek dunstan@freebsd.czest.pl IX Liceum Ogólnokształcące im. C.K. Norwida w Częstochowie Krajowy Fundusz na
SQL injection. Metody włamań do systemów komputerowych p. 1/13. Bogusław Kluge, Karina Łuksza, Ewa Makosa
Metody włamań do systemów komputerowych SQL injection Bogusław Kluge, Karina Łuksza, Ewa Makosa b.kluge@zodiac.mimuw.edu.pl, k.luksza@zodiac.mimuw.edu.pl, e.makosa@zodiac.mimuw.edu.pl Metody włamań do
INSTRUKCJA OBSŁUGI DLA SIECI
INSTRUKCJA OBSŁUGI DLA SIECI Zapisywanie dziennika druku w lokalizacji sieciowej Wersja 0 POL Definicje dotyczące oznaczeń w tekście W tym Podręczniku użytkownika zastosowano następujące ikony: Uwagi informują
Zdalne zarządzanie systemem RACS 5
R o g e r A c c e s s C o n t r o l S y s t e m 5 Nota aplikacyjna nr 035 Wersja dokumentu: Rev. B Zdalne zarządzanie systemem RACS 5 Uwaga: Niniejszy dokument dotyczy RACS v5.5 (VISO 1.5.2 lub nowszy)
Multi-projekt z przedmiotów Inżynieria oprogramowania, Współczesne bazy danych i Programowanie w języku Java
Multi-projekt z przedmiotów Inżynieria oprogramowania, Współczesne bazy danych i Programowanie w języku Java Spis treści 1 Terminarz...3 2 Specyfikacja wymagań - założenia projektowe...4 2.1 Informacje
Deduplikacja danych. Zarządzanie jakością danych podstawowych
Deduplikacja danych Zarządzanie jakością danych podstawowych normalizacja i standaryzacja adresów standaryzacja i walidacja identyfikatorów podstawowa standaryzacja nazw firm deduplikacja danych Deduplication
Instalacja SQL Server Express. Logowanie na stronie Microsoftu
Instalacja SQL Server Express Logowanie na stronie Microsoftu Wybór wersji do pobrania Pobieranie startuje, przechodzimy do strony z poradami. Wypakowujemy pobrany plik. Otwiera się okno instalacji. Wybieramy
26.X.2004 VNC. Dawid Materna
26.X.2004 Zastosowanie programu VNC do zdalnej administracji komputerem Autor: Dawid Materna Wstęp W administracji systemami operacyjnymi często zachodzi potrzeba do działania na Pulpicie zarządzanego
Tomasz Greszata - Koszalin
T: Konfiguracja usługi HTTP w systemie Windows. Zadanie1: Odszukaj w serwisie internetowym Wikipedii informacje na temat protokołów HTTP oraz HTTPS i oprogramowania IIS (ang. Internet Information Services).
PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL IV TI 6 godziny tygodniowo (6x15 tygodni =90 godzin ),
PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH KL IV TI 6 godziny tygodniowo (6x15 tygodni =90 godzin ), Program 351203 Opracowanie: Grzegorz Majda Tematyka zajęć 2. Przygotowanie środowiska pracy
Wybrane działy Informatyki Stosowanej
Wybrane działy Informatyki Stosowanej JSP - Java Server Pages dr hab. inż. Andrzej Czerepicki a.czerepicki@wt.pw.edu.pl http://www2.wt.pw.edu.pl/~a.czerepicki 2019 Aplikacje i skrypty WWW klasyfikacja
Instrukcja użytkownika
Instrukcja użytkownika Menadżer Licencji Wersja 2013.0.1 Spis treści 1 WPROWADZENIE... 3 2 AKTUALIZACJA SERWISU KLUCZA HASP ORAZ ZDALNEGO SERWISU KLUCZA... 3 3 INSTALACJA... 3 4 MONITOR MENADŻERA LICENCJI...
Instrukcja instalacji Asystenta Hotline
SoftVig Systemy Informatyczne Sp. z o.o. Instrukcja instalacji Asystenta Hotline Ver. 3.5 2012-06-19 2 Instrukcja obsługi programu Asystent Hotline Zawartość 1 INSTALACJA PROGRAMU 3 1.1 WARUNKI KONIECZNE
Opis Przedmiotu Zamówienia na przeprowadzenie testów bezpieczeństwa systemu wspomagania nadzoru archiwalnego e-nadzór
S t r o n a ǀ 1 z 5 Załącznik nr 1 do zapytania ofertowego Opis Przedmiotu Zamówienia na przeprowadzenie testów bezpieczeństwa systemu wspomagania nadzoru archiwalnego e-nadzór I. Definicje. 1. Dostawca
Instrukcja instalacji Control Expert 3.0
Instrukcja instalacji Control Expert 3.0 Program Control Expert 3.0 jest to program służący do zarządzania urządzeniami kontroli dostępu. Dedykowany jest dla kontrolerów GRx02 i GRx06 oraz rozwiązaniom
WEBCON BPS Instalacja Standalone
WEBCON BPS Instalacja Standalone 1. Wymagania wstępne... 2 1.1. Software... 2 1.2. Hardware... 2 1.2.1. Scenariusze sprzętowe konfiguracji... 2 1.2.2. Instalacja minimalna all-in-one installation... 2
Dokumentacja wstępna TIN. Rozproszone repozytorium oparte o WebDAV
Piotr Jarosik, Kamil Jaworski, Dominik Olędzki, Anna Stępień Dokumentacja wstępna TIN Rozproszone repozytorium oparte o WebDAV 1. Wstęp Celem projektu jest zaimplementowanie rozproszonego repozytorium
KARTA PRZEDMIOTU. Programowanie aplikacji internetowych
KARTA PRZEDMIOTU Nazwa przedmiotu/modułu: Nazwa angielska: Kierunek studiów: Poziom studiów: Profil studiów Jednostka prowadząca: Programowanie aplikacji internetowych Web application development edukacja
Protokół HTTP (2) I) Wprowadzenie. II) Użyte narzędzia: III) Kolejność działań
Protokół HTTP (2) I) Wprowadzenie Celem ćwiczenia jest zapoznanie z protokołem HTTP. Ćwiczenie obejmuje takie zagadnienia jak: a) instalację i konfigurację serwera HTTP (Apache2), b) uwierzytelnianie dostępu
Tworzenie i obsługa wirtualnego laboratorium komputerowego
Uniwersytet Mikołaja Kopernika Wydział Fizyki, Astronomii i Informatyki Stosowanej Michał Ochociński nr albumu: 236401 Praca magisterska na kierunku informatyka stosowana Tworzenie i obsługa wirtualnego
Instalacja i konfiguracja Symfonia.Common.Server oraz Symfonia.Common.Forte
Instalacja i konfiguracja Symfonia.Common.Server oraz Symfonia.Common.Forte Instalacja Symfonia.Common.Server 0 2 Spis treści Spis treści 2 Instalacja Symfonia.Common.Server 3 Ważne zalecenia... 3 Konfiguracja
Znak sprawy: KZp
Załącznik nr 2 do SIWZ OPIS PRZEDMIOTU ZAMÓWIENIA Przedmiotem zamówienia jest przedłużenie aktualizacji i wsparcia technicznego dla systemu antywirusowego - 195 licencji. Lp. Parametr Nazwa 1 aktualizowanego
E-commerce. Genialnie proste tworzenie serwisów w PHP i MySQL.
E-commerce. Genialnie proste tworzenie serwisów w PHP i MySQL. Autor: Larry Ullman Poznaj zasady wirtualnego handlu i zarabiaj prawdziwe pieniądze Jak stworzyć doskonałą witrynę sklepu internetowego? Jak
Wykaz zmian w programie WinAdmin Replikator
Wykaz zmian w programie WinAdmin Replikator Pierwsza wersja programu 1.0.0.1 powstała w czerwcu 2010. kod źródłowy programu zawiera ponad 6 900 wierszy. Modyfikacje/zmiany w wersji 1.0.4.0 (październik
instrukcja INSTALACJI www.piersa.pl APi_proxy
instrukcja INSTALACJI 1 1. Instalacja Proces instalacji jest prosty wgrywamy pliki na serwer nadajemy prawa chmod 777 lub 755 dla katalogu w którym znajduje się aplikacja przeważnie będzie to katalog public_html
R o g e r A c c e s s C o n t r o l S y s t e m 5
R o g e r A c c e s s C o n t r o l S y s t e m 5 Nota aplikacyjna nr 017 Wersja dokumentu: Rev. B P ra ca z bazą da nych MS SQL Server Wprowadzenie System RACS 5 umożliwia wykorzystanie środowiska zarządzania
System. Instalacja bazy danych MySQL. Autor : Piotr Zielonka tel Piotrków Tryb., sierpień 2018r.
System FOKUS Instalacja bazy danych MySQL Autor : Piotr Zielonka tel. 601 99-73-79 pomoc@zielonka.info.pl Piotrków Tryb., sierpień 2018r. W wersji 2018.7.0 systemu FoKus wprowadzono funkcje umożliwiające
Instrukcja instalacji i obsługi programu Szpieg 3
COMPUTER SERVICE CENTER 43-300 Bielsko-Biała ul. Cieszyńska 52 tel. +48 (33) 819 35 86, 819 35 87, 601 550 625 Instrukcja instalacji i obsługi programu Szpieg 3 wersja 0.0.2 123 SERWIS Sp. z o. o. ul.
Program kadrowo płacowy - wersja wielodostępna z bazą danych Oracle SQL Server 8 lub 9
Program kadrowo płacowy - wersja wielodostępna z bazą danych Oracle SQL Server 8 lub 9 Uwaga: Masz problem z programem lub instalacją? Nie możesz wykonać wymaganej czynności? Daj nam znać. W celu uzyskania
Połączenie VPN aplikacji SSL. 1. Konfiguracja serwera VPN 1.1. Ustawienia ogólne 1.2. Profile aplikacji SSL 1.3. Konto SSL 1.4. Grupa użytkowników
1. Konfiguracja serwera VPN 1.1. Ustawienia ogólne 1.2. Profile aplikacji SSL 1.3. Konto SSL 1.4. Grupa użytkowników 2. Konfiguracja klienta VPN 2.1. Ustawienia ogólne 2.2. Aplikacja VNC 2.3. Aplikacja
GS2TelCOMM. Rozszerzenie do TelCOMM 2.0. Opracował: Michał Siatkowski Zatwierdził: IMIĘ I NAZWISKO
GS2TelCOMM Rozszerzenie do TelCOMM 2.0 Opracował: Michał Siatkowski 29-03-2017 Zatwierdził: IMIĘ I NAZWISKO DATA TEL-STER 2017 Spis treści Wprowadzenie... 3 Architektura... 3 Instalacja... 3 Współpraca
Laboratorium 3.4.2: Zarządzanie serwerem WWW
Laboratorium 3.4.2: Zarządzanie serwerem WWW Topologia sieci Tabela adresacji Urządzenie Interfejs Adres IP Maska podsieci Domyślna brama R1-ISP S0/0/0 10.10.10.6 255.255.255.252 Nie dotyczy Fa0/0 192.168.254.253
Instrukcja instalacji
Instrukcja instalacji Nintex USA LLC 2012. Wszelkie prawa zastrzeżone. Zastrzegamy sobie prawo do błędów i pominięć. support@nintex.com 1 www.nintex.com Spis treści 1. Instalowanie programu Nintex Workflow
OCHRONA PRZED RANSOMWARE. Konfiguracja ustawień
OCHRONA PRZED RANSOMWARE Konfiguracja ustawień SPIS TREŚCI: Wstęp...................... 3 Dlaczego warto korzystać z dodatkowych ustawień...... 3 Konfiguracja ustawień programów ESET dla biznesu......
Opis wdrożenia Platformy Technologicznej epodreczniki.pl na zasobach Poznańskiego Centrum Superkomputerowo-Sieciowego
Opis wdrożenia Platformy Technologicznej epodreczniki.pl na zasobach Poznańskiego Centrum Superkomputerowo-Sieciowego w ramach realizacji umowy pomostowej nr 427/PCSS/2016 Poznań, 21 lutego 2017 r. 1 Spis
Oracle Application Express -
Oracle Application Express - Wprowadzenie Wprowadzenie Oracle Application Express (dawniej: HTML DB) to narzędzie do szybkiego tworzenia aplikacji Web owych korzystających z bazy danych Oracle. Od użytkownika
Agenda. Quo vadis, security? Artur Maj, Prevenity
Quo vadis, security? Artur Maj, Prevenity Agenda 1. Bezpieczeostwo informacji rys historyczny 2. Najistotniejsze wyzwania bezpieczeostwa - obecnie i w najbliższym czasie 3. Nasze rekomendacje 1 Bezpieczeostwo
NIEZAWODNE ROZWIĄZANIA SYSTEMÓW AUTOMATYKI. Asix.Evo. Przeglądarkowa wersja aplikacji Asix.Evo znane problemy. Pomoc techniczna
NIEZAWODNE ROZWIĄZANIA SYSTEMÓW AUTOMATYKI Asix.Evo Przeglądarkowa wersja aplikacji Asix.Evo znane problemy Pomoc techniczna Dok. Nr PLP0024 Wersja:11-06-2015 ASKOM i Asix to zastrzeżony znak firmy ASKOM