AKDENİZ FORUM


Ana Sayfa Benim Konularim Benim Mesajlarim
Geri git   AKDENİZ FORUM > Bilgisayar Merkezi > Security
Kayıt ol Yardım Üye Listesi Arama Bugünki Mesajlar Bütün Forumları okunmuş kabul et

Security Bu bölümde güvenlik ve güvenlik açıkları, Korunma Yolları ile ilgili herşey yayınlanır.

Cevapla
 
Seçenekler
Alt 07-27-2007   #1
dJ_FoxX
Normal Üye
 
dJ_FoxX - ait Kullanıcı Resmi (Avatar)

Türkiyenin En Kaliteli Bilgi Paylasim Mekani AKdenizForum..
Kullanıcı Bilgileri
 
Üyelik Tarihi: Sep 2006
Mesajlar: 1.057
Üye No: 1053
Extra Bilgiler
Tecrübe Puanı: 41
Rep Gücü : 59
Rep Derecesi : dJ_FoxX is on a distinguished road
İletişim
::lol:: Bir sistemin üzerindeki açıklar nasıl bulunur ve kullanılır?

Evet uzun zamandır yazmayı düşündüğüm bu dökümanımı bugüne kadar elde ettiğim tecrübelerden birebir aktarıyorum.Şuan için web tabanlı uygulamalar ilgili benim kullandığım yöntemleri yazıyorum.

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.1
Referer: http://www.abudik.com/login.asp
Ş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.

Paylaşımın KaLite İLe Buluştuqu Tek Yere HoşqeLdiniz..



Seni yağmalamışlar kuytularda korkuların nefes nefese
Yüreğinden bıçaklanan sevdalarda
Pişman mısın kendine düşman mısın?
Hep yanlış sevdalara çiçeklenmiş kuruyup savrulmuşsun
Hasretin çıldırıyor anılara gecelere sığmıyorsun
Şu soğuk duvarların dili olsa anlatsa neler çektiğini
Buz gibi yastıklara sarılıp da sabahı zor ettiğini
Ağlıyorsun...
Ağlıyor ağlıyorsun
Artık gülüp geçiyorsun aşklara inanmıyorsun
Yorgunsun biliyorum oysa birtek sözcük yeterdi anlatmaya
Saçların o elleri özlüyor
Çığlar yuvarlanıyor ömrünün uçurumlarında
O en saklı yerinde ağlayan kahkahalar hangi yasak umudun ihanetidir
Birer birer kopartmışlar büyüttüğün çiçekleri
Anlıyor musun?
Yaprak döken gençliğinin satır aralarında
Altı kırmızıyla çizilmiş ve tırnak içine alınmış suskunluğun başharflerisin
Şehirler uyurken boğazına sarılırken öfkeler
Bu gizli gülmelerin bu sessiz ağlamaların nedir anlamı
Sen hangi mevsimin yağmurusun
Ağlıyor musun?

dJ_FoxX isimli üyemiz çevrimdışıdır. (Offline)   Alıntı ile Cevapla
Alt 06-25-2008   #2
By_HeLL
Amatör Üye
 
By_HeLL - ait Kullanıcı Resmi (Avatar)

Türkiyenin En Kaliteli Bilgi Paylasim Mekani AKdenizForum..
Kullanıcı Bilgileri
 
Üyelik Tarihi: Jan 2007
Yaş: 75
Mesajlar: 15
Üye No: 3302
Extra Bilgiler
Tecrübe Puanı: 35
Rep Gücü : 69
Rep Derecesi : By_HeLL is on a distinguished road
İletişim
Standart --->: Bir sistemin üzerindeki açıklar nasıl bulunur ve kullanılır?

Web sitenizi ve uygulamalarınızı SQL Enjeksiyon saldırılarından korumak 3 bölümlük bir işlemden oluşur:


Sitenizin, SQL Enjeksiyon ve diğer açıklara karşı tam bir güvenlik denetiminin yapılması ile güvenliğinizin mevcut halinin analiz edilmesi.
Web uygulamalarının ve BT altyapısının diğer tüm bileşenlerinin steril olması için en uygun kodlama standartlarının / tekniklerinin kullanılması.
Web bileşenlerindeki her değişiklik veya eklemeden sonra düzenli web güvenlik denetimi uygulanması.

Ek olarak, SQL Enjeksiyon ve diğer tüm hack tekniklerinin kontrolünde aklınızda olması gereken ana ilke şudur: "Web sitesinde güvenli olduğunu düşündüğümüz hangi bölümler hack saldırılarına açık?" ve "Bir uygulamaya hangi veriyi göndererek normalde yapmaması gereken bir şeyi yaptırabiliriz?".

SQL Enjeksiyon açıklarının kontrolü web sitesinin ve web uygulamalarının denetimi ile olur. Manuel açık denetimi karmaşık olabilir ve çok zamanınızı alabilir. Ayrıca yüksek-seviye uzmanlık ve büyük miktarda kodun takip edilmesini ve bilgisayar korsanlarının en son taktiklerinin bilinmesini gerektirir.

Web uygulamalarını denetlemenin en iyi yolu otomatik ve keşifsel (heuristic) web güvenlik tarayıcısı kullanmaktır.

Otomatik web güvenlik tarayıcısı tüm web sitenizi gezer ve SQL enjeksiyon açıklarını test eder. Hangi URL/betiklerin SQL enjeksiyondan etkilendiğini belirtir. Bu sayede hızlı bir şekilde kodu düzeltebilirsiniz. Bir web uygulama tarayıcısı SQL Enjeksiyon açıklarının yanında Çapraz site betik çalıştırma (XSS) ve diğer web güvenlik açıklarını da test eder.

SQL Enjeksiyon için İmza-eşleştirme’ye karşı keşifsel tarama
Pek çok firma otomatik ve periyodik web denetimi ihtiyacını anlamış olsa da pek azı hem hazır gelen hem de özel hazırlanan web uygulamalarını taramanın gerekliliğine inanır. Genel yanlış düşüncelerden biri özel yazılmış web uygulamalarının hack saldırılarından etkilenmeyeceğidir. Bu daha çok "asla benim başıma gelmez" olgusundan ve web sitesi sahiplerinin uygulama geliştiricilerine olan güveninden kaynaklanır.

Bu doküman yazıldığı sırada Google News’te "SQL Injection" kelimeleri için yaptığımız arama 240 sonuç buldu. Secunia ve SecuObs bilinen web uygulamaları için günlük olarak düzinelerce güvenlik açığı rapor etmekte. Ve özel hazırlanmış uygulamaların hack edilmesi ile ilgili örnekler medyada fazla yer almıyor. Bunun sebebi sadece bilinen meşhur firmalar (ör. Choicepoint, AT&T, PayPal) geçtiğimiz bir kaç ay içinde manşet oldular.

Özel yazılmış web uygulamalarının belki de en çok açık içerenler olduğunu anlamak son derece önemlidir. Ve daha çok sayıda bilgisayar korsanının ilgisini çeker çünkü bu tip uygulamaların sıkı testlerden ve kalite güvence işlemlerinden geçmediğini bilirler.

Özel yazılmış bir web uygulamasını sadece imza-tabanlı bir tarayıcı ile taramak SQL Enjeksiyon veya diğer açıklara karşı tam olarak test yapılmaması anlamına gelir.

Bilinen uygulamarın açıklarının bulunduğu bir veritabanı ile test yapmak yeterli değildir. Bu pasif denetimdir çünkü sadece hazır yazılmış uygulamaları içerir ve yeni hack tekniklerinden etkilenen açıklar keşfedilemez. Hack saldırıları test için imza dosyası kullanmayabilir - bilgisayar korsanları bilinen hazır uygulamaların, sistemler ve sunucular üretici firmaları tarafından sık sık yapılan güncellemeler ile güvenli hale getirildiğini bilirler. Bu yüzden özel hazırlanmış uygulamalar onlar için daha uygundur.

Sonuç olarak öncelikli olarak keşifsel (heuristic) tarama metodu (ek olarak imza eşleştirme de) kullanan web uygulama tarayıcıları kullanılmalı.

Kaynak:[ÜYE OLMADAN LİNKLERİ GÖREMEZSİNİZ. BURAYA TIKLAYARAK BEDAVA ÜYE OLUN...]

Anlaşılır olmanın çok uzağında...!!!
Eğer iyi bir hackersan herkes adını bilir ama
Muhteşem bir hackersan kimse kim olduğunu bilmez...

Cross Site Scripting ( XSS )
RFİ -LFİ
SQL İnjection
sosyal mühendislik

Konu By_HeLL tarafından (06-26-2008 Saat 12:02 AM ) değiştirilmiştir..
By_HeLL isimli üyemiz çevrimdışıdır. (Offline)   Alıntı ile Cevapla
Cevapla

Seçenekler

Yetkileriniz
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is Açık
Smileler Açık
[IMG] Kodları Açık
HTML-KodlarıKapalı
Gitmek istediğiniz klasörü seçiniz


Saat: 04:47 PM


Powered by vBulletin® Version 3.7.3
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Akdeniz forum Web Sitesi Bir Forum sitesi oldugun'dan öterin kullanicilar görüs almadan konularini aninda sitede yayinlayabilmektedir
bu yazılardan dolayı doğabilecek her türlü sorumluluk yazan kullanıcılara aittir,
yine de sitemizde yasalara aykırı unsurlar bulursanız iletişim Yoluyla email adresine bildirebilirsiniz..


Diyet Uzmanı Sesli Chat oyun oyun hileleri oyun adtech ile reklam 2.0 seo yarışması Büyükçöplük.Com fx15
Sitemap
5, 6, 7, 8, 9, 10, 11, 12, 13, 15, 450, 18, 19, 20, 21, 22, 23, 24, 25, 287, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 426, 38, 39, 40, 41, 43, 44, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 75, 258, 82, 83, 86, 87, 88, 89, 342, 260, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 117, 112, 111, 270, 120, 121, 122, 123, 124, 125, 126, 127, 128, 134, 130, 131, 316, 133, 221, 137, 142, 268, 138, 454, 145, 141, 139, 140, 163, 146, 172, 173, 147, 144, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 319, 194, 171, 170, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 195, 196, 197, 318, 198, 199, 220, 205, 206, 207, 208, 211, 212, 213, 214, 215, 216, 217, 218, 222, 226, 228, 230, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 243, 244, 250, 251, 252, 257, 254, 253, 255, 259, 261, 269, 271, 503, 272, 273, 274, 275, 277, 283, 279, 280, 281, 282, 284, 285, 286, 288, 289, 290, 291, 295, 296, 304, 305, 308, 309, 310, 311, 312, 313, 314, 320, 321, 322, 323, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 415, 336, 337, 338, 340, 341, 343, 344, 345, 346, 347, 348, 349, 350, 351, 385, 396, 355, 356, 358, 360, 361, 362, 363, 364, 365, 367, 368, 369, 370, 371, 372, 374, 375, 376, 378, 379, 381, 382, 383, 384, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 397, 398, 399, 400, 401, 402, 403, 404, 405, 407, 408, 409, 410, 411, 412, 413, 414, 416, 417, 418, 419, 421, 422, 423, 424, 425, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 455, 456, 457, 458, 459, 460, 461, 462, 508, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 504, 505, 506, 507, 528, 529, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542,