lostyazilim
tr.link

Pdo Sql Açığı Sorunu

3 Mesajlar 690 Okunma
acebozum
tr.link

nurullahdsz nurullahdsz WM Aracı Kullanıcı
  • Üyelik 10.06.2016
  • Yaş/Cinsiyet 34 / E
  • Meslek web tasarım
  • Konum Gaziantep
  • Ad Soyad N** D**
  • Mesajlar 244
  • Beğeniler 7 / 17
  • Ticaret 3, (%100)
merhaba arkadaşlar bir site kodluyorum şu anda sql açığı varmı diye kontrol edeyim dedim ama pdo ile kodlamama rağmen sql açığı var ve sql açığı üzerinden bypass yapabiliyorum

aceba kodlardamı hata var yardımcı olabilecek arkadaşlar yardımcı olursa sevinirim
çözemedim bir türlü


Veritabanı Bağlantı Kodları
@ob_start();
@session_start();


$host = "localhost";
$dbname = "gokkusagi";
$kadi = "root";
$sifre = "";

try{

$nurullahdilsiz = new PDO("mysql:host=$host;dbname=$dbname",$kadi,$sifre,array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8"));
$nurullahdilsiz->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);
}catch(PDOException $e){
echo $e->getMessage();
}




Gelen Veriyi Çekme


$categoripageid = htmlspecialchars(strip_tags($_GET["id"]));
$pagetag = $nurullahdilsiz->prepare("SELECT * FROM product_category WHERE category_seo='$categoripageid'");
$pagetag->execute();
$pagetaglist = $pagetag->fetch(PDO::FETCH_ASSOC);
$kategoriidcekkk = $pagetaglist["id"];



fakat tek tırnak atınca veya çift tırnak urlye şu hatayı alıyorum

Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ''metal-tablo''' at line 1' in C:\xampp\htdocs\is\gokkusagi\6\product-list.php:26 Stack trace: #0 C:\xampp\htdocs\is\gokkusagi\6\product-list.php(26): PDOStatement->execute() #1 {main} thrown in C:\xampp\htdocs\is\gokkusagi\6\product-list.php on line 26
 

 

elektronikssl
webimgo

Mrtcn Mrtcn PrismaCSI Kullanıcı
  • Üyelik 06.09.2013
  • Yaş/Cinsiyet 32 / E
  • Meslek Cyber Sec & Project Manager
  • Konum Ankara
  • Ad Soyad M** G**
  • Mesajlar 3356
  • Beğeniler 481 / 1987
  • Ticaret 10, (%100)
https://stackoverflow.com/questions/134099/are-pdo-prepared-statements-sufficient-to-prevent-sql-injection

Güzel bir anlatım var şurada
 

 

nurullahdsz nurullahdsz WM Aracı Kullanıcı
  • Üyelik 10.06.2016
  • Yaş/Cinsiyet 34 / E
  • Meslek web tasarım
  • Konum Gaziantep
  • Ad Soyad N** D**
  • Mesajlar 244
  • Beğeniler 7 / 17
  • Ticaret 3, (%100)
Mrtcn konum ile alakalı birşey göremedim benim verim string tipinde geliyor çok saolun
 

 

Site Ayarları
  • Tema Seçeneği
  • Site Sesleri
  • Bildirimler
  • Özel Mesaj Al