lostyazilim
tr.link

Özel kullanım scripti

14 Mesajlar 1.740 Okunma
acebozum
tr.link

wdrleo wdrleo Back-end Developer Kullanıcı
  • Üyelik 12.04.2015
  • Yaş/Cinsiyet 29 / E
  • Meslek Full-stack Developer
  • Konum Konya
  • Ad Soyad H** A**
  • Mesajlar 226
  • Beğeniler 39 / 81
  • Ticaret 14, (%100)
b leri ayırmanıza gerek yok OnlineHamza
Şuanda gördüğünüz alertler XSS açığı olduğunu gösterir hocam siz tırnakları engellediğiniz de sadece ' veya " engellemiş olursunuz ve bu bir önlem değildir tek başına. Buda sql sorgusunu yarıda kesip kendi istediğimiz kodları çalıştırabilme imkanı tanır. Yani isteyen bir kişi tablonuzu drop edebilir gibi...

Bundan kaynaklı bir başka sorunla şuanda console.log kullanarak console da da yazı yazdırabilmiş durumdayım.
Bu şu anlama gelir istersem console'a bir script yazdırarak, diğer kullanıcıların oturum ve çerez bilgilerini istediğim gibi alabilirim :) Bir yöneticinin oturum bilgisi değerlidir.
OnlineHamza adlı arkadaşın dediği gibi html etiketlerin girişini engellemelisiniz. Tavsiyem post olan ve get olan değerleri sayfa başında temizleyen bir döngü yazıp bu döngünün ürettiği sonuç üzerinden işlem yapmanız.

Ayrıca DDOS'a karşı sunucular her ne kadar önlemli olsa da upload kısmı gibi yada son kullanıcıya açık post aldığınız sayfalarda özellikle olmak üzere bir DDOS koruması kullanın.
Şuanda upload sayfası gördüğüm o ki korumasız. Yani ben arka arkaya aynı postu atarak sunucuyu rahatça yorabilirim gibi geliyor.

+ olarak xss i kullanarak bir tane cookie atadım :) bu da olayın ciddiyetini daha iyi kavrayabilmemiz için. Chrome'un geliştrici araçlarını kullanarak atanan cookielere bakarsanız şuanda siteye giren herkes için bir cookie var
Burada oturum çalabileceğim gibi şuanda giriş yaptıktan sonra çalıştırdığım js sayesinde session id yi yeniden tanımlayarak (wdrleo diye) böylece giriş yapıp siteyi ziyaret edenlerin oturumlarını da bitirmiş oluyorum :) daha onlar kapatamadan onları devre dışı bırakmış oluyorum.

Dip Not: Sadece PDO kullanıyor olmanız Sql injection gibi açıkları önlemez. PDO'yu sql injection açıklarını önleyeceği şekilde kullanmanız gerekir.
Google'da;
How to make sql injection protect php with pdo
How to make xss protect php
How to make ddos protect php

Şeklinde aratarak özellikle stackoverflow üzerinden bir çok bilgiye ulaşabilirsiniz.
Amacım hataları gün yüzüne ciddiyetleriyle birlikte çıkartmaktı. Bu nedenle de aklımda ki bir iki denemeyi daha yapıp aşağıya sonuçlarını ekleyeceğim.
Başarılar dilerim.
OnlineHamza

kişi bu mesajı beğendi.

elektronikssl
webimgo

OnlineHamza OnlineHamza WM Aracı Kullanıcı
  • Üyelik 31.10.2013
  • Yaş/Cinsiyet 28 / E
  • Meslek PHP Developer
  • Konum Malatya
  • Ad Soyad H** E**
  • Mesajlar 134
  • Beğeniler 41 / 14
  • Ticaret 0, (%0)
wdrleo arkadaşa kulak verin. Ayrıca b etiketini ayrı yazmamdaki sebep burada yanlış anlaşılmasını önlemekti. Teşekkürler :)
wdrleo

kişi bu mesajı beğendi.

wdrleo wdrleo Back-end Developer Kullanıcı
  • Üyelik 12.04.2015
  • Yaş/Cinsiyet 29 / E
  • Meslek Full-stack Developer
  • Konum Konya
  • Ad Soyad H** A**
  • Mesajlar 226
  • Beğeniler 39 / 81
  • Ticaret 14, (%100)
1) Login kontrolünüz sağlam aslında post ları aynı sayfaya yaptığınız için bunu test etmem gereksizdi ancak test ettim. :) Sıkıntı yok.
2) Tekrar vurgulamam gerekecek ki DDOS sorun. Aslında DDOS'ta değil sorun. Formların ard ardı gelen işlemlere açık olmasıyla DDOS benzeri bir saldırıda sunucunun daha çabuk yorulacak olması ve yazılımsal olarak bunun önüne geçilmiyor olması sorun. Bu aynı zamanda brute force atağına yer açıyor.
3) Session güvenliğiniz zayıf. Hata, hatayı doğurur derler ya test ettim :) tamam session'ı okuyabiliyoruz, istediğimizi session'ı atayabiliyoruz ama bütün bunlara rağmen oturum çalınmasını engelleyebilirdiniz. O da Session hijacking saldırısından nasıl korunacağınızı öğrenmeniz ile olur.
Şuanda ben session id yi wdrleo ayarladığım için ve bu siteye ilk girişte olacağı için :) siteye giren ve oradan admin paneline yönelen birisi wdrleo id li session üzerinden işlem yapıyor! yani bu demektir ki giriş yaptığı anda wdrleo session id syle sessiona atanan değerler depolanacak ve bu her giriş yapan için geçerli olacak standart / yönetici kullanıcı ayrımı olduğunu düşünürsek buda benim paneli yeniledikçe :) giriş yapan bir yönetici veya kullanıcının hesabında zahmetsizce olmam demektir.
Tabii ki de bu size yukarıda bahsettiğim xss açığından ve arkadaşın bahsettiği html etiket açığından kaynaklanıyor. Çünkü ben session'ı bu şekilde sabit bir hale getirdim. herkeste aynı olacak bir hale getirdim. Ancak buna rağmen session hijackingi tanırsanız korumayı başlatmış olursunuz.
OnlineHamza

kişi bu mesajı beğendi.

WhatAShame WhatAShame WM Aracı Kullanıcı
  • Üyelik 30.11.2013
  • Yaş/Cinsiyet 34 / E
  • Meslek öğrenci
  • Konum Zonguldak
  • Ad Soyad K** Ü**
  • Mesajlar 79
  • Beğeniler 6 / 6
  • Ticaret 0, (%0)
Arkadaşlar çok teşekkürler mükemmel bilgiler vermişsiniz hepsini araştırıcam. Çok Teşekkürler.
 

 

wmaraci
wmaraci
Site Ayarları
  • Tema Seçeneği
  • Site Sesleri
  • Bildirimler
  • Özel Mesaj Al