36
WEB TEKNOLOJİLERİ GİRİŞ www.webguvenligi.org 10.06.22

WEB TEKNOLOJİLERİ GİRİŞ

Embed Size (px)

DESCRIPTION

WEB TEKNOLOJİLERİ GİRİŞ. www.webguvenligi.org. Client Side. Server Side. Middleware. Backend. ODBC. HTTP. HTTP. IE. Applets. Apache. PHP. .NET Framework. ASP.NET. ORACLE. ADO. HTTPS. HTTPS. Firefox. JScript. IIS. ASP. Apache Tomcat. JSP Servlet. MSSQL. JDBC. JNLP. RMI. - PowerPoint PPT Presentation

Citation preview

Page 1: WEB TEKNOLOJİLERİ GİRİŞ

WEB TEKNOLOJİLERİ GİRİŞ

www.webguvenligi.org20.04.23

Page 2: WEB TEKNOLOJİLERİ GİRİŞ

2 Web Güvenlik Topluluğu / OWASPTR

Applets

ORACLE

MSSQL

PGSQL

DB2

MYSQL

SAP/ERP

Mainframe

LDAP

IE

JScriptFirefox

HTMLOpera

CSSThick

Clients

DHTML

Safari

XMLMobile

Browsers

ActionScript

Opera

WS Client

Google Browser

PHPApach

e

ASPIIS

CGISun

SSIIBM

WS Server

Oracle

Cold Fusio

n

Custom

Servers

Python

Google

Perl

JSP Servle

t

Apache Tomcat

RoROracle

iAS

Web Servic

es

IBM Websphe

re

EJBBEA

WebLogic

Jetty

Sun AppServ

er

ASP.NET

.NET Framew

ork

AJAXJava Web Start

Client Side Server Side Middleware Backend

HTTP

HTTPS

JNLP

RPC

IIOP

TCP/IP

HTTP

HTTPS

RMI

RPC

IIOP

TCP/IP

RMI

ODBC

ADO

JDBC

LDAP

MQ

TCP/IP

SOAP

SOAP JMS

Page 3: WEB TEKNOLOJİLERİ GİRİŞ

3 Web Güvenlik Topluluğu / OWASPTR

Browser

Internet Explorer

Database ServerMYSQL

Web ServerApache

Page 4: WEB TEKNOLOJİLERİ GİRİŞ

4Genel İçerik

İstemci Tarafı WWW HTML

JavascriptDHTML URL HTTP

Web Güvenlik Topluluğu / OWASPTR

Page 5: WEB TEKNOLOJİLERİ GİRİŞ

5Genel İçerik

Sunucu Tarafı Web Uygulama Kavramları Geliştirme Ortamları Uygulama Sunucusu Arka-uç Bağlantıları

Web Güvenlik Topluluğu / OWASPTR

Page 6: WEB TEKNOLOJİLERİ GİRİŞ

6World 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

Page 7: WEB TEKNOLOJİLERİ GİRİŞ

7HTML

HyperText Markup LanguageWeb 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

Page 8: WEB TEKNOLOJİLERİ GİRİŞ

8HTML

Örnek HTML dokümanı

Web Güvenlik Topluluğu / OWASPTR

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"

"http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <title> My Web Page </title> </head> <body>

… </body> </html>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"

"http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <title> My Web Page </title> </head> <body>

… </body> </html>

Page 9: WEB TEKNOLOJİLERİ GİRİŞ

9HTML

HTML (kaynak kodu ve diğer) inceleme Firefox : Extensions

DOMInspector HTMLValidator SourceEditor

Internet Explorer : Toolbar DevToolBar

Örnekler için http://www.w3schools.com/html/html_examples.asp

Web Güvenlik Topluluğu / OWASPTR

Page 10: WEB TEKNOLOJİLERİ GİRİŞ

10HTML

HTML Kodlama Tarayıcıda < gibi özel karakterleri gösterebilmek için

kullanılan bir kodlama Bir html dokümanında,

&lt; → < &gt; → > &quot; → “ &amp; → &

karakterlerini gösterir.

Web Güvenlik Topluluğu / OWASPTR

Page 11: WEB TEKNOLOJİLERİ GİRİŞ

11Javascript

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

Page 12: WEB TEKNOLOJİLERİ GİRİŞ

12Javascript

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

Page 13: WEB TEKNOLOJİLERİ GİRİŞ

13DHTML

Dynamic HTMLDaha 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

Page 14: WEB TEKNOLOJİLERİ GİRİŞ

14DHTML

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

Page 15: WEB TEKNOLOJİLERİ GİRİŞ

15DHTML

Örnek HTML DOM

Web Güvenlik Topluluğu / OWASPTR

Page 16: WEB TEKNOLOJİLERİ GİRİŞ

16DHTML

Örnek DHTML

Web Güvenlik Topluluğu / OWASPTR

<html> <head> <script type="text/javascript">

function ChangeColor() { document.body.bgColor="yellow"

} </script> </head> <body onclick="ChangeColor()">

Click on this document! </body> </html>

<html> <head> <script type="text/javascript">

function ChangeColor() { document.body.bgColor="yellow"

} </script> </head> <body onclick="ChangeColor()">

Click on this document! </body> </html>

Page 17: WEB TEKNOLOJİLERİ GİRİŞ

17URL

Uniform (Universal) Resource LocatorWeb’de bulunan dokümanlara ve diğer

kaynaklara ulaşılmasını sağlayan adresleme standardı

Web Güvenlik Topluluğu / OWASPTR

Page 18: WEB TEKNOLOJİLERİ GİRİŞ

18URL

Syntax:

Web Güvenlik Topluluğu / OWASPTR

scheme http, https, telnet, ftp, mailto, ...

host:port www.google.com:80, www.ftp.org:21, ...

path /, /index.html, /bank/index.jsp, ...

?parameter=value

?prm1=val1&prm2=val2 ...

#fragment #anchor

scheme://host:port/path?parameter=value#fragment

http://www.google.com.tr/search.jsp?search=as#bottom

Page 19: WEB TEKNOLOJİLERİ GİRİŞ

19URL

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

Page 20: WEB TEKNOLOJİLERİ GİRİŞ

20URL

“Reserved” karakterler[a-zA-Z0-9] - _ . ~

“Unreserved” karakterler! * ‘ ( ) ; : @ & = + $ , / ? % # [ ]

Örnek URL Kodlama+ → %2B/ → %2FA → %41

Web Güvenlik Topluluğu / OWASPTR

Page 21: WEB TEKNOLOJİLERİ GİRİŞ

21HTTP

Web’de dokümanların transfer edilme standardı.

Web Güvenlik Topluluğu / OWASPTR

Page 22: WEB TEKNOLOJİLERİ GİRİŞ

22HTTP

İ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ü

Page 23: WEB TEKNOLOJİLERİ GİRİŞ

23HTTP

İ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.orgProxy-Connection: Keep-Alive

GET /index.jsp HTTP/1.1

User-Agent: Mozilla/4.0 (MSIE 6.0; ...Host: en.wikipedia.orgProxy-Connection: Keep-Alive

Page 24: WEB TEKNOLOJİLERİ GİRİŞ

24HTTP

İ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.orgProxy-Connection: Keep-AliveContent-Length: 30

login=webappsec&passwd=1g4Olm#

POST /login.jsp HTTP/1.1

User-Agent: Mozilla/4.0 (MSIE 6.0; ...Host: en.wikipedia.orgProxy-Connection: Keep-AliveContent-Length: 30

login=webappsec&passwd=1g4Olm#

Page 25: WEB TEKNOLOJİLERİ GİRİŞ

25HTTP

Cevap (Response) 200 OK

Web Güvenlik Topluluğu / OWASPTR

HTTP/1.1 200 OK

Date: Fri, 31 Mar 2006 10:08:00 GMTServer: Apache/2.47Content-Length: 92Connection: Keep-Alive

<html><head></head><body>…</html>

HTTP/1.1 200 OK

Date: Fri, 31 Mar 2006 10:08:00 GMTServer: Apache/2.47Content-Length: 92Connection: Keep-Alive

<html><head></head><body>…</html>

Page 26: WEB TEKNOLOJİLERİ GİRİŞ

26HTTP

Cevap (Response) 404 Not Found

Web Güvenlik Topluluğu / OWASPTR

HTTP/1.1 404 Not Found

Date: Fri, 31 Mar 2006 10:08:00 GMTServer: Apache/2.47Content-Length: 96Connection: close

<html><head></head><body>…</html>

HTTP/1.1 404 Not Found

Date: Fri, 31 Mar 2006 10:08:00 GMTServer: Apache/2.47Content-Length: 96Connection: close

<html><head></head><body>…</html>

Page 27: WEB TEKNOLOJİLERİ GİRİŞ

27HTTP

Cevap (Response) 302 Found

Web Güvenlik Topluluğu / OWASPTR

HTTP/1.1 302 Found

Date: Fri, 31 Mar 2006 10:08:00 GMTServer: Apache/2.47Content-Length: 91Location: http://www.google.com/a.jspConnection: close

<html>…</html>

HTTP/1.1 302 Found

Date: Fri, 31 Mar 2006 10:08:00 GMTServer: Apache/2.47Content-Length: 91Location: http://www.google.com/a.jspConnection: close

<html>…</html>

Page 28: WEB TEKNOLOJİLERİ GİRİŞ

28HTTP

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

Page 29: WEB TEKNOLOJİLERİ GİRİŞ

29HTTP

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

Page 30: WEB TEKNOLOJİLERİ GİRİŞ

30HTTP

Kişisel Vekiller (webscarab)

Web Güvenlik Topluluğu / OWASPTR

Page 31: WEB TEKNOLOJİLERİ GİRİŞ

31Web Uygulamaları

Genellikle web tarayıcı tarafından web üzerinden erişilen programlar

Web Güvenlik Topluluğu / OWASPTR

Page 32: WEB TEKNOLOJİLERİ GİRİŞ

32Web 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

Page 33: WEB TEKNOLOJİLERİ GİRİŞ

33Uygulama Geliştirme & Koşma

Integrated Development Environment (IDE)EclipseNetbeansMS Visual Studio…

Web Güvenlik Topluluğu / OWASPTR

Page 34: WEB TEKNOLOJİLERİ GİRİŞ

34Uygulama Geliştirme & Koşma

Uygulama SunucularıApache TomcatIIS .NET FrameworkBEA Weblogic…

Web Güvenlik Topluluğu / OWASPTR

Page 35: WEB TEKNOLOJİLERİ GİRİŞ

35Arka-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ılarODBCJDBCADO.NET

Web Güvenlik Topluluğu / OWASPTR

Page 36: WEB TEKNOLOJİLERİ GİRİŞ

36

webguvenligi.orgowasp.org

Web Güvenlik Topluluğu / OWASPTR