İPUCU

Web & Server Güvenliği Doğru web ve veritabanı sunucusu güvenliği sağlanmadan, bilgisayar korsanları hassas verilerinize erişebilir. Web, Sunucu ve veritabanı güvenliğini nasıl sağlayacağınızı buradan öğrenebilirsiniz.

Seçenekler

açıklar nasıl bulunur kullanılır içeri

04-06-2009 11:05
#1
atlas_tr - ait Kullanıcı Resmi (Avatar)
Üye
Üyelik tarihi:
01/2008
Nereden:
NErDe OLsam BEğeNİRsin
Mesajlar:
2.383
Teşekkür (Etti):
19
Teşekkür (Aldı):
189
Konular:
389
Ticaret:
(0) %
Uygulama hatalarını bulmanın en kolay yolları;

Mevcut sayfalarla oynamak,
Uygulamaya ait formlarla oynamak,
Headerlarla oynamak,
Çerezlerle oynamak,


Uygulamanın kaynak kodlarından yararlanma:
(Genel içerik: çapraz site betiklenmesi (XSS) ve SQL enjeksiyonu)

En basit ve en yararlı olan yöntemdir. Basit dediğime bakmayın oldukça uğraştırır aslında.Nedenine gelince bazen bu sistemlerin hangi uygulamaları kullandığını bulmak oldukça zordur ve eğer public bir uygulama değilse örneğin (PHPNuke,PostNuke gibi) bu yöntemi denemenizi tavsiye etmem.

Kaynak kodunu ele geçirdiğiniz uygulamayı önce yerel bir sunucudaki kendi sisteminize bu uygulamayı destekleyen bir sunucu kurmalısınız (PHP tabanlı uygulamalar için: PHPTriad,ApacheTriad gibi sunucu paketleri sizin için idealdir, ASP ve FrontPage tabanlı sistemler için PWS sizler için idealdir ve PWS Windows ile gelir) bu sunucuyu kurdukdan sonra uygulamayı sunucunuz üzerinde çalıştırın.

Sonra birebir bütün heryerini önce kurcalayın ve bir hata ile karşılaştığınızdaki bu uygulamada var olan açığın ilk adımını bulmuşsunuz demekdir ki,

Bu hata mesajı bazen debug output olarak karşınıza çıkarsa ve alttaki örnek gibiyse


Kod:

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'or' at line 1


1. satırdaki kodu inceleyin mevcut hatamız SQL ile ilgili gördüğünüz gibi burdaki fonksiyonu ve mevcut SQL sorgusuna dikkat edin ve neler yapılabileceğinizi deneyin.

Bazen hata mesajı almasanızda bir tuhaflık gözünüze çarpar örneğin uygulamamıza yerel sunucumuzdan şöyle eriştiğimizi varsayalım;


Kod:

http://localhost/research/xxxforum/read.php?id=2 or


Eğer read.php bize normalde mesaj yazması gereken yerde hiç birşey göstermediyse.
read.php dosyasını bir metin düzenleyicisi yardımıyla örnek: notepad açın,sonra tek tek bütün kodları inceleyin özellikle read.php'nin sunucudan "GET" yöntemi ile gelen sorgulara hangi fonksiyon ile nasıl yanıt verdiğine bakmalısınız.Eğer fonksiyonda bir terslik gözünüze çarpar ise örnek bir hatalı fonksiyon yazalım.


Kod:

function readip() { @mysql_connect($uo_sqlhost, $uo_sqluser, $uo_sqlpass) or die("Cannot connect to SQL server"); @mysql_select_db($uo_sqlbase) or die("Cannot select database"); $uo_ip = $_GET['SIP']; $uo_query = "SELECT lastvisit FROM users_online WHERE visitor = $uo_ip"; $uo_result = mysql_query($uo_query); echo $uo_result;}

gördüğünüz gibi fonksiyonda bir hatamız mevcut.

Kod:

$uo_query = "SELECT lastvisit FROM users_online WHERE visitor = $uo_ip";

tam olarak düzenli yazılmamış bir SQL sorgusu bu sorguya GET yöntemi ile gelen SIP sorgusundaki bir dikkatsizlik sayesinde çok kolay bir şekilde SQL sorgusu enjekte edebiliriz.
Hatta uzaktan kod çalıştırma dahi yapabiliriz.

Uygulamaları yazan kişiler genelde print (yazdırma) ve view (görüntüleme) sistemlerine ne yazikki dizayndan başka bir önem vermezler ve genelde bütün açıklar bu sayfalarda çıkar.

Eğer uygulamanın kaynak kodlarına erişemezseniz, mevcut uygulamaya ulaştığınız web sunucusundan en yukarda bahsettiğim metodları kullanarak az kafasını kurcalamaya çalışarak bir çok açık bulabilirsiniz.

Genelde büyük ve özel sunuculardaki açıklar böyle bulunmuştur. Bir çok büyük firmanın sistemine girdiğimde (BigFoot,ICQmail,NetZero,Superonline) bu tarz açıklar bulmuştum.

Çerezlerle oynamak:

Çerezler aslında HTTP requestte Cookie: headerıyla sunucuya yolladığımız ve sistemin bizi kolayca hatırlamasını sağlayan değerler.Bu değerlerle ufak oynamalar yaparak kendimizi sistem adminiymiş gibi gösterebiliriz bu metodu artık çoğunuz biliyorsunuz.Fazla anlatmaya gerek yok=)

Referans değişimi (referer spoofing):

Aslında buda headerlar ile oynamak kapsamına girer ancak dikkatsiz programcılar halen bu eski sistemi kullanmaktalar.Bir çoğunuz bu yöntemi ***** sitelere girerken çok kullanıyorsunuz.
Burdaki mantık sokete HTTP requesti yollarken sitemizi abudik.com varsayarsak


Kod:

GET admin.asp HTTP/1.1Referer: new cars travel media shopping at abudik.com

Şekline ufak bir data değişimi ile sistemin admin paneline girmemizi sağlar.

Satır atlattırma CRLF enjeksiyonu

Buda headerlarla oynamakdan geçer. Basit bir şekilde sokette headera \n\n karakterleri yazdırılır ve eğer sistem bu ufak oyunumuzu yutar ise istediğimiz headerı yazabilir, SQL enjeksiyondan , uzaktan kod çalıştırılmasına kadar bir çok şeyi yapabiliriz.

Bu yöntemlerin hepsi zamanla deneyerek öğrenilecek ve bir süre sonra alışkanlık yapacak yöntemler kendi metodlarınızı kullanarak bu yöntemleri geliştirebilirsiniz.
Kullanıcı İmzası

28-07-2009 16:25
#2
Üyelik tarihi:
07/2009
Mesajlar:
50
Teşekkür (Etti):
1
Teşekkür (Aldı):
2
Konular:
0
Ticaret:
(0) %
emegınıze saglık
Konu beyzade1453 tarafından (14-08-2011 17:04 Saat 17:04 ) değiştirilmiştir.
28-07-2009 16:27
#3
DelPhoİ - ait Kullanıcı Resmi (Avatar)
Üye
Üyelik tarihi:
04/2009
Nereden:
BuRsATexAs
Mesajlar:
4.477
Teşekkür (Etti):
502
Teşekkür (Aldı):
1579
Konular:
1441
Ticaret:
(0) %
Alıntı:
beyzade1453´isimli üyeden Alıntı Mesajı göster
hocam benı eklermısın eastbloodzade@hotmail.com
forum kurallarını okumanı tavsiye ederim mail adresı vermek yasak dostum
Kullanıcı İmzası
Geçmişte yapmış olduğunuz hataları bilerek hayatınızı tekrar,tekrar ve tekrar yaşamak zorunda kalsaydınız ne yapardınız?
14-08-2011 17:03
#4
Üyelik tarihi:
07/2009
Mesajlar:
50
Teşekkür (Etti):
1
Teşekkür (Aldı):
2
Konular:
0
Ticaret:
(0) %
emegınıze saglık tsk
14-08-2011 17:06
#5
Üyelik tarihi:
07/2009
Mesajlar:
50
Teşekkür (Etti):
1
Teşekkür (Aldı):
2
Konular:
0
Ticaret:
(0) %
Alıntı:
DelPhoİ´isimli üyeden Alıntı Mesajı göster
forum kurallarını okumanı tavsiye ederim mail adresı vermek yasak dostum
selam hocam lutfen rıca etsem maılımı ordan sılermısın .lutfen hocam tsk

Bookmarks


« Önceki Konu | Sonraki Konu »
Seçenekler

Yetkileriniz
Sizin Yeni Konu Acma Yetkiniz var yok
You may not post replies
Sizin eklenti yükleme yetkiniz yok
You may not edit your posts

BB code is Açık
Smileler Açık
[IMG] Kodları Açık
HTML-Kodları Kapalı
Trackbacks are Kapalı
Pingbacks are Kapalı
Refbacks are Kapalı