• 05-02-2013, 04:40:08
    #1
    Uyarımızı yapmıştık. Hafta sonu paylaşacağım demiştim. Güvenlik açığını paylaşıyorum.

    Açık : Cookie
    Açıklama: Herhangi bir şifreye gerek olmadan doğrudan kullanıcı paneline ve yönetici paneline giriş yapmak.
    Parametreler : UID, ADMIN_ID

    Örnekler;
    Çerez adı: UID
    Değer : 1
    Domain : .test.com
    Artık sistemdeki id'si 1 olan üyesiniz.

    Çerez adı: ADMIN_ID
    Değer : 1
    Domain : .test.com
    Artık yöneticisiniz.

    Açığı kapatmak için çerez güvenliğini sağlamak zorundasınız. Bunun için isterseniz md5(userid.md5('test').userid); gibi bir algoritma seçebilirsiniz, ister ID yanında şifreyide çerezlere kaydettirirsiniz. İsterseniz cookie yerine session kullanırsınız. Güvenliğini sağlamak bu scripti kullanan kişilerin elinde.

    Son olarak bir script kullanıyorsanız ve bundan gelir elde edecekseniz (vvarez dahi kullanırken) güvenliğini sağlayın sadece sizin değil sitenize giren herkesi tehlikeye atarsınız.

    İyi günler dilerim.
  • 10-02-2013, 03:53:27
    #2
    Açık kamuoyuna sunulmuştur.
  • 10-02-2013, 06:13:49
    #3
    Kimlik doğrulama veya yönetimden onay bekliyor.
    Gerçekten haklı denedim oldu Ancak çok yayılmaması lazım bu açığın
  • 16-02-2013, 14:00:10
    #4
    Developer
    Merhabalar,
    İlgili scriptin açığını kapatmış bulunmaktayım. Aynı açıktan dolayı problem yaşayan arkadaşlar için ufak bir ücret karşılığında bu güncellemeleri saglayabilirim.
  • 26-09-2013, 18:56:49
    #5
    <?php
    require_once '../global.php';
    require_once ROOT_PATH . '/inc/admin.class.php';
    
    $H_TEMPLATE['PAGE_TITLE'] = 'ADMIN AREA';
    $_AID = $_COOKIE['ADMIN_ID'] ? $_COOKIE['ADMIN_ID'] : 0;
    
    if (isset($_REQUEST['logout'])) {
    	setcookie('ADMIN_ID', $_AID, time() - 5400);
    	System::redirect('index.php?');
    }
    
    if (isset($_POST['adm_sub'])) {
    	$user = trim($_POST['adm_user']);
    	$pass = md5(trim($_POST['adm_pass']));
    	if (!$user || !trim($_POST['adm_pass'])) {
    		$F_TEMPLATE['ERRORS'][] = 'Please complete both fields in order to login';
    	} else if (!System::getDB()->rowCount($_GLOBAL['TABLES']['ADMINS'], "`user`='{$user}' AND `pass`='{$pass}'")) {
    		$F_TEMPLATE['ERRORS'][] = 'The login information is incorrect.';
    	} else {
    		$uid = System::getDB()->getField($_GLOBAL['TABLES']['ADMINS'], 'id', "`user`='{$user}' AND `pass`='{$pass}'");
    		System::getDB()->update($_GLOBAL['TABLES']['ADMINS'], array('activity'=>'CURRENT_TIMESTAMP()'), 
    								"`user`='{$user}' AND `pass`='{$pass}'", false);
    		setcookie('ADMIN_ID', $uid, time() + 3600);
    		System::redirect('index.php' . (isset($_REQUEST['gs'])?'?gs':''));
    	}
    }
    nasıl kapatabilirim acaba
  • 27-09-2013, 18:12:33
    #6
    G6K
    Üyeliği durduruldu
    godard adlı üyeden alıntı: mesajı görüntüle
    <?php
    require_once '../global.php';
    require_once ROOT_PATH . '/inc/admin.class.php';
    
    $H_TEMPLATE['PAGE_TITLE'] = 'ADMIN AREA';
    $_AID = $_COOKIE['ADMIN_ID'] ? $_COOKIE['ADMIN_ID'] : 0;
    
    if (isset($_REQUEST['logout'])) {
    	setcookie('ADMIN_ID', $_AID, time() - 5400);
    	System::redirect('index.php?');
    }
    
    if (isset($_POST['adm_sub'])) {
    	$user = trim($_POST['adm_user']);
    	$pass = md5(trim($_POST['adm_pass']));
    	if (!$user || !trim($_POST['adm_pass'])) {
    		$F_TEMPLATE['ERRORS'][] = 'Please complete both fields in order to login';
    	} else if (!System::getDB()->rowCount($_GLOBAL['TABLES']['ADMINS'], "`user`='{$user}' AND `pass`='{$pass}'")) {
    		$F_TEMPLATE['ERRORS'][] = 'The login information is incorrect.';
    	} else {
    		$uid = System::getDB()->getField($_GLOBAL['TABLES']['ADMINS'], 'id', "`user`='{$user}' AND `pass`='{$pass}'");
    		System::getDB()->update($_GLOBAL['TABLES']['ADMINS'], array('activity'=>'CURRENT_TIMESTAMP()'), 
    								"`user`='{$user}' AND `pass`='{$pass}'", false);
    		setcookie('ADMIN_ID', $uid, time() + 3600);
    		System::redirect('index.php' . (isset($_REQUEST['gs'])?'?gs':''));
    	}
    }
    nasıl kapatabilirim acaba
    Bu açığımı soruyorsunuz farklı bi konumu?