23
Copyright © The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the OWASP License. The OWASP Foundation OWASP-TR http://www.owasp.org Saldırı Savunma Bedirhan URGUN Web Güvenlik Topluluğu Tübitak – UEKAE [email protected] Dili: Javascrip Web 2.0

Bedirhan URGUN Web Güvenlik Topluluğu Tübitak – UEKAE urgunb@hotmail

Embed Size (px)

DESCRIPTION

Web 2.0. Savunma. Saldırı. Dili: Javascript. Bedirhan URGUN Web Güvenlik Topluluğu Tübitak – UEKAE [email protected]. İçerik. Amaç Motivasyon Javascript Temelleri Javascript ve İki Sıradışı Özelliği Javascript ile Saldırı Tespit - Demo Sonuç. Amaç. - PowerPoint PPT Presentation

Citation preview

Page 1: Bedirhan URGUN Web Güvenlik Topluluğu Tübitak – UEKAE urgunb@hotmail

Copyright © The OWASP FoundationPermission is granted to copy, distribute and/or modify this document under the terms of the OWASP License.

The OWASP Foundation

OWASP-TR

http://www.owasp.org

SaldırıSavunma

Bedirhan URGUNWeb Güvenlik TopluluğuTübitak – [email protected]

Dili: JavascriptWeb 2.0

Page 2: Bedirhan URGUN Web Güvenlik Topluluğu Tübitak – UEKAE urgunb@hotmail

OWASP Türkiye

İçerik

Amaç Motivasyon Javascript Temelleri Javascript ve İki Sıradışı Özelliği Javascript ile Saldırı Tespit - Demo Sonuç

Page 3: Bedirhan URGUN Web Güvenlik Topluluğu Tübitak – UEKAE urgunb@hotmail

OWASP Türkiye

Amaç

Javascript ile Web 2.0 güvenliği farkındalığı

Page 4: Bedirhan URGUN Web Güvenlik Topluluğu Tübitak – UEKAE urgunb@hotmail

OWASP Türkiye

Motivasyon

Page 5: Bedirhan URGUN Web Güvenlik Topluluğu Tübitak – UEKAE urgunb@hotmail

OWASP Türkiye

Motivasyon devam

Javascript Malware (kötücül yazılım)Bilgi hırsızlığı

Oturum korsanlığı Clipboard çalma Tuş yakalama Ekran çalma

İçerik değişikliği (tahrifat)

Page 6: Bedirhan URGUN Web Güvenlik Topluluğu Tübitak – UEKAE urgunb@hotmail

OWASP Türkiye

Geçmiş Tarama Motivasyon

www.gnucitizen.org

Page 7: Bedirhan URGUN Web Güvenlik Topluluğu Tübitak – UEKAE urgunb@hotmail

OWASP Türkiye

Port Tarama Motivasyon

www.gnucitizen.org

Page 8: Bedirhan URGUN Web Güvenlik Topluluğu Tübitak – UEKAE urgunb@hotmail

OWASP Türkiye

Dahili IP Çalma Motivasyon

www.gnucitizen.org

Page 9: Bedirhan URGUN Web Güvenlik Topluluğu Tübitak – UEKAE urgunb@hotmail

OWASP Türkiye

Web Spidering Motivasyon

www.gnucitizen.org

Page 10: Bedirhan URGUN Web Güvenlik Topluluğu Tübitak – UEKAE urgunb@hotmail

OWASP Türkiye

XSS Bot(net) Motivasyon

www.gnucitizen.org

Page 11: Bedirhan URGUN Web Güvenlik Topluluğu Tübitak – UEKAE urgunb@hotmail

OWASP Türkiye

Açıklık Tarama Motivasyon

www.spidynamics.com

Page 12: Bedirhan URGUN Web Güvenlik Topluluğu Tübitak – UEKAE urgunb@hotmail

OWASP Türkiye

Web Solucanı Motivasyon

www.webguvenligi.org

Page 13: Bedirhan URGUN Web Güvenlik Topluluğu Tübitak – UEKAE urgunb@hotmail

OWASP Türkiye

Javascript Temelleri

1995 Netscape, Brendan Eich 1996 Microsoft, JScript 1997 ECMA-262, ECMAScript Lehçeler;

Mozilla Firefox, Spider Monkey, Rhino IE, Opera, Konqueror, Safari .NET FrameworkAdobe: Flash, Flex, Acrobat

Page 14: Bedirhan URGUN Web Güvenlik Topluluğu Tübitak – UEKAE urgunb@hotmail

OWASP Türkiye

Javascript Temelleri devam

Dinamik Prototip tabanlı Zayıf yapısal (loose typing) Statik kapsamlı (lexical scoping) Birinci sınıf nesneler olarak fonksiyonlar Açık kod dağıtımı (source code delivery)

Page 15: Bedirhan URGUN Web Güvenlik Topluluğu Tübitak – UEKAE urgunb@hotmail

OWASP Türkiye

Global ve lokal değişkenlertat = “tuzsuz”;function tuzkoy(){

tat = “tuzlu”;}tuzkoy()alert(tat);

Komut sonu karakteri ; veya yeni satır Büyük küçük harf hassasiyeti

Javascript Temelleri devam

var

Page 16: Bedirhan URGUN Web Güvenlik Topluluğu Tübitak – UEKAE urgunb@hotmail

OWASP Türkiye

Javascript Temelleri devam

Veri tipleriNumberBooleanStringnullundefined ve diğer herşey Object

Page 17: Bedirhan URGUN Web Güvenlik Topluluğu Tübitak – UEKAE urgunb@hotmail

OWASP Türkiye

Javascript ve Farklı Özellikleri

Programlama Dilleri – 3xxBuyurucu (Imperative) programlama

komutlarla durumun değişmesi örn:

for(var i=0; i < myarray.length; i++)square( myarray[i] )

Bildirimsel (Declarative) programlama fonksiyonların uygulanması örn:

myarray.map( square, null )

Page 18: Bedirhan URGUN Web Güvenlik Topluluğu Tübitak – UEKAE urgunb@hotmail

OWASP Türkiye

Javascript ve Farklı Özellikleri

Bildirimsel programlamanın 2 temeliLambda (birinci sınıf nesneler : fonksiyonlar)

var ikiEkle = function (x) { return x + 2;}ikiEkle(3); // sonuç 5

Bir kez oluştur ve bir kez çalıştır

Page 19: Bedirhan URGUN Web Güvenlik Topluluğu Tübitak – UEKAE urgunb@hotmail

OWASP Türkiye

Javascript ve Farklı Özellikleri

Bildirimsel programlamanın 2 temeli devam

Closure (Kuşatma)

function birEkle (y) { return function() { return y + 1; };}var x = birEkle(5);x(); // sonuç 6

Page 20: Bedirhan URGUN Web Güvenlik Topluluğu Tübitak – UEKAE urgunb@hotmail

OWASP Türkiye

DEMO

Depolanmış XSS Javascript ile Saldırı Tespit Stratejisi Atlatma Daha İyi Saldırı Tespit Stratejisi

DEMO SUNUMDA D

EĞİL

Page 21: Bedirhan URGUN Web Güvenlik Topluluğu Tübitak – UEKAE urgunb@hotmail

OWASP Türkiye

Depolanmış XSS

Page 22: Bedirhan URGUN Web Güvenlik Topluluğu Tübitak – UEKAE urgunb@hotmail

OWASP Türkiye

Sonuç

JavascriptWeb 2.0 güvenliği için temel,Web 2.0 uygulama geliştirilmesi için temel,Göründüğünden daha karmaşık ve güçlü,Her açıdan incelenmeye değer bir dil

Page 23: Bedirhan URGUN Web Güvenlik Topluluğu Tübitak – UEKAE urgunb@hotmail

OWASP Türkiye

Kaynaklar

Yahoo! UI Library: YUI TheaterDouglas Crockford http://developer.yahoo.com/yui/theater/

Javascript: The Definitive GuideDavid Flanagan http://books.google.com