v2.5.2
Giriş yap

Admin Panel Hacklendi

emmir2
816 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
	
qplot
1008 gün önce

defalarca uyarmıstık dınlemedın anlasılan.

birincisi her uye olan bu bılgılerı degıstırebılır yetkılendırme koy

adam uyemı admınmı onu kontrol et ve altında exit() koy adam admin degılse exit() ile işlemi durdur.

ve postları dırek sql sorgunda calıstırma en basıt anlatım sile strip_tags dan gecır bunu anla dıye yazıyorum bunun ıcın fonksiyon arastır


if(isset($_SESSION['admin']) && ($_SESSION['admin']=="yonetici")){
		 header("Location:giris-yap.php");
		 exit()
} 

//fitreleme ornegı

function xss($veri)
{
$veri =str_replace("refresh","",$veri);
$veri =str_replace("style","",$veri);
$veri =str_replace("script","",$veri);
$veri =str_replace("<script","",$veri);
$veri =str_replace("</script","",$veri);
$veri =str_replace("/script","",$veri);
$veri =str_replace("?>","",$veri);
$veri =str_replace("SELECT *","",$veri); 
$veri =str_replace("DELETE FROM","",$veri); 
$veri =str_replace("DELETE","",$veri); 
$veri =str_replace("WHERE","",$veri); 
$veri =str_replace("'or'","",$veri); 
$veri =str_replace("'","“",$veri);
$veri =str_replace("<?php","",$veri);
return $veri;
}

echo xss($_POST['deger']);