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,
<
>
"
&
→
→
→
→
<
>
“
&
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