ForumTayfa  

Geri git   ForumTayfa > Güvenlik > Güvenlik ve Güvenlik Açıkları
Kayıt ol Yardım Üye Listesi Forumları Okundu Kabul Et

Güvenlik ve Güvenlik Açıkları Pc güvenliği ile ilgili tüm konuların tartışıldığı bölüm...

Cevapla
 
LinkBack Seçenekler Stil
Alt 12.10.07, 22:00   #1 (permalink)
Yeni Tayfa
 
Kızıl_Elma - ait Kullanıcı Resmi (Avatar)
 
Üyelik tarihi: Jun 2007
Mesaj Sayısı: 87
Konu Sayısı: 56
Takım: Galatasaray
Rep Gücü: 136
Rep Puanı: 13451
Rep Derecesi : Kızıl_Elma 0-20000Kızıl_Elma 0-20000Kızıl_Elma 0-20000Kızıl_Elma 0-20000Kızıl_Elma 0-20000Kızıl_Elma 0-20000Kızıl_Elma 0-20000Kızıl_Elma 0-20000Kızıl_Elma 0-20000Kızıl_Elma 0-20000Kızıl_Elma 0-20000
Ruh Hali:


Wink Bir sistemin üzerindeki açıklar nasıl bulunur ve kullanılır?




bu tür konularda dilin açıklığı önemlidir ve bunun kadar iyisini görmedim:

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:
[Sadece Kayıtlı Kullanıcılar Linkleri Görebilir. Üye Olmak İçin Tıklayın...] 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 porno sitelere girerken çok kullanıyorsunuz.
Burdaki mantık sokete HTTP requesti yollarken sitemizi abudik.com varsayarsak

Kod:
GET admin.asp HTTP/1.1
Referer: [Sadece Kayıtlı Kullanıcılar Linkleri Görebilir. Üye Olmak İçin Tıklayın...]
Ş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.

Alıntıdır;türkçem hep zayıf olduğu için pek güzel anlatamıyorum...
__________________
PAİN!!!
Kızıl_Elma isimli Üye şimdilik offline konumundadır   Alıntı ile Cevapla
Cevapla



Seçenekler
Stil

Yetkileriniz
Yeni Mesaj yazma yetkiniz aktif değil dir.
Mesajlara Cevap verme yetkiniz aktif değil dir.
Eklenti ekleme yetkiniz aktif değil dir.
Kendi Mesajınızı değiştirme yetkiniz aktif değil dir.

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




Powered by vBulletin Version 3.6.4
Copyright ©2000 - 2007, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO 3.1.0
ForumTayfa

Arşiv: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237


ForumTayfa - Link Değişimi
ForumTayfa.Net | Sahil Oto | Nazhar | MySpace TopSites | Voip Destek | | Tamamıucuz.com | Link Değişimine Katılın |
ForumTayfa - Toplist
eXTReMe Tracker
Sitemiz bir forum sitesi olduğundan dolayı, kullanıcılar her türlü görüşlerini önceden onay olmadan anında siteye yazabilmektedir. ForumTayfa Yöneticileri mesajları itina ile kontrol etse de, bu yazılardan dolayı doğabilecek her türlü sorumluluk yazan kullanıcılara aittir. Yine de sitemizde yasalara aykırı unsurlar bulursanız iletisim@forumtayfa.com email adresine bildirebilirsiniz, şikayetiniz incelendikten sonra en kısa sürede gereken yapılacaktır.
Any member of our web site has the right of adding comments instantly without getting permisson due to the forum structure of our site basis. Althought, our site modarators check comments with care, all the responsibilities sourced from these comments directly belong to the members. If you still find any illegal content in our site ( A.buse, H.arassment, S.camming, H.acking, W.arez, C.rack, D.ivx, Mp.3 or any Illegal Activity ), please report us via iletisim@forumtayfa.com .Your reports will be evaluated as soon as the arrival of your e-mail.