v2.5.2
Giriş yap

Admin Panel Hacklendi

emmir2
827 defa görüntülendi
Giriş Olarak bu şekilde giriş yaptırıyorum ama birileri benim panele giriş yapabiliyor 
<?php
	if($_POST) {
		$kullanici_adi  = htmlspecialchars( trim( $_POST[ 'kullanici_adi' ] ) );
		$sifre = htmlspecialchars( trim( md5( $_POST[ 'sifre' ] ) ) );

		if ( $kullanici_adi && $sifre )
		{


			$kullanicisor = $db->prepare( "SELECT * from admin where kullanici_adi=:kullanici_adi and sifre=:sifre" );
			$kullanicisor->execute(
				array(
					'kullanici_adi'  => $kullanici_adi,
					'sifre' => $sifre
				)
			);

			$say = $kullanicisor->rowCount();

			if ( $say > 0 )
			{

				$_SESSION['admin']['login'] = 1;
				$_SESSION['admin']['id'] = $sql['id'];

				header( 'Location:anasayfa' );
			}
			else
			{

				header( 'Location:giris-yap.php?status=no' );
			}
		}
	}
		
	?>
	İndex.php de kontrolüm bu 
<?php
	if(!isset($_SESSION['admin']['login'])){
		 header("Location:giris-yap.php");
	}
?>
Post işlemlerini aynı sayfada yaptırıyorum mesela banka hesaplarımız kısmı buradaki verileri değiştiriyolar
	<?php
	if($_POST){
	
    if(isset($_GET['duzenle_id'])){
        $islem = $db->prepare("UPDATE banka_hesaplari SET baslik = ?, sef = ?, img = ?, sahib = ?, sube = ?, hesap_no = ?, iban = ? WHERE id = ?");
        $islem = $islem->execute(array($_POST['baslik'],'',$_POST['img1'],$_POST['sahib'],$_POST['sube'],$_POST['hesap_no'],$_POST['iban'],$_GET['duzenle_id']));
        $id = $_GET['duzenle_id'];
    }else{
        $islem = $db->prepare("INSERT INTO banka_hesaplari SET baslik = ?, sef = ?, img = ?, sahib = ?, sube = ?, hesap_no = ?, iban = ?");
        $islem = $islem->execute(array($_POST['baslik'],'',$_POST['img1'],$_POST['sahib'],$_POST['sube'],$_POST['hesap_no'],$_POST['iban']));
        $id = $db->lastInsertId();
    }

    if($islem){
    	$sef = sef($_POST['baslik']);
    	$islem = $db->prepare("UPDATE banka_hesaplari SET sef = ? WHERE id = ?");
    	$islem = $islem->execute(array($sef,$id));
        echo b();
    }else{
        echo h();
    }

}
	?>
	
	Sizce nasıl bir önlem almalıyım sql açığı bulan programlara tarattım siteyi birşey çıkmadı ve ilk defa karşılaşıyorum 15-16 yaşında hamckerlerle tanışmak da hayatıma + bir heyecan kattı :D
	
reqres
1035 gün önce

Herşeyden önce yeniden yönlendirmeler sonrasında exit ya da die() ile betiğin çalışmasını durdurmalısın. Buna çok denk geliyorum.
Senin orada http response başlığına yönlendirme yapmasını söylemen benim istemci olarak bu başlığı geçerli sayıp uygulayacağımı garanti etmez.

Neyi demek istiyorum;

Admin panelde session kontrol edip yoksa response başlığına yönlendir diyorsun ama ben bu başlığı görmezden gelen bir istemci kullanıyorsam senin bu başlığı belirtmen hiçbir şey ifade etmez. Çıktıyı görmeye/kullanmaya devam ederim.