2010-12-15 7 views
10

emin Amazon'un SimpleDB destekleri SQL enjeksiyon tipi saldırılara karşı duyarlı olması gerektiği SQL aromalı sorgular gibi görünüyor. İşte saldırganın giriş değişkeni $ kategorisine girecek ve o bir sütun adı tahmin edebilirsiniz yani varsayar basit örnek: ev oyunu oynuyorsanızAmazon SimpleDB'yi SQL Injection'dan nasıl koruyabilirim? "Bir ördek gibi yürür ve bir ördek gibi sesler eğer," ilkesi altında

$category = "Clothes' OR Category LIKE '%"; 
$results = $sdb->select("SELECT * FROM `{$domain}` WHERE Category = '$category'"); 

, bu çizgiler bir in-yer olabilir Amazon'un PHP SDK'sındaki (1.2) örnek koddaki html-sdb_create_domain_data.php numaralı dosyada satır 119 için değiştirme.

Amazon quoting rules yayınlar ve ben herhangi bir "ya da" kullanıcı girişi iki katına gets sağlar şeyler yazmak herhalde ... ama her zaman kaçan temelde parametrizasyonları silahımı hale getiren bir silahlanma yarışı olduğunu anladım seçim, örneğin, kullanırken MySQL.

SimpleDB sorguları savunmak için kullanan diğer insanlar ne olacak? karşı korumak için tek şey çıkıyor fazladan sorgu verileri yani

cevap

8

SimpleDB seç operasyonu olmayan yıkıcı saldırgan.

kullanıcı INP sterilize etmek için bir çözüm alt seçimler ve bileşik ifadelere izin verilmediğinden, sorguya özel olarak SimpleDB ile oldukça kolaydır. Yani bu gerçekten bir silah yarışı değil; Eğer sekansın uzunluğu tek ise, girişteki bir veya daha fazla alıntı karakterinin sekansından kaçınılmalıdır.

İlgili konular