It Easy GoDaddy Oturum Vars Hijack mı nasıl (PHP)

5 Cevap php

This article devletler

If your site is run on a shared Web server, be aware that any session variables can easily be viewed by any other users on the same server.

GoDaddy gibi büyük bir konağa, are there really no protections in place against this? gerçekten kolay olabilir mi? O kolay, where are the session vars of the other users on my host so I can check them out? ise

5 Cevap

Bu gülünç Linux yükler nedeniyle varsayılan php.ini#session.save_path points to /tmp kolay ve Windows için benzer. Çoğu kullanıcıların okuma ve çünkü onlara ihtiyacı /tmp ayrıcalıklar yazmak çünkü bu kötü. Eğer PHP uygulama saklar session_save_path kullanarak, oturum dosyaları bulunuyor vardı veritabanındaki sesion durumunu saklamak ya da değiştirerek bu karşı koruyabilirsiniz

Varsayılan oturum dosyaları php.ini içinde session.save_path tarafından verilen konumda saklanır. Bu her sankon için ayrı ayrı tanımlanabilir iken, dosyalar httpd süreci tarafından okunabilir olması ve böylece konumunu biliyorsanız, script başka sankondan oturum dosyalarını okuyabilir.

(Örneğin, using ADODb), sunucunun diğer kullanıcıları varsayarak db kimlik öğrenmek için PHP kaynakları okuyamayan bir veritabanındaki oturumları saklamak olabilir!

PHP ve oturum kaçırma endişe kullanıyorsanız, kontrol session_regenerate_id (Link to Manual).

Bu burada başkaları tarafından belirtildiği gibi session_save yolları kamu olma sorunu çözmez, ancak kaçırma attmepts 99.999% önlemek gerekir.

Ben kullanıcı oturumları Accesss canlı bilgileri kolaylaştırmak için ek yararı vardır, bu sorunları önlemek için DB oturum verilerini saklamak için suggesst.

Eğer bir shard host ne zaman, set, tasarruf ve sadece hesap alanı içinde ziyaretçilerin oturumları işlemek için session.save_path kullanın.

sonra kimse ama sen ve dizin erişim ile bilgisayarlarınızın çalışanların erişebilirsiniz.

Paylaşılan bir bilgisayar üzerinde varsayılan oturum işlemcileri / yere güveniyor ASLA!

<?php

        $handle = opendir(session_save_path());
        if ($handle == false)
            {
                return -1;
            }
        while (($file = readdir($handle)) !== false)
            {
                echo session_save_path() . '/' . $file .':<BR />';
                if (ereg("^sess", $file))
                    {
                        $file_array = file(session_save_path() . '/' . $file);
                        foreach ($file_array as $this_line)
                            {
                                echo $this_line."<BR />";
                            }
                echo '<BR /><BR />';

                    }
            }
        closedir($handle);

?>