Makale numarası: 954476 - Bu makalenin geçerli olduğu ürünleri görün.
Bu makalede, Microsoft Source Code Analyzer for SQL Injection aracı açıklanır. ASP koduna SQL ekleme güvenlik açıklarını bulmak için bu statik kod çözümleme aracını kullanabilirsiniz.
Microsoft Source Code Analyzer for SQL Injection aracı, Active Server Pages (ASP) koduna SQL ekleme güvenlik açıklarını bulmanıza yardımcı olan bir statik kod çözümleme aracıdır. Bu makalede, aracı kullanma, araç tarafından oluşturulan uyarılar ve aracın kısıtlamaları açıklanır. Daha fazla bilgi için aracın Benioku belgesine bakın.
ÖnkoşullarBu komut satırı aracı aşağıdaki yazılımı gerektirir:
ASP koduna SQL ekleme sorunlarıASP kodunda Request.Form veya Request.Querystring koleksiyonlarından alınan, kullanıcı tarafından sağlanan veriler dinamik SQL deyimleri oluşturmak üzere veri doğrulaması yapılmadan kullanılıyorsa, bir saldırgan SQL deyimine SQL komutları ekleyebilir ve bunu kötü amaçlı olarak kullanabilir. Bu, genelde Birinci Düzey SQL ekleme güvenlik açığı olarak bilinir.
Kullanıcı girişi bir ASP sayfası kullanılarak veritabanında depolanıyorsa ve sonra bu kullanıcı girişi veritabanından alınarak farklı bir ASP sayfasında dinamik SQL deyimleri oluşturmak için kullanılıyorsa, bir saldırgan SQL deyimine SQL komutları ekleyebilir ve bunu kötü amaçlı olarak kullanabilir. Bu, genelde İkinci Düzey SQL ekleme güvenlik açığı olarak bilinir.
Bu güvenlik açıklarını azaltmak için en iyi yöntem parametre tabanlı SQL sorguları kullanmaktır. ASP'ye SQL ekleme güvenlik açıkları ve bu güvenlik açıklarını azaltma yöntemleri hakkında daha fazla bilgi için aşağıdaki Microsoft Web sitesini ziyaret edin:
http://msdn.microsoft.com/en-us/library/cc676512.aspxMicrosoft Source Code Analyzer for SQL Injection aracı bu sorunlardan bazılarını otomatik olarak bulmanıza yardımı olur.
(http://msdn.microsoft.com/en-us/library/cc676512.aspx)
KullanımBu bölüm aracı kullanmayı açıklar.
SözdizimiAraç aşağıdaki sözdizimini kullanır:
msscasi_asp.exe [/nologo] [/quiet] [/suppress=num;..;num] [/GlobalAsaPath=path] [/IncludePaths=path;..;path] /Input=file.asp
AçıklamaAraç, ASP kodunu SQL ekleme güvenlik açıkları açısından çözümler.
Parametre listesi
Bu tabloyu kapaBu tabloyu aç
Örnekler
Çıktıyı gözden geçirmeAraç aşağıdaki uyarıları oluşturur:
Aracın oluşturduğu tüm uyarılar arasında 80400 uyarısı, çok büyük olasılıkla gerçek hataları gösterir. ASP Web geliştiricileri parametre tabanlı sorgular kullanarak bu hataları düzeltmelidir. ASP kodunda parametre tabanlı SQL sorguları kullanma hakkında daha fazla bilgi için aşağıdaki Microsoft Web sitesini ziyaret edin:
Bu tabloyu kapaBu tabloyu aç
http://msdn.microsoft.com/en-us/library/cc676512.aspx
(http://msdn.microsoft.com/en-us/library/cc676512.aspx)
KısıtlamalarAraçta aşağıdaki bilinen kısıtlamalar vardır:
Microsoft Source Code Analyzer for SQL Injection aracını karşıdan yüklemek için aşağıdaki Microsoft Web sitesini ziyaret edin:
http://www.microsoft.com/downloads/details.aspx?FamilyId=58A7C46E-A599-4FCB-9AB4-A4334146B6BAEn iyi yöntemleri açıklayan çeşitli belgeler hakkında daha fazla bilgi için aşağıdaki Microsoft Web sitesini ziyaret edin:
(http://www.microsoft.com/downloads/details.aspx?FamilyId=58A7C46E-A599-4FCB-9AB4-A4334146B6BA)
http://blogs.technet.com/swi/archive/2008/05/29/sql-injection-attack.aspxASP'de SQL eklemelerini engelleme hakkında daha fazla bilgi için aşağıdaki Microsoft Web sitesini ziyaret edin:
(http://blogs.technet.com/swi/archive/2008/05/29/sql-injection-attack.aspx)
http://msdn.microsoft.com/en-us/library/cc676512.aspxSQL ekleme saldırıları hakkında daha fazla bilgi için aşağıdaki Microsoft Web sitesini ziyaret edin:
(http://msdn.microsoft.com/en-us/library/cc676512.aspx)
http://blogs.msdn.com/sdl/archive/2008/05/15/giving-sql-injection-the-respect-it-deserves.aspxAraç hakkında daha fazla bilgi için aşağıdaki Microsoft Web sitesini ziyaret edin:
(http://blogs.msdn.com/sdl/archive/2008/05/15/giving-sql-injection-the-respect-it-deserves.aspx)
http://blogs.msdn.com/sqlsecurityMSDN SQL Güvenliği forumunda araç üzerinde tartışma yapmak için aşağıdaki Microsoft Web sitesini ziyaret edin:
(http://blogs.msdn.com/sqlsecurity)
http://forums.microsoft.com/msdn/ShowForum.aspx?ForumID=92&SiteID=1
(http://forums.microsoft.com/msdn/ShowForum.aspx?ForumID=92&SiteID=1)
Makale numarası: 954476 - Last Review: 27 Haziran 2008 Cuma - Gözden geçirme: 1.0