Sql Server şifreleri saklamak için dökümante edilmemiş bir fonksiyon olan pwdencrypt() kullanır.Bu fonksiyon kullanıcı şifresi için bir hash değeri üretir.
Buralar genellikle herkesin bildiği şeyler.Ama daha public edilmeyen şey ise bu fonksiyonun ayrıntılarıdır.İşte bu dökümanda bu fonksiyonun detayları ve zayıflıkları hakkında bilgi vereceğim..
SQL şifre hash ’ı nasıl birşeydir ?
Query Analyzer ya da Sql aracı kullanarak şu sorguyu sorun ;
select password from master.dbo.sysxlogins where name=’sa’
Buna benzer bir şey alacaksınız ;
0×01008D504D65431D6F8AA7AED333590D7DB1863CBFC98186 BF
AE06EB6B327EFA5449E6F649BA954AFF4057056D9B
Benim makinamdaki ‘sa’ şifresinin hash değeri işte yukardaki,
Peki pwdencrypt() fonksiyondan hash ’la ilgili ne alacağız ?
-> Zaman
Sorgu ;
select pwdencrypt(’foo’)
Sonuç ;
0×0100544115053E881CA272490C324ECE22BF17DAF2
AB96B1DC9A7EAB644BD218969D09FFB97F5035CF7142521576
Birkaç saniye sonra aynı sorguyu soralım yine ;
select pwdencrypt(’foo’)
Sonuç ;
‘foo’ girdisi aynı olmasını rağmen iki hash değeri farklı.Buradan anlayacağımız zaman şifre hashlarının yaratılmasında önemli bir yer tutuyor.
Bu yapının nedeni iki farklı kullanıcının aynı şifreyi kullanmasının anlaşılmamasını sağlamaktır.
Büyük Harf Küçük Harf
Sorgu ;
select pwdencrypt(’AAAAAA’)
Sonuç ;
0×01008444930543174C59CC918D34B6A12C9CC9EF99
C4769F819B43174C59CC918D34B6A12C9CC9EF99C4769F819B
Yukardaki hash’ta 2 şifre hash değeri var.
Anlamadıysanız bu değeri bölelim ;
0×0100
84449305
43174C59CC918D34B6A12C9CC9EF99C4769F819B
43174C59CC918D34B6A12C9CC9EF99C4769F819B
Son 40 karakter ondan önceki 40 karakterle aynı.Biri büyük harf için diğeri küçük harf için.Bu Birilerinin işini kolaylaştırıyor.Sadece büyük harfleri denemeleri yeterli oluyor.
Salt Temizleme
Zamanın hash fonksiyonlarını etkilemesini yazının önceki bölümleribde öğrenmiştik.
Ama zamanın böyle bir etki yapmasını sağlayacak bir şey daha olmalı ve hazırda bulunmalı.Hani yukarıdaki hashi bölmüştüm ya işte oradaki 84449305 zamanı etkileyen bilgidir.
Bu numara C ‘de time() fonksitonu ile srand() fonksiyonunun birlikte ürettikleri rastgele bir numaradır.Üretilen numaralar integerdir.Sql shorta çevirir.
İlk üretilen bu numaraya SN1 diyelim.Sonra tekrar rand() fonksiyonu çağrılır ve bir numara daha üretilir ve shorta çevrilir.Buna da SN2 diyelim.SN1:SN2 salt’ı oluşturmuş olur.
Şifreyi Hash ’a Çevirmek
Kullanıcı şifresi eğer UNICODE değilse önce bu forma döndürülür.Salt değeri sona eklenir.
Daha sonra; advapi32.dll içindeki kripto fonksiyonu ile SHA ya da daha farklı bir hash algoritmasıyla kriptolanır.Şifre büyük harf formuna çevrilir ve salt tekrar eklenir ve başka bir SHA hash üretilir.
0×0100 Sabit Başlık
84449305 rand() ‘ın iki defa çağrılmasından oluşan salt değeri
43174C59CC918D34B6A12C9CC9EF99C4769F819B Küçük harf SHA Hash
43174C59CC918D34B6A12C9CC9EF99C4769F819B Büyük harf SHA Hash
Onaylama İşlemi ;
İlk önce kullanıcının girdiği şifre alınır ve salt değeri eklenerek SHA hash dönüştürülür ve database ile karşılaştırılr.
Saygılar.
Sql Server Şifreleri ve Saklanması
Bilgisayarınızı Her Türlü Saldırıya Karşı Korumak İçin Yapmanız Gerekenler
-
megabros
- Mesajlar: 0
- Kayıt: Sal Şub 24, 2026 11:31 am
- İletişim:
“Güvenlik / Security Makaleleri” sayfasına dön
Geçiş yap
- Off-Topic
- ↳ Genel
- ↳ Geyik Muhabbet Ve Komedi
- ↳ Fıkralar
- ↳ Resimler & Arkaplanlar
- ↳ Video & Flash Dosyaları
- ↳ Anket
- ↳ Telefon &Tablet
- ↳ Symbian Telefonlar
- ↳ Gsm Oyunları
- ↳ Gsm Programları
- Yaşama Dair
- ↳ Elektronik Kitap & E-Book
- ↳ Edebiyat (Şiir)
- ↳ Sağlık
- ↳ Sinema
- ↳ Dvix-Film
- ↳ Online Sinema
- ↳ E-MULE
- ↳ Yabancı Diziler
- ↳ Yemek Tarifleri
- ↳ Eğitim Dünyası
- ↳ Ödevler
- ↳ Mühendisler dünyası
- ↳ Üniversiteler & Kampüsler
- ↳ İngilizce
- ↳ Genel Kültür
- ↳ Felsefe ve Psikoloji
- ↳ Öğretmenler ve Adaylar
- ↳ İlköğretim ve Lise
- Müzik Dünyası
- ↳ Müzik Genel
- ↳ Şarkı sözleri istek
- ↳ Enstrümanlar
- ↳ Müzik Yardım
- ↳ Konser Organizasyon
- ↳ Video Klipler
- ↳ Yerli Klipler
- ↳ Yabancı Klipler
- ↳ Pop
- ↳ Diğer Müzik Türleri
- ↳ Rock ve Metal
- ↳ Rap ve Hipop
- ↳ Techno ve Trance
- ↳ Arabesk ve Fantazi
- ↳ Latin Dansları
- ↳ Salsa
- ↳ Bachata
- Haberler
- ↳ Güncel
- ↳ Bilim ve Teknoloji
- ↳ Magazin Haberleri
- Spor
- ↳ Futbol Genel
- ↳ Fenerbahçe & Galatasaray
- ↳ Trabzonspor & Beşiktaş
- ↳ Bahis & İddaa
- ↳ Basketbol
- ↳ Diğer Branşlar
- ↳ Av,Avcılık ve Silahlar
- Bilgisayar Güvenliği / Computer Security
- ↳ Bilgisayar Güvenliği
- ↳ Dosyalar
- ↳ Güvenlik / Security Haberleri
- ↳ Güvenlik / Security Makaleleri
- ↳ Exe & DLL Arşivi
- ↳ Zarar veren Yazılımları temizleme
- ↳ Beyaz şapka
- ↳ Güvenlik Programları, Güvenlik ve Güvenlik açıkları
- Bilgisayar
- ↳ Windows İşletim Sistemleri
- ↳ Programlar
- ↳ AIO Programlar
- ↳ Portable Programlar
- ↳ Yazılı ve Görsel Program Anlatımları
- ↳ Chat & Msn Programları
- ↳ Skype Genel
- ↳ MSN Genel Bölüm
- ↳ Avatar & Smiley
- ↳ MIRC Genel
- ↳ İkinci el ve 0 Parçalar
- ↳ VoIP
- ↳ Pardus / Linux İşletim Sistemleri
- Donanım & Hardware
- ↳ Donanım
- ↳ Driver & Firmware
- ↳ Network
- Webmaster
- ↳ Webmaster Genel
- ↳ Site Tanıtım
- ↳ Web Hosting
- Oyun
- ↳ Oyun Download
- ↳ Oyun yamaları
- ↳ Oyun Hileleri
- ↳ Oyun Muhabbetleri ve Yardımları
- ↳ Online Oyunlar
- ↳ Travian Online
- ↳ Knight Online
- ↳ Silkroad Online
- ↳ Konsollar Ve Emulatörleri
- Forum
- ↳ Forumlarla İlgili Duyurular/Sorularınız/Sorunlarınız
- ↳ Silinen Konular
Kimler çevrimiçi
Bu forumu görüntüleyen kullanıcılar: Hiç bir kayıtlı kullanıcı yok ve 1 misafir