SQLMap ile CSRF Bypass İbrahim BALİÇ ibrahim@balicbilisim.com



Benzer belgeler
CSRF (XSRF, Cross Site Request Forgery Cross Site Reference Forgery ) Nedir? Nasıl Kullanılır? ve Nasıl Korunulur?

Exchange Server 2010 Sertifika Oluşturma

7. HAFTA KBT204 İNTERNET PROGRAMCILIĞI II. Öğr.Gör. Hakan YILMAZ.

9. HAFTA KBT204 İNTERNET PROGRAMCILIĞI II. Öğr.Gör. Hakan YILMAZ.

State Yönetimi. Bir web sayfası ile sunucu arasındaki etkileşim ;

Web Application Penetration Test Report

8. HAFTA KBT204 İNTERNET PROGRAMCILIĞI II. Öğr.Gör. Hakan YILMAZ.

Internet Programming II. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı

Web 2.0 Örnek Eğitim Notu

Sayın Yetkili, İşleyiş:

Wireshark Lab.: DNS. 1. nslookup

VERİ GÜVENLİĞİ. Web Uygulamaları Güvenliği. Özer Çelik Matematik-Bilgisayar Bölümü

08217 Internet Programcılığı I Internet Programming I

Üst Düzey Programlama

Spring Security Framework Harezmi Bilişim Çözümleri

YZM 3215 İleri Web Programlama

MCR02-AE Ethernet Temassız Kart Okuyucu

Üst Düzey Programlama

SESSİON KULLANIMI. .Aşağıdaki Kodları da SessionDevam.asp adıyla kaydedelim. Language=VBScript Codepage="1254"%>

Kaynak Kod Güvenliği Bir Güvensiz API Örneği

Internet Programming II. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı

Öğr. Gör. Serkan AKSU 1

1 WEB GÜVENLIĞINE GIRIŞ

Web Formlar ve Sayfalar Arasında Bilgi Gönderme. BATML İnternet Programcılığı 1

Bankacılıkta Admin Riskleri ve Bellekte Avcılık

AUTODESK PORTALI İÇİN AKADEMİK HESAP OLUŞTURULMASI

E-fatura Yenilikler. E-fatura uygulaması ile ilgili çeşitli yenilikler seti ile birlikte yayınlandı:

Responsive Tasarım Önerileri!

Basit bir web uygulaması

İhracat e-fatura Akışı

Vega Ayarları. Vega Programının kurulu olduğu veritabanı ve web servisi için bağlantı ayarlarının yapıldığı menüdür.

HP PROCURVE SWITCHLERDE 802.1X KİMLİK DOĞRULAMA KONFİGÜRASYONU. Levent Gönenç GÜLSOY

MODSECURITY DENETİM KAYITLARINI ANLAMAK. Gökhan Alkan,

Türk Tarih Kurumu Araştırmacı Bilgi Sistemi

İçerik Yönetim Sistemi. Joomla! Öğr.Gör. Serkan KORKMAZ. Birecik MYO

API v1.0

T.C.SOSYAL GÜVENLİK KURUMU. Genel Sağlık Sigortası Medula Optik E-rapor Web Servisleri Kullanım Kılavuzu

İÇİNDEKİLER. İçindekiler. Web Uygulama Güvenliği Örnek Kaynak Kod Analizi

ÇÖZÜM BİLGİSAYAR KOLAY RANDEVU RANDEVU WEB SERVİSLERİ YAZILIM FİRMALARI ENTEGRASYON KILAVUZU Sürüm: 1.0

IdeaSoft E-Ticaret ile LOGO Ticari Yazılım Entegrasyon Kullanım Kılavuzu

Internet Programming II. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı

Tokenlarin Taninmasi

EC-485. Ethernet RS485 Çevirici. İstanbul Yazılım ve Elektronik Teknolojileri

MailStore tüm şirket e-postalarınızı uzun yıllar güvenle saklayabileceğiniz bir mail arşivleme sistemidir.

KIRGIZİSTAN-TÜRKİYE MANAS ÜNİVERSİTESİ BİLGİ İŞLEM DAİRESİ BAŞKANLIĞI

Daha detaylı bilgi ve teklif için adresine eposta gönderebilirsiniz.

ÖĞRENME FAALİYETİ 1 ÖĞRENME FAALİYETİ 1 1. FORMLAR

1. HAFTA KBT204 İNTERNET PROGRAMCILIĞI II. Öğr.Gör. Hakan YILMAZ.

0x01 : Zafiyetin İncelenmesi

Programlama Kılavuzu. IPV Serisi IP Santralleri IPV10 IPV20 IPV50

GOLDMESAJ SMS API DÖKÜMANI

KONFİGURASYON TANIMLARI

FIRAT ÜNİVERSİTESİ WEB TABANLI KÜTÜPHANE OTOMASYONU

Tanımı Problemi 46 Şüpheci Yaklaşım 47 Tamsayı Taşması (Integer Overflow) 47 Tamsayı Taşması Java Uygulaması 48

T.C.SOSYAL GÜVENLİK KURUMU. Genel Sağlık Sigortası Medula Optik E-rapor Web Servisleri Kullanım Kılavuzu

EXCHANGE 2007 TRANSPORT RULE İLE KULLANICI BAZLI MAİL GÖNDERİM KISITLAMASI... 1 LOTUS DOMINO SERVER'DA İNTERNET MAİL ALIM KISITLAMALARI...

İçerik Yönetim Sistemi. Joomla!

d) x - y = 0 e) 5x -3y = 0 f) 4x -2y = 0 g) 2x +5y = 0

Özgür Uygulamalar ile Web Güvenliği. The OWASP

Web Uygulama Saldırıları ve Klasik Çözümlerin Yetersizliği

Program Kurulum. Turquaz Muhasebe. İçindekiler

YZM 3215 İleri Web Programlama

Web Uygulama Güvenliği Kontrol Listesi 2010

AKINSOFT OfficeMessenger

6 Ocak İlgili Versiyon/lar : ETA:SQL, ETA:V.8-SQL. İlgili Modül/ler : E-Fatura

EC-232C. Ethernet RS232 Çevirici. İstanbul Yazılım ve Elektronik Teknolojileri

T.C.SOSYAL GÜVENLİK KURUMU. Genel Sağlık Sigortası Medula Optik E-reçete Web Servisleri Kullanım Kılavuzu

DM-501 Tak-Çalıştır GPRS-UART Köprüsü

Dr. Fatih AY Tel: fatihay@fatihay.net

FAKÜLTE DERS SEÇİMİ İŞLEMLERİ İÇİN ÖĞRENCİ BİLGİ SİSTEMİ (OBİS) KULLANIM KILAVUZU

Anti-Virüs Atlatma 3. Kurulum

Online Protokol Üretim Projesi

250 BÜYÜK FİRMA VERİLERİNİN DEĞİŞKEN BAZINDA İNCELENMESİ

Exchange Server 2013 Kurulum Sonrası Yapılandırmalar

Javascript. 1) Notepad++ aşağıdaki kodları yazıp deneme.html olarak kaydedelim. 2) Biraz önceki sayfa sadece html kodların içeriyordu.

SQUİD PROXY İLE GERÇEK ZAMANLI WEB TRAFİK KONTROLÜ

Wolvox Web Entegrasyon. AKINSOFT Wolvox Web Entegrasyon Yardım Dosyası

CYGWIN KURULUMU ve KULLANIMI

Bildiğimiz gibi commanda ekranın çok çeşitli sorgulamalar yapılabilir.bunlara örnek olarak

e-defter Müşteri Web Servisi Dokümanı

Çalışma alanı ekle seçeneği ile e-fatura çalışacağınız çalışma alanını 3 adımda oluşturabilirsiniz.

Samsun Çocuk Hizmetleri İ l Koordinasyon Sekretarya Birimi

XSS Exploitation via CHEF

MutluSantral API Dokümanı. Versiyon 1.0.1

Bölüm 4 Ardışıl Lojik Devre Deneyleri

Sqlmap pyhton dili yazılarak geliştirilmiş Sql injection için testerlara son derece yardımcı olan bir araçtır.

KÜTÜPHANE ve DOKÜMANTASYON DAİRE BAŞKANLIĞI İŞ AKIŞ SÜREÇLERİ

WINDOWS SERVER 2008 R2-SERVER 2012 DE IP SANALLAŞTIRMA

ORTAK SAĞLIK GÜVENLİK BİRİMLERİ İÇİN İŞ SAĞLIĞI GÜVENLİĞİ YAZILIMI

EDI MIGROS (Sipariş) LOGO ENTEGRASYONU

05 - Veritabanı Sızma Testleri

Sözleşmeyi Buraya Tıklayarak indirebilirsiniz.

İnternet Destekli Temel Bilgisayar Bilimleri Dersinde Anket Uygulaması

Balon & Banka Teslim tarihi: 17 Kasım 2008

NESNE YÖNELİMLİ PROGRAMLAMA HAFTA # 6. Yrd.Doç.Dr.Hacer Karacan

WEB TASARIM I. Öğr. Gör. M. Mutlu YAPICI. Ankara Üniversitesi Elmadağ Meslek Yüksekokulu

HACETTEPE ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ BİLGİSAYAR AĞLARI LABORATUVARI DENEY 5. Yönlendiricilerde İşlem İzleme ve Hata Ayıklama

DES (dijital eko sistem) online sözleşme için tıklayınız. (Sözleşme Mükellef adına doldurulacaktır)

Transkript:

SQLMap ile CSRF Bypass İbrahim BALİÇ ibrahim@balicbilisim.com Merhabalar, Birçok güvenlik araştırmacısı web uygulamaları için penetrasyon testleri yaparken, tespit ettikleri zafiyetleri exploit edebilmek adına çeşitli araçlardan faydalanmaktadır. Bu araçlar genel olarak işlemleri otomatik hale getiriyor olsalar da kısmen yetersiz kaldıkları durumlar veya güvenlik denetimlerine takıldıkları zamanlar vardır. Bu başlık altında SQLMap aracını kullanarak CSRF(Cross-site Request Forgery) için alınmış bir dizi önlemi bypass etmenin yollarına deyineceğim.

Burada kullanılan CSRF mekanizmasının çalışma anatomisine göz atacak olursak, Server'ın, Client için gönderdiği cevapta (response) sayfa içerisindeki formlar için random bir token oluşturulmuş. Server Client'tan gelecek olan her istek için bu token değerini beklemektedir. Eğer bu token gönderilirse, Istek(request) için Cevap(response) verilecektir. Sayfa her yenilendiğinde (her request için) o sayfaya özel uniq bir token oluşturulmakta ve yapılacak istek için bu token beklenmektedir. SQLMap aracının bu seneryo/mekanizma içerisinde kullanacağımızı düşünürsek, yapılacak atack'ın başarısız olacağını hemen anlayabiliriz.sqlmap'ın bu seneryo içerisinde server için yapacağı her istek içerisinde server için bir token göndermesi gerekmektedir. Bu tip bir durum için SQLMap içerisinde yapılacak ufak bir kaç değişiklik ile SQLMap için bu yetenek kazandırılabilinir. Hedefimiz SQLMap aracığını çalışma mekanizmasını değiştirmek suretiyle yapacağı her istek(request) öncesinde Server'dan ilgili token değerini alıp, yapacağı bir sonraki istek(request) içerisinde bu token'ı kullanması. Bu sebeple bulmamız gereken öncelikli şey SQLMap aracının istek yapmış olduğu modül. https://github.com/sqlmapproject/sqlmap/blob/master/lib/request/connect.py SQLMap aracı biraz incelediğimizde yapılan her istek için connect.py içerisinde bulunan getpage functionını kullandığını açıkça görebilmekteyiz. Seneryomuza göre yapılacak her işlem için SQLMap aracının server ile iletişim sağlaması ise bu function içerisinde değişiklik yapmamız bizim için yeterli olacaktır. Seneryomuza göre şimdiki hedefimiz server'ın client için oluşturduğu token'ı sayfa içerisinde tespit etmek. Bunu anlamak için giden trafiği veya sayfa içerisinde source code'un incelenmesi faydalı olacaktır. Bizim örneğimizde RequestVerificationToken değeri içerisinde gidip geldiğini görüyoruz.

Server'ın client için oluşturduğu random token'ın tutulduğu input değerini tespit ettik, Şimdiki hedefimiz sunucuya kendi cookie değerimiz ile istekte(request) bulunup, bize göndermiş olduğu cevap(response) içerisinde RequestVerificationToken değerini alıp, SQLMap içerisinde gönderilecek post değeri içerisine yerleştirmek.

Yukarıda görmüş olduğunuz gibi connect.py içerisinde getpage functionında değişiklikler yaptım, 1. aşama olarak server için kendi cookie değerimi set ediyorum ve 2. aşamada bu cookie değeri ile server'a istek yapıyorum(request). 2. aşamada server'ın bana göndermiş olduğu cevap(response) içerisinde aradığım RequestVerificationToken değerini parçalıyorum(parse ediyorum). Bu değeri alıp 4 aşamada SQLMap'in post parametresinin içerisindeki csrfid değişkeni ile server'dan aldığım değişkeni yer değiştiriyorum. Bu sayede SQLMap yapacağı her istek içerisinde server'a requestverification token yollamış oluyor. Sqlmap içerisinde RequestVerificationToken parametresinin değerini csrfid olarak verdiğim için her istekte alınan request token burayla yer değiştirilecektir. Bu mantık ile farklı uygulamalarda farklı denetimleri bypass edebilirsiniz. Herkese iyi çalışmalar dilerim İbrahim