Arka fon
Bir şirketin sunucularını korumasına yardımcı olmak için sözleşmem var. Bazı küçük PHP projeleri üzerinde çalışıyorum ama aynı zamanda performans sorunları ve son zamanlarda hackerlar için tarama günlükleri bakmak.
Bu adamlar bir süredir sunucularını çalıştırıyor ve son bacaklarında eski bir uygulama olarak adlandırdığım şeye sahipler. Sihirli tırnaklar, genel değişkenler ( $id
üzerine yazılmasına izin verir $_GET['id']
) kullanır, bazı durumlarda tek güvenlik olarak .htaccess kullanırsınız. Güvenlik ve programlama kabusu.
Geçmişte, çoğunlukla SLEEP(99999999)
komutları çalıştıracak ve bir DOS saldırısı gibi davranacak SQL enjeksiyonları ile saldırıya uğramıştık . Neyse ki "küçük bobby masaları" çalıştırmadılar,
XKCD: http://xkcd.com/327/
Bu yüzden onların savunmasız SQL ifadelerini mysql_query()
(mysqli değil) PDO işlemlerine yeniden yazdım . Ayrıca , kullanmadığımız ve enjeksiyonların sahip olduğu SLEEP
ve için olan sorguları da analiz ediyorum UNION
. Çok uzak çok iyi.
Son Sayı
Son zamanlarda bize DB'deki kayıtların, e-posta adresleri gibi spam göndericiler tarafından yapılmış olanlara değiştirildiği söylendi.
Sütunlarının bir last_modified
sütunu olmadığını fark ettim , bu yüzden kimin tarafından değiştirildiğini, ne zaman değiştirildiklerini bile bilemedik. Bu sütunu ekledim, ancak bu neredeyse ilk adım.
Bu tabloya bakarken, şifrelerin tuzlu olmadığını, hatta özetlenmediğini, sadece düz metin olarak kaydedildiğini fark ettim.
Müşteri İletişimi
Bir müteahhit olarak silahlarımı deli gibi sallamadan tüm durum hakkında onlara nasıl yaklaşabilirim? Herhangi bir tavsiye? Sakin bir yaklaşım düşünüyordum,
SORUN 1 özet Bu neden bir sorun Bu düzeltilmezse ne olabilir? Önerilen düzeltme SAYI # 2 özet Bu neden bir sorun Bu düzeltilmezse ne olabilir? Önerilen düzeltme