İyinet'e Hoşgeldiniz!

Türkiye'nin En Eski Webmaster Forum'una Hemen Kayıt Olun!

Kayıt Ol!

Php Güvenlik

Ntie

0
İyinet Üyesi
Katılım
13 Ocak 2007
Mesajlar
0
Reaction score
0
Yaptığım scriptlerde veritabanından veriyi silmek için aşağıdaki verdiğim kodu kullanıyorum devamlı. içine include edip şifreli girişi sağlıyorum. Lakin bir arkadaş yaptığım scriptlerde kullandığım kodun RFI açığı olduğuna dair bir laf sarfetmişti.
Böyle bir açık varmı? var ise nasıl kapatabilirm yada nasıl düzeltebileceğimi söylerseniz düzenledikten sonra iki tane scriptim var onları dağıtacağım.

PHP:
<?php
include("../aynasiz.php");
include("../sifreiste.php");
$no = $_GET["no"];
$sil = mysql_query("DELETE FROM sarki WHERE sarki_id='$no'");
if($sil){
header("Location:index.php");
}else{
echo "Silinemedi";
}
?>
 

fan

0
İyinet Üyesi
Katılım
4 Şubat 2007
Mesajlar
663
Reaction score
0
Konum
Nereye
$no = $_GET["no"];

bunu herhangi bi kontrolden geçirmemişsin :)
 

Ntie

0
İyinet Üyesi
Katılım
13 Ocak 2007
Mesajlar
0
Reaction score
0
onda intval kullanırım peki diğerlerinde ? includelerde ne kullancaz :)
 

iyinet

Root
Admin
Hosting Firması
Katılım
2 Eylül 2002
Mesajlar
5,028
Reaction score
63
Konum
Sakarya
include("../aynasiz.php");
include(
"../sifreiste.php");

bunların içinde ne var görmeden bişey söylemek zor.
 

Ntie

0
İyinet Üyesi
Katılım
13 Ocak 2007
Mesajlar
0
Reaction score
0
include("../aynasiz.php"); bunda bağlantı bilgileri var mysql bağlantısı için
include("../sifreiste.php"); bunda ise sil.php 'yi herkez kullanamasın diye şifre istemesi açısından kullanıyorum yani include ettiğimde direk şifre istiyor
 

iyinet

Root
Admin
Hosting Firması
Katılım
2 Eylül 2002
Mesajlar
5,028
Reaction score
63
Konum
Sakarya
include("../aynasiz.php"); bunda bağlantı bilgileri var mysql bağlantısı için
include("../sifreiste.php"); bunda ise sil.php 'yi herkez kullanamasın diye şifre istemesi açısından kullanıyorum yani include ettiğimde direk şifre istiyor

Kodlarda sornu varmı diye soruyorsun ama kodu göstermiyorsun.
Göründüğü kadarı ile fan ın bahsettiği haricinde sorun yok.
 

Ntie

0
İyinet Üyesi
Katılım
13 Ocak 2007
Mesajlar
0
Reaction score
0
Kod göstermek sorun değil kodlar aşağıda. Sadece bir arkadaşın RFI açığı var demesi aklımı karıştırdı mazur görün.

aynasiz.php

PHP:
<?php
$dbhost = "localhost"; // aynen kalsın
$dbkullanici = "root"; // Veritabanı kullanıcı adınız
$dbsifre = "";         // veritabanı şifreniz
$dbadi = "dbadi";    // veritabanı adınız

$baglanti = mysql_connect($dbhost,$dbkullanici,$dbsifre);
if (! $baglanti )
{
echo "mysql bağlantısı kurulamadı";
}
mysql_select_db($dbadi,$baglanti) or die ("veritabanına bağlantı sağlanamadı");

?>
sifreiste.php

PHP:
<?php
// $LOGIN_INFORMATION = array('denemeisim1' => 'denemesifre1', 'admin2' => 'adminsifre2');
$LOGIN_INFORMATION = array('mysifre');
define('USE_USERNAME', false);
if(isset($_GET['logout'])) { setcookie("verify", ''); header("Location: admin.php"); }

if(!function_exists('showLoginPasswordProtect')) {
function showLoginPasswordProtect($error_msg) {
?>
  <form method="post">
  <p> </p>
      <h3>Giriş</h3>
    <font color="red"><?php echo $error_msg; ?></font><br />
<?php if (USE_USERNAME) echo 'Adınız:<br /><input type="input" name="access_login" /><br />Şifre:<br />'; ?>
    <input type="password" name="access_password" /><br /><br /><input type="submit" name="Submit" value="Giriş" />
  </form>

<?php die(); } } 

if (isset($_POST['access_password'])) {
  $login = isset($_POST['access_login']) ? $_POST['access_login'] : '';
  $pass = $_POST['access_password'];
  if (!USE_USERNAME && !in_array($pass, $LOGIN_INFORMATION)
  || (USE_USERNAME && ( !array_key_exists($login, $LOGIN_INFORMATION) || $LOGIN_INFORMATION[$login] != $pass ) ) 
  ) {
    showLoginPasswordProtect("Giriş Başarısız");
  }
  else {
    setcookie("verify", md5($pass));
  }

} else {

  if (!isset($_COOKIE['verify'])) { showLoginPasswordProtect(""); }

  $found = false;
  foreach($LOGIN_INFORMATION as $kay=>$val) {
    if ($_COOKIE['verify'] == md5($val)) {
      $found = true;
      break;
    }
  }
  if (!$found) {
    showLoginPasswordProtect("");
  }

}

?>
Biraz RFI 'yi araştırdım include ile kaynaklanan bir açıkmış
 

fan

0
İyinet Üyesi
Katılım
4 Şubat 2007
Mesajlar
663
Reaction score
0
Konum
Nereye
sen boşver kimdediyse onu intval id'de işini görür başka sorun yok ;)
 

iyinet

Root
Admin
Hosting Firması
Katılım
2 Eylül 2002
Mesajlar
5,028
Reaction score
63
Konum
Sakarya
RFI yok ama şu hali ile şifre kontrolünü aşıp istedikleri şarkıyı sildirebilirler.
 

Ntie

0
İyinet Üyesi
Katılım
13 Ocak 2007
Mesajlar
0
Reaction score
0
teşekkür ederim peki kullandığınız güvenli şifre kontrolü var ise paylaşabilirmisiniz ?
 

Türkiye’nin ilk webmaster forum sitesi iyinet.com'da forum üyeleri tarafından yapılan tüm paylaşımlardan; Türk Ceza Kanunu’nun 20. Maddesinin, 5651 Sayılı Kanununun 4. maddesinin 2. fıkrasına göre, paylaşım yapan üyeler sorumludur.

Backlink ve Tanıtım Yazısı için iletişime geçmek için Skype Adresimiz: .cid.1580508955483fe5

Üst