|~Pc kopat 2oo8~|| HACKİNG ,SECURİTY,PROGRAMLAMA,PROGRAM,İNTERNET ERİŞiMİ ,PAYLAŞIM PORTALI

BİLGİSAYAR, WEB PROGRAMLAMA,İNTERNET ERİŞİMİ, PROGRAMLAMA VE PC BAKIM, DONANIM, PC GÜVENLİK SUNUCU YOLU
 
AnasayfaSSSAramaÜye ListesiKullanıcı GruplarıKayıt OlGiriş yap

Paylaş | 
 

 Bİr Sistemin Üzerindeki Açiklar Nasil Bulunur Ve Kullanilir ?

Önceki başlık Sonraki başlık Aşağa gitmek 
YazarMesaj
XabrkX
Admin
Admin
avatar

Erkek
Mesaj Sayısı : 573
Nerden : NOLDU BİZEMİ GELCEN ? :D :D
Lakap : ******kaRİZma*******
RUH HALİ :
SADECE BU KONUDA AŞAĞIDAKİ KADAR TEŞEKKÜR EDİLDİ : <div class="js-kit-rating" view="score"path="" title="" permalink=""></div><script src="http://js-kit.com/ratings.js"></script>
TAKIM :
Kayıt tarihi : 09/07/08

MesajKonu: Bİr Sistemin Üzerindeki Açiklar Nasil Bulunur Ve Kullanilir ?   Cuma Eyl. 05, 2008 9:06 am

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:

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:

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:

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:

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:

Kod:
GET admin.asp HTTP/1.1Referer: 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.

_________________




*****Gec€LerİN ADmiNİ*****
XabrkX
Sayfa başına dön Aşağa gitmek
Kullanıcı profilini gör http://www.pckopat.forumn.biz
 
Bİr Sistemin Üzerindeki Açiklar Nasil Bulunur Ve Kullanilir ?
Önceki başlık Sonraki başlık Sayfa başına dön 
1 sayfadaki 1 sayfası
 Similar topics
-
» Hz. Fatima'nin dügünü nasil olmustu?
» Vücudumuzda SistemLer Fen biLgisi

Bu forumun müsaadesi var:Bu forumdaki mesajlara cevap veremezsiniz
|~Pc kopat 2oo8~|| HACKİNG ,SECURİTY,PROGRAMLAMA,PROGRAM,İNTERNET ERİŞiMİ ,PAYLAŞIM PORTALI :: WEB HACKİNG :: web -domain hacking-
Buraya geçin: