2012-03-12 18 views
9

Müşterilerinin mallarını çevrimiçi olarak gönderecekleri bir web sitesi geliştirdim. Url, www.domiainname.com/item-details.cfm?sku=125. Birisi, bildirildiğim ve hata yaptığım www.domiainname.com/item-details.cfm?sku=125%20and%203=3'a göz atmayı denedi.Bu bir SQL Enjeksiyon Saldırısı örneğidir?

[email protected]@version-- 
item-details.cfm?sku=1291'[email protected]@version 
[email protected]@version 

son üç örnek kesinlikle doğru, sistemin içine almaya çalışırken birinin şunlardır:

Ben de hata raporlar aldık? Bu saklanmasına prosedürleri dönüştürdüyseniz

, o azaltmak veya ekleme krizi geçirme riskini ortadan kaldıracak? Kullanım cfqueryparam ve herhangi sql-enjeksiyon unutun

+1

Ve evet, sorguları (cfqueryparam etiketleri örneğin ' HPWD

+0

@@ sürümüyle ne yapmaya çalıştıklarını anlıyorum ama 3 = 3 onlara ne diyeceğini anladım mı? Hata alıcım da IP adresini bildiriyor. tabloları ve bu gibi durumlardan aldığım IP'leri ve sonra bu kullanıcıları tekrar google'a veya başka bir şeye yeniden yönlendirmek. ? – HPWD

+1

Bir totoloji ekleyerek (ör., 3 = 3) yapabilecekleri tüm sonuçları veritabanından almaya çalışıyorlar. Ancak, belki de onlar kadar akıllı değiller çünkü AND yerine AND kullanmaları gerekecek. ' 'kullandığınız sürece, SQL enjeksiyon saldırılarına karşı güvende olmalısınız (en azından SELECT'lerde, hala INSERT'lerde ve UPDATE'lerde XSS saldırılarına karşı savunmasız olabilirsiniz). Yine de, parametrelerinizi doğrulamak için hatayı düzeltmek iyi bir fikirdir - bu işlemi gerçekleştirmeden önce hatayı yakalayabilirsiniz - bunu yapmak için 'seçeneğini kullanın veya' isNumeric() işlevini kullanın. Haberdar olmak. –

cevap

8

Evet, birinin kötü amaçlı olduğu anlaşılıyor.

SQL enjeksiyon saldırıları önleyecek cfqueryparam kullanma. (Ve CF var) şüphe, Ben sorduğumda:

SQL Injection Attacks, Easy To Prevent, But Apparently Still Ignored

Örnek:

<cfquery ...> 
    SELECT * 
    FROM  Products 
    WHERE  SKU=<cfqueryparam value="#URL.SKU#" cfsqltype="CF_SQL_INTEGER"> 
</cfquery> 
+1

'u unutun Bunu en kapsamlı yanıt olarak doğru olarak işaretleyin (örneğin, örnek olarak kullanım, Ben'in bloğuna bağlantılar ve canlılar). Diğer iki cevap da teknik olarak doğrudur. – HPWD

2

;)

+0

yazım hatası ... * –

0

Evet, birileri SQL enjeksiyon çalıştı. Kodunuzda sku değişkenini doğru olarak kontrol ederseniz, bu herhangi bir zarar vermez.

İlgili konular