WEB TEKNOLOJİLERİ GİRİŞ
2 Web Güvenlik Toplulu ğ u / OWASPTR Applets ORACLE MSSQL PGSQL DB2 MYSQL SAP/ERP Mainfram e LDAP IE JScriptFirefox HTMLOpera CSS Thick Clients DHTMLSafari XML Mobile Browsers Action Script Opera WS Client Google Browser PHPApache ASPIIS CGISun SSIIBM WS Serve r Oracle Cold Fusio n Custom Servers Pytho n Google Perl JSP Servlet Apache Tomcat RoR Oracle iAS Web Service s IBM Webspher e EJB BEA WebLogic Jetty Sun AppServe r ASP.NE T.NET Framewor k AJAX Java Web Start Client SideServer SideMiddlewareBackend HTTP HTTPS JNLP RPC IIOP TCP/IP HTTP HTTPS RMI RPC IIOP TCP/IP RMI ODBC ADO JDBC LDAP MQ TCP/IP SOAP JMS
3 Web Güvenlik Toplulu ğ u / OWASPTR Browser Internet Explorer Database Server MYSQL Web Server Apache
4 Genel İçerik İstemci Tarafı WWW HTML Javascript DHTML URL HTTP Web Güvenlik Toplulu ğ u / OWASPTR
5 Genel İçerik Sunucu Tarafı Web Uygulama Kavramları Geliştirme Ortamları Uygulama Sunucusu Arka-uç Bağlantıları Web Güvenlik Toplulu ğ u / OWASPTR
6 World Wide Web (WWW) Tim Berners-Lee tarafından CERN için geliştirilmeye başlanılan bir doküman paylaşım sistemi Bu dokümanları, oluşturmak için bir dil: HTML bulmak için bir adresleme: URL transfer etmek için bir mekanizma: HTTP Web Güvenlik Toplulu ğ u / OWASPTR
7 HTML HyperText Markup Language Web tarayıcıların yazı (text) ve şekil (graphic) sunmaları için geliştirilmiş bir dil Yayınlanan standardlar; HTML 2.0 HTML 3.0 HTML 3.2 HTML 4.0, 1999 Web Güvenlik Toplulu ğ u / OWASPTR
8 HTML Örnek HTML dokümanı Web Güvenlik Toplulu ğ u / OWASPTR My Web Page … My Web Page …
9 HTML HTML (kaynak kodu ve diğer) inceleme Firefox : Extensions DOMInspector HTMLValidator SourceEditor Internet Explorer : Toolbar DevToolBar Örnekler için Web Güvenlik Toplulu ğ u / OWASPTR
10 HTML HTML Kodlama Tarayıcıda < gibi özel karakterleri gösterebilmek için kullanılan bir kodlama Bir html dokümanında, < → < > → > " → “ & → & karakterlerini gösterir. Web Güvenlik Toplulu ğ u / OWASPTR
11 Javascript Sadece HTML istenilen interaktifliği sağlayamadı İstemci tarafında kod (betik) çalıştırma için LiveScript geliştirildi. (1996) Daha sonra ismi Javascript olarak değiştirildi ancak Java ile paylaştığı çok şey yoktur. Internet tarayıcılarından başka Adobe Acrobat, Photoshop gibi ürünler içerisinde de çalışır. Web Güvenlik Toplulu ğ u / OWASPTR
12 Javascript HTML sayfalarının içinde; Daha iyi kullanıcı ara yüzleri oluşturmak, Form değerlerini denetlemek, Tarayıcıların sürümlerini bulmak, Cookie oluşturmak, Son olarak AJAX, gibi bir çok işlem için kullanılırlar. Web Güvenlik Toplulu ğ u / OWASPTR
13 DHTML Dynamic HTML Daha dinamik ve interaktif web sayfaları oluşturmak için bazı teknolojilerin bir arada kullanılması; HTML Javascript Document Object Model (DOM) Bir standard değildir. Web Güvenlik Toplulu ğ u / OWASPTR
14 DHTML Document Object Model (DOM) HTML DOM, ilgili HTML dokümanını bir ağaç yapısı içerisinde saklar. HTML dokümanı içerisindeki tüm etiketler (tag) ve diğer bilgiler bu ağaç yapısı yolu ile erişebilir ve manipüle edilebilir. Web Güvenlik Toplulu ğ u / OWASPTR
15 DHTML Örnek HTML DOM Web Güvenlik Toplulu ğ u / OWASPTR
16 DHTML Örnek DHTML Web Güvenlik Toplulu ğ u / OWASPTR function ChangeColor() { document.body.bgColor="yellow" } Click on this document! function ChangeColor() { document.body.bgColor="yellow" } Click on this document!
17 URL Uniform (Universal) Resource Locator Web’de bulunan dokümanlara ve diğer kaynaklara ulaşılmasını sağlayan adresleme standardı Web Güvenlik Toplulu ğ u / OWASPTR
18 URL Syntax: Web Güvenlik Toplulu ğ u / OWASPTR scheme http, https, telnet, ftp, mailto,... host:port path/, /index.html, /bank/index.jsp,... ?parameter=valu e ?prm1=val1&prm2=val2... #fragment#anchor scheme://host:port/path?parameter=value#fragment
19 URL URL Kodlama veya Yüzde (Percent) Kodlama Bazı özel durumlarda URL içerisindeki karakterlerin kodlanması URL kullanılan karakterler ikiye ayrılır; Genel kullanım için “reserved” karakterler Bazı durumlarda özel anlamlara gelen “unreserved” karakterler Web Güvenlik Toplulu ğ u / OWASPTR
20 URL “Reserved” karakterler [a-zA-Z0-9] - _. ~ “Unreserved” karakterler ! * ‘ ( ) ; & = + $, / ? % # [ ] Örnek URL Kodlama + →%2B / →%2F A →%41 Web Güvenlik Toplulu ğ u / OWASPTR
21 HTTP Web’de dokümanların transfer edilme standardı. Web Güvenlik Toplulu ğ u / OWASPTR
22 HTTP İki tür HTTP mesaj çeşidi mevcuttur. İstek (Request) Cevap (Response) Genel HTTP mesaj yapısı şu şekildedir: Web Güvenlik Toplulu ğ u / OWASPTR istek veya cevap için değişen ilk satır bir veya daha fazla başlık (header) boş bir satır opsiyonel bir mesaj bölümü istek veya cevap için değişen ilk satır bir veya daha fazla başlık (header) boş bir satır opsiyonel bir mesaj bölümü
23 HTTP İstek (Request) GET Web Güvenlik Toplulu ğ u / OWASPTR GET /index.jsp HTTP/1.1 User-Agent: Mozilla/4.0 (MSIE 6.0;... Host: en.wikipedia.org Proxy-Connection: Keep-Alive GET /index.jsp HTTP/1.1 User-Agent: Mozilla/4.0 (MSIE 6.0;... Host: en.wikipedia.org Proxy-Connection: Keep-Alive
24 HTTP İstek (Request) POST Web Güvenlik Toplulu ğ u / OWASPTR POST /login.jsp HTTP/1.1 User-Agent: Mozilla/4.0 (MSIE 6.0;... Host: en.wikipedia.org Proxy-Connection: Keep-Alive Content-Length: 30 login=webappsec&passwd=1g4Olm# POST /login.jsp HTTP/1.1 User-Agent: Mozilla/4.0 (MSIE 6.0;... Host: en.wikipedia.org Proxy-Connection: Keep-Alive Content-Length: 30 login=webappsec&passwd=1g4Olm#
25 HTTP Cevap (Response) 200 OK Web Güvenlik Toplulu ğ u / OWASPTR HTTP/ OK Date: Fri, 31 Mar :08:00 GMT Server: Apache/2.47 Content-Length: 92 Connection: Keep-Alive … HTTP/ OK Date: Fri, 31 Mar :08:00 GMT Server: Apache/2.47 Content-Length: 92 Connection: Keep-Alive …
26 HTTP Cevap (Response) 404 Not Found Web Güvenlik Toplulu ğ u / OWASPTR HTTP/ Not Found Date: Fri, 31 Mar :08:00 GMT Server: Apache/2.47 Content-Length: 96 Connection: close … HTTP/ Not Found Date: Fri, 31 Mar :08:00 GMT Server: Apache/2.47 Content-Length: 96 Connection: close …
27 HTTP Cevap (Response) 302 Found Web Güvenlik Toplulu ğ u / OWASPTR HTTP/ Found Date: Fri, 31 Mar :08:00 GMT Server: Apache/2.47 Content-Length: 91 Location: Connection: close … HTTP/ Found Date: Fri, 31 Mar :08:00 GMT Server: Apache/2.47 Content-Length: 91 Location: Connection: close …
28 HTTP Cevap (Response) bazı kodlar 200 OK : istenilen kaynak bulundu 404 Not Found : istenilen kaynak bulunamadı 302 Found : kaynak başka yerde 500 Server Error : dahili sunucu hatası ... Web Güvenlik Toplulu ğ u / OWASPTR
29 HTTP HTTP Vekiller (Proxy) : tarayıcı ve sunucu arasına giren programlar. Neden? Güvenlik kontrolleri (güvenlik duvarları v.b.) HTTP cevap zamanını kısaltmak Hata ayıklama veya denetim amaçlı (Kişisel Vekiller) Web Güvenlik Toplulu ğ u / OWASPTR
30 HTTP Kişisel Vekiller (webscarab) Web Güvenlik Toplulu ğ u / OWASPTR
31 Web Uygulamaları Genellikle web tarayıcı tarafından web üzerinden erişilen programlar Web Güvenlik Toplulu ğ u / OWASPTR
32 Web Uygulama Kavramları Web uygulamalar için genel kritik bileşenler ve konular HTTP İstek HTTP Cevap Oturum yönetimi (genellikle cookie’ler yardımı ile) Web Güvenlik Toplulu ğ u / OWASPTR
33 Uygulama Geliştirme & Koşma Integrated Development Environment (IDE) Eclipse Netbeans MS Visual Studio … Web Güvenlik Toplulu ğ u / OWASPTR
34 Uygulama Geliştirme & Koşma Uygulama Sunucuları Apache Tomcat IIS.NET Framework BEA Weblogic … Web Güvenlik Toplulu ğ u / OWASPTR
35 Arka-uç Ba ğ lantısı Kalıcı bir veri deposu gereksinimi ve veritabanları SQL sorguları Veritabanı arka-uç bağlantıları için kullanılan teknolojiler ve yapılar ODBC JDBC ADO.NET Web Güvenlik Toplulu ğ u / OWASPTR
36 webguvenligi.org owasp.org Web Güvenlik Toplulu ğ u / OWASPTR