Code injection Nedir ve Nasıl Çalışır?

Code injection Nedir

Code injection nedir nasıl çalışır ve nasıl kullanılır.

Uzaktan kod yürütme olarak adlandırılan Code injection. Bir saldırganın uygulamaya kötü amaçlı kod enjekte etme ve yürütme yeteneği tarafından işlenen bir saldırıdır.

Bu yabancı kod, veri güvenliğini ihlal etme, veritabanı bütünlüğünü veya özel mülkleri tehlikeye sokabilme yeteneğine sahiptir.

Birçok durumda, kimlik doğrulama denetimini atlayabilir. Genellikle bu saldırılar, yürütme için kullanıcı girdisine bağlı olan uygulamalarla ilişkilendirilir.

Genel olarak, kod ilk önce doğrulamadan geçmeden yürütülürse uygulamalar daha savunmasızdır. Güvenlik açığından etkilenen bir kodun basit bir durumu aşağıda gösterilmiştir.

example

Yukarıdaki örnekte PHP bilgi sayfası savunmasızdır ve URL http://example.com/?code=phpinfo(); çalıştırıldı.

Günümüzde kullanıcı etkileşimi, uygulamalarla daha fazla etkileşime girdiği için. Code injection büyüdü ve birçok çevrimiçi kaynak için gerçek bir tehdit haline geldi.

 

Injection türleri

Temel olarak dört tip Code injection vardır: SQL injection, Script injection, Shell injection, ve Dynamic evaluation. Bunların hepsi aynı çalışma prensibine sahiptir. Yani, kod uygulamaların içine sokulur ve yürütülür.

Bu yöntem sadece web uygulamasının bir SQL deyiminde bulunan kullanıcı girdisi varsa etkilidir. Daha sonra bir veri tabanı (kötü niyetli bir SQL ifadesi) eklenebilir ve veritabanı sunucusuna karşı çalıştırılabilir.

Aşağıdaki sunucu tarafı sözde kod, SQL injection’a karşı savunmasız olabilecek basit bir kimlik doğrulaması örneğidir.

sql

Yukarıdaki kodda, saldırgan veritabanı sunucusu tarafından yürütülen SQL deyimini değiştirecek bir yük ekleyebilir. Bir örnek şifre alanını şu şekilde ayarlayacaktır:

password’ OR 1=1

Bu, otomatik olarak aşağıdaki ifadenin veritabanı sunucusuna karşı çalıştırılmasına neden olur:

SELECT id FROM users WHERE username=’username’ AND password=’password’ OR 1=1

 

SQL injection ne yapabilir?

Bu en yaygın code injection türüdür. SQL’in, İlişkisel Veritabanı Yönetim Sistemlerinde saklanan verileri işlemek için kullanılan dil olduğu göz önünde bulundurulduğunda. SQL deyimlerini vermek ve yürütmek için kullanılan bir saldırı, verilere erişmek, bunları değiştirmek ve hatta silmek için kullanılabilir.

Saldırganın kimlik doğrulamasını atlayabilmesi, veri tabanında saklanan verilerin tam olarak açıklanması. Veri bütünlüğünü tehlikeye sokması ve reddetme sorunlarına neden olması. Dengeleri ve işeme işlemlerini değiştirmesidir.

 

SQL injection nasıl önlenir?

Uygulamalarınızı daha az savunmasız hale getirmek için birkaç yöntem vardır. Ancak bu yöntemlerden herhangi biri öncesinde. Kullanıcı tarafından gönderilen tüm verilerin kötü olduğunu ve kimseye güvenmeyeceğini varsaymak en iyisidir.

Sonra aşağıdakileri göz önünde bulundurabilirsiniz:

  • Dynamic SQL kullanımını devre dışı bırakın: Bu, kullanıcı girdisi ile veritabanı sorguları oluşturmamanız anlamına gelir. Gerekirse, kullanıcı giriş verileriyle bir sorgulama yapmadan önce değerleri sanitize edin, doğrulayın ve değerlerden kaçının.
  • Güvenlik duvarından yararlanın: Bir web uygulaması güvenlik duvarı (yazılım veya uygulama tabanlı) zararlı verilerin filtrelenmesine yardımcı olur.
  • Daha iyi yazılım kullanın: Bu sadece kodlayıcıların kusurları kontrol etmek ve düzeltmekle sorumlu olacağı anlamına gelir.
  • Sahip olduğunuz tüm gizli verileri şifreleyin, bu bağlantı dizelerini içermelidir.
  • Kesinlikle ihtiyacınız olmadıkça, veritabanınıza yönetici ayrıcalıklı hesaplarla bağlanmaktan kaçının.

 

Script injection

Bu güvenlik açığı, bir saldırganın, kullanıcı arabiriminin öğeleri aracılığıyla. Veriye dayalı web sitelerinin web formları aracılığıyla doğrudan kötü amaçlı kod eklemesine olanak veren bir tehdittir.

Bu saldırı genellikle Cross-Site Scripting veya XSS olarak adlandırılır. Bu <script>, <meta>, <html>, <body>, <embed>, <frame>, <frameset>, <img> etiketleri, script injection için en çok hedeflenen etiketlerdir.

 

Script injection nasıl önlenir?

Script injection önlemeye yönelik adımlar, kullandığınız programlama koduna bağlıdır. Genel olarak, şunları yapabilirsiniz:

  • Potansiyel olarak kötü amaçlı içeriği dışarı çıkararak kullanıcı girdisini doğrulayın ve onaylayın.
  • URL’lerde sorgu dizelerini temizleyin.
  • Sunucuda çalıştırmadan önce tüm veri, dizi ve nesneleri formlarını doğrulayın ve dezenfekte edin.

 

İlginizi çekebilir:

Leave a Reply

Your email address will not be published. Required fields are marked *

Link xoilac 1 anstad.com, Link xoilac 2 sosmap.net, Link xoilac 3 cultureandyouth.org, Link xoilac 4 xoilac1.site, Link xoilac 5 phongkhamago.com, Link xoilac 6 myphamtocso1.com, Link xoilac 7 greenparkhadong.com, Link xoilac 8 xmx21.com, Link 6686 design 686.design, Link 6686 blog 6686.blog, Link 6686 express 6686.express,