- 8 Ocak 2017
- 419
- 7
Web Uygulama'da ve Hack Yaparken Dikkat!!-Rolls
Selam'un Aleykum
-------------------
tecrübelerim web güvenliğinin daha fazla sezgisel olduğu, bu yüzden kontrol listeleriyle
hareket edilen network güvenlik testlerine çok benzemediğidir. Tabi bazı durumlarda
benzerlikler de olacaktır.
Hack'lerken Dikkat Edilmesi Gerekenler
1. Ne olursa olsun, bu bir anlı şanlı manken gibi bayan dahil olsa bilgisayar (bizim tabirde Hacker konusunda) yeteneklerinizden bahsetmeyin.
2. Arkadaşlarınıza hava atayım diye veya egonuzu tatmin etmeye çalışmayın.
3. Mail hacking ve bazı web sitelerini (özellikle free serverlar) hacklerken atlanmaması gereken bir nokta var: Bilgilerin değiştirmek.
ÖRNEK
Acemi dönemlerde misyon gereği hacklenmesi gereken bir free servers sitesine dalıyorsunuz, yalnız profil bilgilerini, adamın mailini değiştirmeden şifreyi değiştirmeye çalıştık. Dolayısıyla bu bilgi, IP numaramla birlikte hedefin mail adresine gitti (mail hack ile hacklememişsin
4. Yine de tüm bu kontrol listesi yoktur düşüncelerime rağmen, kabaca bir web güvenlik testi
kontrol listesi yazacak olursak, muhtemelen aşağıda belirteceğim başlıklar olacaktır.
Ozaman Güvenlik Açısından Bir Göz Atalım
1. SQL injection denetimi?
Bir çok kişinin ilk aklına gelecek olan (tek tınak) parametresini girdinin sonuna ekleyip
göndermesi ve eğer hata alıyorsa; evet, burda SQL injection olabilir demesidir. Gördüğünüz
gibi olabilir dedik. Dolayısıyla bu üç madde için ilk testlerimiz çoğunlukla 1-0 arasında bir
değer alacaktır. Ne kesin olarak Vardır diyebiliriz, ne de Yoktur. Bir diğer sıkıntı ise, evet
bir parametre için kontrol ettik ama ya diğer tüm parametreler için? Sanırım orta ölçekli bir
web uygulamasının binlerce girdi noktası olacaktır.
2. XSS var mı?
XSS denetimi için girdi yerine <script> alert(1);</script> yazdık ve karşılığında herhangi bir
karmaşıklık görmedik. Dolayısıyla XSS vardır demek güçtür. Fakat bu test ile XSS yoktur
demekte bir okadar güçtür. Dolayısıyla 1-0 arasındaki değer ile birlikte test parametresinin
doğruluğu hatta birden fazla test parametresinin gerekliliği söz konusu olacaktır. Yine SQL
injection da olduğu gibi, sadece bir parametre için değil, tüm bulunan parametreler için
geçerli bir test yapmak gerekecektir.
3. İş mantığı problemi var mı?
Çok genel bir terim olduğunu söyleyebilirim. Hatta bilinen açıklıkların %80`i bu açıklık altında
da kategorize edilebilir. Zira iş mantığı problemi, kişinin hatalı kodlamasından kaynaklanan
problemlerdir ki XSS ve SQL injection da bu tür hatalı kodlamalardan kaynaklanmaktadır.
Testi diğerlerine göre çok daha zordur. Çünkü test için sabit bir parametresi yoktur. Bunun
yerine test yapılacak form/girdi v.s alanlarının hangi iş modeli için tasarlandığını bilmek ve
bunun aksi yönde hareketlerde bulunup, ortaya çıkabilecek açıklıkları raporlamaktır.
Dolayısıyla bunun için bir kontrol listesi oluşturmak zor.
Tüm bu söylemlerime rağmen yine de özellikle kullanılan metodun kontrolünü amaçlayan bir
kontrol listesi hazırlayalım. Tabi bu listeye farklı dillerin kendine özgü zaayifetleri de
eklenebilir. Fakat ilk aşama da hepsini listeleyemesekte, kabaca aşağıdakine benzer bir
listemiz olacaktır.
1. Login esnasında username ve password parametreleri HTTPS üzerinden gitmelidir.
2. COOKIE için de password, kullanıcı adı gibi her hangi bilgiler olmamalıdır kesinlikle.
3. Kullanılan şifre algoritması yeterince katı mı?
4. Kullanılan şifreler düzmetin olarak saklanmamalıdır. Bunun yerine şifreleme
fonksiyonlarının çıktıları tutulmalıdır asla sıkıntı yaşanmaz
5. Şifre güncelleme işlemlerinde kullanıcı doğruluğu birden fazla parametre ile
kontrol edilmelidir
6. Session bilgisini sadece COOKIE yardımıyla değil, IP ve zaman kontrolleri ile de
desteklemek gerekir.
7. Uygulama kullanıcısına hiç bir zaman hata rapor edilmemelidir. Bunun yerine hata
kodları gösterilmeli ve bu kodlar yardımıyla debug işlemleri yapılmalıdır.
vs. vs. araştırma yaparak birçok örnekler bulabilirsiniz
4. Ve sonucusu olarak Hacklediğiniz sitelerde nickinizi biraz değiştirerek yazın.
"Niyeymiiiş?", "Biz tanınalım diye site hackliyoz, sen gelmiş ne diyon!" nevinden tepkiler vermeyin içinizden... Hele hele dışınızdan, hiç vermeyin... Yazdığınız nick sizi tanıyanlara, "bak, bizim xxx yapmış bunu, helâl olsun çocuğa" dedirtsin (eğer böyle bir takıntınız varsa, benim yok da ) ama sitesi haşin hackerımızın parmakları altında can veren (veya en azından yaralanan, sakat kalan) elemanlar googleda arama yaptıklarında o nickte birisini bulamasınlar, veya başka birisini bulsunlar!!!...
Googleda, yapılan arama sonucu o kişinin nicki çıkarsa, "profil görüntüle" şeklindeki bir hain linkin kurbanı olarak enselenebilirsiniz.
Temsili
Evet hepsi bugünlük bu kadar.
Okuduğunuz için kocaman teşekkür ediyorum
:yo
TURK HACK TEAM AİLESİNE
SELAMLAR
-------------------
THT Ailesi
Web Güvenlik
Web güvenliği ile ilgili bir kontrol listesi var mıdır?. Aslında benim--------------
↓↓↓↓↓↓↓↓↓
↓↓↓↓↓↓↓↓↓
Web Güvenlik
tecrübelerim web güvenliğinin daha fazla sezgisel olduğu, bu yüzden kontrol listeleriyle
hareket edilen network güvenlik testlerine çok benzemediğidir. Tabi bazı durumlarda
benzerlikler de olacaktır.
↓↓↓↓↓↓↓↓↓
Hack'lerken Dikkat Edilmesi Gerekenler
1. Ne olursa olsun, bu bir anlı şanlı manken gibi bayan dahil olsa bilgisayar (bizim tabirde Hacker konusunda) yeteneklerinizden bahsetmeyin.
↓↓↓↓↓↓↓↓↓
2. Arkadaşlarınıza hava atayım diye veya egonuzu tatmin etmeye çalışmayın.
↓↓↓↓↓↓↓↓↓
3. Mail hacking ve bazı web sitelerini (özellikle free serverlar) hacklerken atlanmaması gereken bir nokta var: Bilgilerin değiştirmek.
ÖRNEK
Acemi dönemlerde misyon gereği hacklenmesi gereken bir free servers sitesine dalıyorsunuz, yalnız profil bilgilerini, adamın mailini değiştirmeden şifreyi değiştirmeye çalıştık. Dolayısıyla bu bilgi, IP numaramla birlikte hedefin mail adresine gitti (mail hack ile hacklememişsin
(Temsilli) :yo
↓↓↓↓↓↓↓↓↓
↓↓↓↓↓↓↓↓↓
4. Yine de tüm bu kontrol listesi yoktur düşüncelerime rağmen, kabaca bir web güvenlik testi
kontrol listesi yazacak olursak, muhtemelen aşağıda belirteceğim başlıklar olacaktır.
1. SQL injection var mı?
2. XSS var mı?
3.İş mantığı problemi var mı?
2. XSS var mı?
3.İş mantığı problemi var mı?
Ozaman Güvenlik Açısından Bir Göz Atalım
1. SQL injection denetimi?
Bir çok kişinin ilk aklına gelecek olan (tek tınak) parametresini girdinin sonuna ekleyip
göndermesi ve eğer hata alıyorsa; evet, burda SQL injection olabilir demesidir. Gördüğünüz
gibi olabilir dedik. Dolayısıyla bu üç madde için ilk testlerimiz çoğunlukla 1-0 arasında bir
değer alacaktır. Ne kesin olarak Vardır diyebiliriz, ne de Yoktur. Bir diğer sıkıntı ise, evet
bir parametre için kontrol ettik ama ya diğer tüm parametreler için? Sanırım orta ölçekli bir
web uygulamasının binlerce girdi noktası olacaktır.
2. XSS var mı?
XSS denetimi için girdi yerine <script> alert(1);</script> yazdık ve karşılığında herhangi bir
karmaşıklık görmedik. Dolayısıyla XSS vardır demek güçtür. Fakat bu test ile XSS yoktur
demekte bir okadar güçtür. Dolayısıyla 1-0 arasındaki değer ile birlikte test parametresinin
doğruluğu hatta birden fazla test parametresinin gerekliliği söz konusu olacaktır. Yine SQL
injection da olduğu gibi, sadece bir parametre için değil, tüm bulunan parametreler için
geçerli bir test yapmak gerekecektir.
3. İş mantığı problemi var mı?
Çok genel bir terim olduğunu söyleyebilirim. Hatta bilinen açıklıkların %80`i bu açıklık altında
da kategorize edilebilir. Zira iş mantığı problemi, kişinin hatalı kodlamasından kaynaklanan
problemlerdir ki XSS ve SQL injection da bu tür hatalı kodlamalardan kaynaklanmaktadır.
Testi diğerlerine göre çok daha zordur. Çünkü test için sabit bir parametresi yoktur. Bunun
yerine test yapılacak form/girdi v.s alanlarının hangi iş modeli için tasarlandığını bilmek ve
bunun aksi yönde hareketlerde bulunup, ortaya çıkabilecek açıklıkları raporlamaktır.
Dolayısıyla bunun için bir kontrol listesi oluşturmak zor.
Tüm bu söylemlerime rağmen yine de özellikle kullanılan metodun kontrolünü amaçlayan bir
kontrol listesi hazırlayalım. Tabi bu listeye farklı dillerin kendine özgü zaayifetleri de
eklenebilir. Fakat ilk aşama da hepsini listeleyemesekte, kabaca aşağıdakine benzer bir
listemiz olacaktır.
1. Login esnasında username ve password parametreleri HTTPS üzerinden gitmelidir.
2. COOKIE için de password, kullanıcı adı gibi her hangi bilgiler olmamalıdır kesinlikle.
3. Kullanılan şifre algoritması yeterince katı mı?
4. Kullanılan şifreler düzmetin olarak saklanmamalıdır. Bunun yerine şifreleme
fonksiyonlarının çıktıları tutulmalıdır asla sıkıntı yaşanmaz
5. Şifre güncelleme işlemlerinde kullanıcı doğruluğu birden fazla parametre ile
kontrol edilmelidir
6. Session bilgisini sadece COOKIE yardımıyla değil, IP ve zaman kontrolleri ile de
desteklemek gerekir.
7. Uygulama kullanıcısına hiç bir zaman hata rapor edilmemelidir. Bunun yerine hata
kodları gösterilmeli ve bu kodlar yardımıyla debug işlemleri yapılmalıdır.
vs. vs. araştırma yaparak birçok örnekler bulabilirsiniz
↓↓↓↓↓↓↓↓↓
4. Ve sonucusu olarak Hacklediğiniz sitelerde nickinizi biraz değiştirerek yazın.
"Niyeymiiiş?", "Biz tanınalım diye site hackliyoz, sen gelmiş ne diyon!" nevinden tepkiler vermeyin içinizden... Hele hele dışınızdan, hiç vermeyin... Yazdığınız nick sizi tanıyanlara, "bak, bizim xxx yapmış bunu, helâl olsun çocuğa" dedirtsin (eğer böyle bir takıntınız varsa, benim yok da ) ama sitesi haşin hackerımızın parmakları altında can veren (veya en azından yaralanan, sakat kalan) elemanlar googleda arama yaptıklarında o nickte birisini bulamasınlar, veya başka birisini bulsunlar!!!...
Googleda, yapılan arama sonucu o kişinin nicki çıkarsa, "profil görüntüle" şeklindeki bir hain linkin kurbanı olarak enselenebilirsiniz.
Yoksa sonunuz aşağıdaki gibi
Temsili
:yo
----------------------------------------------------------
--------------------------------------------------
----------------------------------------
-------------------------------
----------------------
Ne Mutlu Türkiye
☪
--------------------------------------------------
----------------------------------------
-------------------------------
----------------------
Ne Mutlu Türkiye
☪
Evet hepsi bugünlük bu kadar.
Okuduğunuz için kocaman teşekkür ediyorum
:yo
TURK HACK TEAM AİLESİNE
SELAMLAR
-Rolls-
Asistan/Stajyer
Asistan/Stajyer
Son düzenleme: