Bir bilgisayar korsanı wp-config.php ile ne yapabilir?


11

Wordpress blogumu korumaya çalışıyorum. Web'de değiştirmem table_prefixve gizlemem gereken bazı yayınları okudum wp-config.php. Ancak, anlamıyorum? Bir saldırgan benim ile ne yapabilirdi wp-config.php?

Benim db konfigürasyonları vardır istemem ama saldırgan ihtiyaçlarımı DB_HOSTbenim db bağlanmak için kolay olsun ki (benim durumumda onun içinde değil örneğin, için:? define('DB_HOST', 'localhost');, Saldırganın benim db bağlanmak için kullanılamadı )

Yoksa ben eksik miyim?

Cevabınızı gerçekten takdir ediyorum!


Sanırım SQL enjekte etmesi kolay olacak. Yıldızlı. Uzmanların buna cevap vermesini bekliyorum.
Robert hue

Ayrıca Programming Puzzles & Code Golf beta'ya gönderebilir ve insanların ne bulduğunu görebilirsiniz. :)
Joshua Taylor

1
@JoshuaTaylor Lütfen hayır. Açık olan etik sorunların yanı sıra, sitemiz bununla ilgili değildir: Sadece "Hey, hepimiz kod yazalım ve eğlenelim! Yaaaay!"
Kapı Tokmağı

@Doorknob Açıkçası bir popülerlik yarışması olurdu. Ama ciddiyetle, ":)" nin ciddi olmadığımı ifade edeceğini umuyordum. Sonuç olarak herkes wp-config dosyalarını göndermeyi denediyse, lütfen özürlerimi kabul edin.
Joshua Taylor

Yanıtlar:


9

localhostüzerinde çalıştığı makineyi ifade eder. Örneğin kendi sitemde tomjn.com localhost 127.0.0.1her zamanki gibi. Bu korsan yerine geçer demektir, korsan bağlamak için nerede bilmiyor anlamına gelmez localhostile tomjn.com.

Elbette, önünde oturan bir proxy varsa, bu işe yaramaz, ancak saldırganın bana erişimi varsa, wp-config.phpaynı erişimin o makinede başka şeyler yapmalarına izin vereceğini unutmayın.

Böylece saldırganın veritabanı ayrıntılarınız var ve okuyabilirler wp-config.php. Artık veritabanınızdaki her şeye erişebilirler ve veritabanınızdaki her şeyi değiştirebilirler.

Yüklemenizin güvenliğine bağlı olarak, kendileri için bir kullanıcı oluşturabilir, giriş yapabilir, bir PHP Shell komut dosyası ile zip yoluyla bir eklenti yükleyebilir ve komut vermeye başlayabilir veya siteyi bir bot ağının parçası olarak kullanabilirler.

Ayrıca tuzlarınız ve gizli anahtarlarınız var (bunlardan herhangi birine sahip değilseniz, kötü kötü kötü), böylece kullanıcı parolalarınızı zorlamak çok daha kolay hale gelir. Ayrıca e-postalarına da erişebilirler.

Almanın, wp-config.phpyaşanabilecek en kötü şeylerden biri olduğunu söylemek yeterli . Bununla çok daha fazla şey yapılabilir, ancak bundan kaynaklanan her olası saldırının yazılması aylar alacaktı.

wp-config.phpSatın alınmanız durumunda, gerçek bir kişi değil, otomatik bir saldırı komut dosyası yapmış olabilir. Tüm ayrıntılarınızı değiştirin, tüm şifreleri sıfırlayın ve deliği kapatın.


2
Bu korsan yerine geçer demektir, korsan bağlamak için nerede bilmiyor anlamına gelmez localhostile tomjn.com. > Bu, veritabanına giden bağlantı noktasının dış dünya tarafından erişilebilir olduğunu varsayar. Güvenlik duvarı kurallarında bağlantı noktasını kapattıysanız, yalnızca yerel ağdaki bilgisayarların (wordpress'in kendisini çalıştıran bilgisayar dahil) veritabanına bağlanmasına izin verirseniz güvende olmaz mısınız?
IQAndreas

1
Hala doğru yer olurdu, ama evet limanlar alakalı, ben esas olarak sorudaki orijinal notayı hedefliyordum
Tom J Nowell

2

Yalnızca veritabanından erişimi kabul ediyorsanız localhost(bu, DB_HOSTolarak tanımlanarak elde edilmez localhost)? Kendi başına çok fazla değil (en kötü durum, yönetici hesabını ele geçiren bir saldırgan olacaktır), ancak diğer güvenlik açıklarıyla birlikte bir saldırganın yapılandırmanıza erişmesine yardımcı olabilir.

Giriş kimlik

Kullanıcılar kullanıcı adlarını ve şifrelerini tekrar kullanırlar. Saldırgan, veritabanı kullanıcı adınızın ve parolanızın (veya varyasyonlarının) wordpress kurulumunuzda, barındırıcınızda, e-postanızda vb.

En azından bir saldırgan ne tür şifreler kullandığınıza dair bir fikir edinir (tamamen rastgele, sadece küçük harf / sayı, uzunluk vb.).

Tablo öneki

SQL enjeksiyonu mümkünse, saldırganın tablo adlarını bilmesi gerekir. Veritabanına bağlı olarak, bu çok kolay olabilir veya tahmin etmeyi içerebilir. Tahmin gerektiriyorsa, tablo önekine sahip olmak en iyisidir.

Anahtarlar ve Tuzlar

Bulduğum bu makale gerçekten bu sızan istemiyoruz ileri süren Ne kadar yukarı güncel bilmiyorum ancak, (temelde, herkes yönetici hesabı ele geçirebilir).

Veritabanı Karakter Kümesi

Bazı SQL enjeksiyonları karakter kümesine bağlıdır, bu nedenle bir saldırganın bunu bilmesi iyidir.

özet

Veritabanına dışarıdan erişime izin vermezseniz, şifreleri tekrar kullanmazsanız ve hiçbir yerde SQL enjeksiyonunuz yoksa, ana endişe anahtar ve tuzlar olacaktır.


Bu makale yeterince güncel. Tuzlarınızın ve anahtarlarınızın sızdırılmasını istemezsiniz. Bunlar özel bilgi. Bunların kullanıma sunulduğundan şüpheleniyorsanız, bunları hemen başka bir rastgele veri kümesine değiştirin. Onları değiştirmenin gerçek bir dezavantajı yok, sadece web sitesinden çıkıp tekrar giriş yapmanız gerekiyor. Buradan rastgele yeni bir dizi anahtar ve tuz elde edebilirsiniz: api.wordpress.org/secret-key/1.1/salt
Otto

1

Yazma erişimi temel olarak sitenizden hoşlandığı her şeyi yapmak için kendi kodunu enjekte etmek için erişim olduğu için okuma erişimi hakkında soru sorduğunuzu varsayıyorum.

DB bilgisinin hassas olmadığı varsayımınız yanlıştır. Sitenizin godaddy'de barındırıldığını varsayalım. Godaddy AFAIK, muhtemelen yalnızca kendi sunucularından erişilebilen özel bir mysql sunucuları kullanıyor, ancak ayrıntılarınızı biliyorsam, bir godaddy hesabı oluşturmak ve DB'nize erişen bir komut dosyası yazmak benim için ne kadar zor? Yerel DB'lerin kullanımı daha zordur, ancak paylaşılan barındırma sunucularında sunucuyu sizinle paylaşan 100 siteniz olabilir, Mr Evil'in onlara giremeyeceği ve sitenize saldırmak için kullanabileceği kadar güvende olmalarına güvenebilir misiniz?

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.