WEB TEKNOLOJİLERİ GİRİŞ 06.11.2015 www.webguvenligi.org Client Side IE Applets Firefox JScript Opera HTML Thick Clients CSS Server Side HTTP HTTPS JNLP RPC IIOP Safari DHTML Mobile Browsers XML Opera Action Script RMI Google Browser WS Client SOAP Java Web Start AJAX TCP/IP Apache PHP IIS ASP Sun CGI IBM Oracle Custom Servers Google SSI WS Serve r Cold Fusio n Pytho n Middleware Backend .NET Framewor k ASP.NE T ODBC HTTPS Apache Tomcat JSP Servlet ADO RMI Oracle iAS RoR RPC IBM Webspher e Web Service s IIOP BEA WebLogic EJB HTTP TCP/IP SOAP Perl Web Güvenlik Topluluğu / OWASPTR Jetty Sun AppServe r ORACLE MSSQL JDBC PGSQL LDAP DB2 MQ MYSQL TCP/IP SAP/ERP JMS Mainfram e LDAP.

Download Report

Transcript WEB TEKNOLOJİLERİ GİRİŞ 06.11.2015 www.webguvenligi.org Client Side IE Applets Firefox JScript Opera HTML Thick Clients CSS Server Side HTTP HTTPS JNLP RPC IIOP Safari DHTML Mobile Browsers XML Opera Action Script RMI Google Browser WS Client SOAP Java Web Start AJAX TCP/IP Apache PHP IIS ASP Sun CGI IBM Oracle Custom Servers Google SSI WS Serve r Cold Fusio n Pytho n Middleware Backend .NET Framewor k ASP.NE T ODBC HTTPS Apache Tomcat JSP Servlet ADO RMI Oracle iAS RoR RPC IBM Webspher e Web Service s IIOP BEA WebLogic EJB HTTP TCP/IP SOAP Perl Web Güvenlik Topluluğu / OWASPTR Jetty Sun AppServe r ORACLE MSSQL JDBC PGSQL LDAP DB2 MQ MYSQL TCP/IP SAP/ERP JMS Mainfram e LDAP.

WEB TEKNOLOJİLERİ
GİRİŞ
06.11.2015
www.webguvenligi.org
Client Side
IE
Applets
Firefox
JScript
Opera
HTML
Thick
Clients
2
CSS
Server Side
HTTP
HTTPS
JNLP
RPC
IIOP
Safari
DHTML
Mobile
Browsers
XML
Opera
Action
Script
RMI
Google
Browser
WS
Client
SOAP
Java Web
Start
AJAX
TCP/IP
Apache
PHP
IIS
ASP
Sun
CGI
IBM
Oracle
Custom
Servers
Google
SSI
WS
Serve
r
Cold
Fusio
n
Pytho
n
Middleware
Backend
.NET
Framewor
k
ASP.NE
T
ODBC
HTTPS
Apache
Tomcat
JSP
Servlet
ADO
RMI
Oracle
iAS
RoR
RPC
IBM
Webspher
e
Web
Service
s
IIOP
BEA
WebLogic
EJB
HTTP
TCP/IP
SOAP
Perl
Web Güvenlik Topluluğu / OWASPTR
Jetty
Sun
AppServe
r
ORACLE
MSSQL
JDBC
PGSQL
LDAP
DB2
MQ
MYSQL
TCP/IP
SAP/ERP
JMS
Mainfram
e
LDAP
Browser
Internet
Explorer
3
Web
Server
Apache
Database
Server
MYSQL
Web Güvenlik Topluluğu / OWASPTR
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
 HTML
 HTML
 HTML
2.0
3.0
3.2
4.0, 1999
Web Güvenlik Topluluğu / OWASPTR
8
HTML
Örnek HTML dokümanı
<!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>
Web Güvenlik Topluluğu / OWASPTR
9
HTML
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
10
HTML
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
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
<html>
<head>
<script type="text/javascript">
function ChangeColor() {
document.body.bgColor="yellow"
}
</script>
</head>
<body onclick="ChangeColor()">
Click on this document!
</body>
</html>
Web Güvenlik Topluluğu / OWASPTR
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:
scheme://host:port/path?parameter=value#fragment
scheme
host:port
path
http, https, telnet, ftp, mailto, ...
www.google.com:80,
www.ftp.org:21, ...
/, /index.html, /bank/index.jsp, ...
?parameter=valu ?prm1=val1&prm2=val2 ...
e
#fragment
#anchor
http://www.google.com.tr/search.jsp?search=as#bottom
Web Güvenlik Topluluğu / OWASPTR
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:
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ü
Web Güvenlik Topluluğu / OWASPTR
23
HTTP
İstek (Request) GET
GET /index.jsp HTTP/1.1
User-Agent: Mozilla/4.0 (MSIE 6.0; ...
Host: en.wikipedia.org
Proxy-Connection: Keep-Alive
Web Güvenlik Topluluğu / OWASPTR
24
HTTP
İstek (Request) POST
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#
Web Güvenlik Topluluğu / OWASPTR
25
HTTP
Cevap (Response) 200 OK
HTTP/1.1 200 OK
Date: Fri, 31 Mar 2006 10:08:00 GMT
Server: Apache/2.47
Content-Length: 92
Connection: Keep-Alive
<html>
<head></head><body>…</html>
Web Güvenlik Topluluğu / OWASPTR
26
HTTP
Cevap (Response) 404 Not Found
HTTP/1.1 404 Not Found
Date: Fri, 31 Mar 2006 10:08:00 GMT
Server: Apache/2.47
Content-Length: 96
Connection: close
<html>
<head></head><body>…</html>
Web Güvenlik Topluluğu / OWASPTR
27
HTTP
Cevap (Response) 302 Found
HTTP/1.1 302 Found
Date: Fri, 31 Mar 2006 10:08:00 GMT
Server: Apache/2.47
Content-Length: 91
Location: http://www.google.com/a.jsp
Connection: close
<html>…</html>
Web Güvenlik Topluluğu / OWASPTR
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