Htmlpurifier Yardımı
-
@arkinfes hocam CSRF açığı hakkında bildiklerimi yazacak olursam;
sanatsozluk sitesini ele alırsak senin site içinde MyProfile isminde bir controllerın onun içinde de DeleteAllPosts diye bir methodun olsun(siteyi MVC dizayn paterni ile yaptığını varsaydık). Bir üye bu metodu çağırırsa yani adres satırına sanatsozluk.com/MyProfile/DeleteAllPosts yazarsa o üyenin sitedeki bütün postları silinsin.
DeleteAllPosts metodunun içiyse şöyle olsun sallıyorum;
function DeleteAllPosts() {
if (isset($_SESSION["username"]))sorun yok.
{
// Session dan username değerini oku ilgili username e ait veritabanındakı butun postları sil.
}
}Ben senin sitende login olmuş durumda kendi isteğimle bu metodu çağırırsam yani senın sitende bir "postları sil" butonu olsa bende bu butona bassam ve postları kendi isteğimle silsem sorun yok ancak birisi buraya bir link koyar linkte soyle olsun
IPHONE 6 KAZANMAK ICIN TIKLA Boyle bı lınkın yazı kısmında iphone kazan vs yazıo şimdi ben bu linke iphone kazanmak için tıklasam nolucak? Eğer senin sitende login durumundaysam yani session hayattaysa benim sitedeki bütün gönderilerim silinecek. Cünkü sanatsozluk.com/MyProfile/DeleteAllPosts adresine gidiyorum. İşte bu olay siteler arası istek sahteciliği oluyor.Başka bir siteden kullanıcının bilgisi dışında bir yönlendirme yapıldı.Bunu engellemek içinde serverda ürettiğimiz tokenı sessiona koyuyoruz.Ve o token ıda aynı zamanda view a yani html cıktımıza gizli olarak yazıyoruz.Bundan sonra bi istek gelirse bakıyoruz acaba sessiondaki değerle gelen istekte eklenmıs olan token degerı aynı mı acaba diye.Bu korumayı birşeyler eklerken, form ile veri kaydederken falan yaparız.Okuma işlemlerinde falan gerek yok CSRF korumasına falan. Hızlıca bi ozet gecmeye calıstım anlasılmayan kısım varsa soyle detaylandıralım.
Hannibal_King tarafından 30/Nis/17 01:35 tarihinde düzenlenmiştir