Bu makale makine çevirisi ayna makalesidir, orijinal makaleye geçmek için lütfen buraya tıklayın.

Görünüm: 3928|Yanıt: 3

[Kaynak] EF 6, yerel SQL ifadeleri ve parametre enjeksiyon problemleri çalıştırır

[Bağlantıyı kopyala]
Yayınlandı 14.06.2023 21:14:48 | | | |
Gereksinimler: Proje, veritabanını eklemek, silmek, değiştirmek ve kontrol etmek için EF ORM çerçevesini kullanır, ancak karmaşık sorgular karşısında daha iyi sorgular için Linq ve Lambda kullanmak mümkün olmayabilir, bu yüzden sorgulama için yerel SQL ifadelerini çalıştırmak için EF 6 kullanmamız gerekir.

Ham SQL Sorgusu (EF6):Bağlantı girişi görünür.

SQL ifadelerinin where koşulu taşıması gerektiğinden, parametre değeri URL parametresinden geçirilir.


İlk olarak, SQL ifademiz sorgulamak için dizi birleştirmesini kullanır, aşağıdaki gibi:



Kod şöyledir:

Veritabanı tarafından yürütülen SQL ifadelerini aşağıdaki gibi görebilirsiniz:

ISIM SEÇİNİR [Sınıflandırma] NEREDE Adı = 'Mobil Geliştirme'; 1 Seç; --'

GeçmekSQL ifadelerinin birleştiriliş şekli enjeksiyon riski altındadır

Kodu, sorguları parametrize ederek SQL enjeksiyon saldırılarını önlemek için değiştirdik ve kod şu şekildedir:



exec sp_executesql N'SELECT Name FROM [Sınıflandırma] WHERE Name = @n',N'@n nvarchar(17)', @n=N'Mobile Dev''; 1 Seç; --'




Doğrudan ekleme kullanmak yerine, EF Core bunu parametreli SQL ifadelerine dönüştürür. Kaynaklar şunlardır:

EF Core Series (5) SQL ifadeleri veya görünümleri, stored prosedürleri çalıştırır
https://www.itsvse.com/thread-9565-1-1.html

(Son)





Önceki:İçgörüler: Blog bahçesinden bir blog yazarının imzasını gördüm
Önümüzdeki:SQLMAP sızma aracı SQL enjeksiyon testi kullanın
 Ev sahibi| Yayınlandı 17.06.2023 11:11:50 |
SQLMAP sızma aracıyla SQL enjeksiyon testini test edin
https://www.itsvse.com/thread-10611-1-1.html
 Ev sahibi| Yayınlandı 30.06.2023 20:47:17 |
Kısaltma biçimi

 Ev sahibi| Yayınlandı 2.01.2025 12:10:38 |
[Gerçek dövüş]. NET/C# SQL sorgu oluşturucu sqlkata tabanlı
https://www.itsvse.com/thread-10370-1-1.html
Feragatname:
Code Farmer Network tarafından yayımlanan tüm yazılım, programlama materyalleri veya makaleler yalnızca öğrenme ve araştırma amaçları içindir; Yukarıdaki içerik ticari veya yasa dışı amaçlarla kullanılamaz, aksi takdirde kullanıcılar tüm sonuçları ödemelidir. Bu sitedeki bilgiler internetten alınmakta olup, telif hakkı anlaşmazlıklarının bu siteyle hiçbir ilgisi yoktur. Yukarıdaki içeriği indirmeden sonraki 24 saat içinde bilgisayarınızdan tamamen silmelisiniz. Programı beğendiyseniz, lütfen orijinal yazılımı destekleyin, kayıt satın alın ve daha iyi orijinal hizmetler alın. Herhangi bir ihlal olursa, lütfen bizimle e-posta yoluyla iletişime geçin.

Mail To:help@itsvse.com