Session Fixation (Oturum Sabitleme), Hijacking Saldırısı Nedir? [Örnekli]

Web güvenliğindeki popüler konulardan olan session fixation, session hijacking saldırısına örneklerle bir bakalım.

Meali oturum sabitleme olan session fixation nedir ?

Bir uygulamaya login olunduktan sonra id yenilenmiyorsa session fixation zafiyetinden bahsedilir. Oturum sabitleme açığından faydalanarak bir saldırgan kullanıcının/kurbanın oturumunu çalabilir, bu eyleme de session hijacking denir.

Oturum sabitleme saldırısında, saldırgan bildiği bir id ile, kullanıcının oturum açma işlemini gerçekleştirmeden önce kullanmasını sağlar ve bu sayede kurbanın, saldırgan tarafından gönderilen url ile oturuma başlamasıyla saldırgan kullanıcının oturumunu ele geçirmiş olur.

Session Hijacking için kullanılan dört ana method vardır:

  1. Session Fixation

    Aşağıda detaylıca göreceğiz.

  2. Session Sniffing

    Saldırgan bir dinleyici/izleyici yöntemiyle (örn: Wireshark ile), session id ‘ye ulaşıyor olması, bkz:


  3. XSS (Cross-Site Scripting)

    Saldırgan, zararlı JavaScript kodu ile kurbana hazırlanmış bir bağlantı gönderirse, kurban bağlantıyı tıkladığında JavaScript çalışacak ve saldırgan tarafından verilen talimatları tamamlayacaktır. Örnek olması açısından session id ekrana bastırılmıştır, tabi ki saldırgana da gönderilebilir.


    <SCRIPT>alert(document.cookie);</SCRIPT>

     

  4. Malware (Kötü Amaçlı / İstenmeyen Yazılımlar)

    Bir kullanıcının bilgisi olmadan tarayıcı cookie dosyalarını çalmak için browser hijacking yöntemini kullanabilir.

 

SESSION FIXATION

Şimdi adım adım bir bakalım

  1. Saldırgan web sunucusunda oturum açar ,
  2. Sunucu bir SID / oturum id ‘si tanımlar,
  3. Bu session ID ile saldırganın kurbana bir link göndermesi gerekir,
  4. Kurbanın gelen bu bağlantıya tıklaması ve sunucuyla bağ kurması gerekir,
  5. Sunucu oturum işleminin önceden zaten kurulduğunu görür ve yeni bir oturum kimliği oluşturma gereksinimi duymaz. (işte zafiyet burada)
  6. Böylece saldırgan oturuma erişmiş olur.

 

Bu saldırıyı en iyi anlatan görsel diyebiliriz sanırım.

URL tabanlı basit ve anlaşılır bir görsel.

 

Session Fixation Örnek Video

Continue reading

CentOS/Plesk – Coklu Php Desteği/Php Update 5. /4/5/6 Güncelleme Multi/Panda

Merhabalar;

Bu makalenin en başında vurgulamak istediğim bir konu var: PHP versiyon yükseltme, Php sürüm yükseltme, PHP versiyon güncelleme, Plesk Php güncelleme, Php Panda Kurulumu, Çoklu Php Kurulumu ve benzeri başlıklar adı altında internette bir çok makale var ve bunların bir çoğu kafa karıştırıcı ve maalesef kopya içerik olduğu için çoğu kullanıcı tereddütte kalıyor..

Aşağıdaki sadece iki adımı uygulayarak PHP Güncelleme ve aynı zamanda Çoklu PHP Desteği işlemini PHP Panda yani Multi PHP ile başarmış olacaksınız..

 

Plesk 12 sürümünde birden fazla PHP sürümünü bir arada kullanmak istiyorsanız yapmanız gereken çok basit. Bu işlem sonunda GD, mcrypt gibi kütüphaneleri de otomatik olarak yüklemiş olacaksınız.

Ben kendi kullandığım kişisel sanal sunucumda CentOS – Plesk 12 kullanmaktayım. Plesk ‘i yeni kurmuş olsanız dahi PHP 5.3 versiyonu kurulu gelecektir. PHP 5.4, 5.5 ve PHP 5.6 versiyonlarını da kullanmak isterseniz aşağıdaki adımları takip etmelisiniz. Bu sayede Çoklu Php Desteğine sahip olacaksınız ve istediğiniz sitede istediğiniz PHP versiyonunu kullanabileceksiniz. Bunun neden tercih sebebi olacağı ise malûmdur..

 

 

Aşağıdaki işlemler başarıyla tamamlandığında sunucumuzda PHP 5.3, 5.4, 5.5 ve 5.6 sürümlerini Fast CGI üzerinden kullanılabiliriz. İşte PHP Panda!

ÇOKLU PHP DESTEĞİ – PHP 5.4, 5.5, 5.6 UPDATE/GÜNCELLEME – MULTİ PHP

PHP PANDA ‘da Hangi PHP sürümleri gelir?

Şu anda kullandığınız PHP versiyonunu 5.3 olarak varsayacak olursak 5.3 ‘ten sonraki güncel PHP sürümleri gelecektir, yani:

  • Atomic PHP 5.4
  • Atomic PHP 5.5
  • Atomic PHP 5.6

PHP PANDA Çoklu PHP Kurulumu – PHP Panda/Mutli PHP Installer

 

Plesk Panel Üzerinden PHP Versiyonu Nasıl  Değiştirilir ?

//Resmi büyütmek için üzerine tıklayabilirsiniz.

Başarılar!

Linux CentOS - Plesk Panel - Çoklu Php Desteği - Multi Panda Php Update Upgrade

Linux CentOS – Plesk Panel – Çoklu Php Desteği – Multi Panda Php Update Upgrade

 

PHP – Ioncube Nasıl Güncellenir? Ioncube Güncelleştirme

Merhabalar,

Plesk  kurulu sunucularda ioncube kurulu olarak gelmektedir. Sürümün yükseltilmesi talebi geldiğinde öncelikle mevcut sürüm php -v ile incelenir;


php -v



PHP 5.3.3 (cli) (built: Dec 10 2013 22:12:52)
Copyright © 1997-2010 The PHP Group
Zend Engine v2.3.0, Copyright © 1998-2010 Zend Technologies
with the ionCube PHP Loader v4.2.2, Copyright © 2002-2012, by ionCube Ltd.

PHP – Ioncube Nasıl Güncellenir? Ioncube Güncelleştirme



En güncel sürümü indirmek için ioncube sitesindeki aşağıdaki adrese girilir; http://www.ioncube.com/loaders.php


wget http://downloads3.ioncube.com/loader_dow…x86-64.zip



unzip ioncube_loaders_lin_x86-64.zip
cd ioncube/



PHP sürümüne göre yeni .so dosyası dizine kopyalanır;


cp ioncube_loader_lin_5.3.so /usr/lib64/php/modules/



Kopyalama sonrası yeni sürüm kontrol edilir;


php -v


PHP 5.3.3 (cli) (built: Dec 10 2013 22:12:52)
Copyright © 1997-2010 The PHP Group
Zend Engine v2.3.0, Copyright © 1998-2010 Zend Technologies
with the ionCube PHP Loader v4.5.2, Copyright © 2002-2014, by ionCube Ltd.


Son olarak servisler yeniden başlatıılır


service httpd restart

Başarılar!

 

PHP-MySQL & HTML Türkçe Karakter Kodlaması

Web sayfamızı oluşturmadan önce hangi karakter setini kullanacağımıza karar vermek gerekir. http://www.iana.org/assignments/character-sets adresinden de görebileceğiniz üzere standartlaşan onlarca karakter kodlaması vardır. Karakter kodlaması, karakter setlerinden oluşur. ISO-8859, MS-Windows ve Unicode en çok kullanılan karakter kodlamalarındandır. ISO-8859-9′da bir ISO-8859′un bir karakter setidir.

ISO-8859 karakter seti dillere desteğini bölümler halinde vermiştir. İlk bölümde -bu bölüm Continue reading

FastCGI CentOS 5-6 Timeout 500 Internal & 504 Gateway Error Solved – Cözümü

Merhaba Arkadaşlar,

Bu sayfayı okuyorsanız muhtemelen 500 internal server error ve/ya 504 gateway time-out nginx problemi canınızı epeyce sıkmış demektir. Şimdi bunlara biraz göz atalım:

Solved – NGINX 502 Bad Gateway Error Hatası ve Çözümü

500 Internal Server Error Hatasının Başlıca Sebepleri

Bu hatanın birden fazla sebebi vardır sık karşılaşılanları ise:

  1. .htaccess: sitenizde kurulu olan sistemin .htaccess dosyasını kullanarak çalışması gerekiyorsa, bu dosya sunucunuzda olmayabilir ya da içerisindeki kodlar uygun olmayabilir. Bu durumda (varsa) yönetim paneliniz üzerinden yoksa manuel yeni bir .htaccess  dosyası oluşturmanız gerekir.
  2. CHMOD: sitenize ait dosyaların chmod ayarları kullanılan sisteme ve/veya sunucuza uygun olmayabilir. Genel ayarları: klasör izinleri için 755 dosyalar için 644 olmalıdır. Ftp programı üzerinden giriş yaparak da düzenleyebilirsiniz.
  3. Kodlamasitenizle bağlantılı çalışan herhangi bir sayfada hatalı kodlama varsa örneğin: sonsuz döngü, ve/veya işlem süreci uzun olan kodlamalarda sunucu varsayılan zaman aşım değerinden dolayı 500 Internal Server Error Hatası ile karşılaşırsınız. (en sık görülen nedendir.)
  4. Bot: özel görevler için yapılmış olan bot sistemleri ya da import gibi işlemlerde sunucu varsayılan time-out değeri olan 30-45 saniyelik zaman aşımında karşılaşabilirsiniz. Bunun için kullanılan yazılımı ya da sunucu varsayılan konfigürasyon ayarlarındaki time-out değerini düzenlememiz gerekecek.

Elbette öncelikli çözüm hatayı bulup, gidermektir örn: kodlama ile ilgili sorun yaşamışsanız bunu düzeltmeniz gerekir lakin geçici bir çözüm sunmak veya özel bir çalışma yapmanız gerekiyorsa (xml entegrasyonu gibi) bu varsayılan time-out süresini güncelleyebiirsiniz.

Not: bu varsayılan time-out süresinin aynı zamanda bir güvenlik betiği olduğunu unutmayınız.

Çözüm:

  • /etc/httpd/conf.d klasörü içerisinde bulunan fcgid.conf dosyasını açın ve
  • FcgidIOTimeout 45 değerini istediğiniz ölçüde yükseltin. Örneğin: FcgidIOTimeout 180 olabilir. Kendi sunucumdaki değerleri ise aşağıda paylaşıyorum:
    => /etc/httpd/conf.d/fcgid.conf

<IfModule mod_fcgid.c>

<IfModule !mod_fastcgi.c>
AddHandler fcgid-script fcg fcgi fpl
</IfModule>

FcgidIPCDir /var/run/mod_fcgid/sock
FcgidProcessTableFile /var/run/mod_fcgid/fcgid_shm

 FcgidIdleTimeout 160
  FcgidProcessLifeTime 120
  FcgidMaxProcesses 20
  FcgidMaxProcessesPerClass 8
  FcgidMinProcessesPerClass 0
  FcgidConnectTimeout 240
  FcgidIOTimeout 260
  FcgidInitialEnv RAILS_ENV production
  FcgidIdleScanInterval 10

</IfModule>

Daha sonra ssh bağlantısını ya da sunucu kontrol panelini kullanarak sunucu servislerini yeniden başlatabilirsiniz.

SSH kodu:

  • service httpd restart

 

504 Gateway Time-Out Nginx Hatası

Bu hata ile karşılaşıyorsanız, siteniz üzerinde gerçekleşen bir işlemin zaman aşımına uğraması sonucunda, proxy okuyucu varsayılan time-out değerinden dolayı nginx sonlandırıcı mesajı ile karşılaşırsınız ama arka planda sunucu o işlemi yapmaya devam eder. Şimdi de bu hatanın çözümüne bakalım.

Çözüm:

  • /etc/nginx/conf.d klasörüne giriş yapın,
  • vhost_nginx.conf <= isminde yeni bir dosya oluşturun ve bu dosyanın içerisine
  • proxy_read_timeout 300;     <= yazıp dosyayı kaydedin.
  • Daha sonra ssh bağlantısını ya da sunucu panelini kullanarak nginx servislerini yeniden başlatabilirsiniz.

SSH Kodu:

  • /etc/init.d/nginx restart

Bu makalenin cevap verdiği sorular aşağıdaki gibi olabilir:

  1. 500  internal server error How  do Solved
  2. 500  internal server error Sorunu Nasıl Çözülür ?
  3. 500  internal server error Hatasının Sebebi Nedir ?
  4. 504 gateway time-out nginx Error How do Solved?
  5. 504 gateway time-out nginx Error Sorunu nasıl Çözülür ?
  6. 504 Gateway time-out Hatasının Sebebi ?
  7. 504 Gateway Time-out hatasının çözümü

Herhangi bir sorunda iletişime geçmekten çekinmeyiniz, herkese iyi çalışmalar.