Bir SQL Injection From kurtarma

4 Cevap php

Adlı şimdiye kadar paranoyak olduğumu söylemek kadar gitmeyelim, ama (o değer ne için ve XSS) SQL enjeksiyonu önlemek için öğrenme saat sonra saat harcama oldum.

Ne merak ediyorum ben günlük yedekleme yaptık eğer benim veritabanına kalıcı zarar yapacağını gibi bir SQL enjeksiyonu görünmüyor olmasıdır. Benim tablolar dünkü kopyasını ithal gelmez sadece onları geri ve sonra benim neşeli yolda olabilir?

4 Cevap

Bildiğim kadarıyla veri gerçek kayıp gider gibi, çoğunlukla doğru konum - Eğer geri işlevsel bir veritabanı olacağını kenara Geçtiğimiz gün yapılan değişiklikleri kaybedersiniz, ama istiyorum.

Ancak, sadece onlar "kayıp" değil, çünkü onlar compromised var ki kötü değil anlamına gelmez, diğer şeyler vardır. Insanların hesaplarını korumak ve, yanlış insanlar tarafından keşfedilen, onların bilgi ve kaynakların kötü niyetli kullanımına neden olabilir kullanmak şeyleri - bu tür şeyler kullanıcı hesabı bilgi (ve özellikle şifre sağlamalarının) gibi şeyler vardır.

Bunun yerine, sadece herhangi bir değişiklik geri haddeleme daha ilk etapta güvenlik ihlallerini önlemek için çalışmak zorunda yüzden.

Bu düşünmek için çok tehlikeli bir yoldur. Evet, SQL enjeksiyon saldırıları genellikle veritabanı çöp ve böylece anında (biraz) neşeyle yedekten geri yükleme ve (biraz) neşeli bir şekilde devam hangi sonra, web uygulaması çökebilir.

Bu veri yavaş yavaş uzun bir süre boyunca bozulmuş elde edilmiştir olduğunu keşfetmek için size haftalar hatta aylar sürer, böylece diğer taraftan, onlar sadece, rastgele bir kaç kayıtları uçurmak veya değiştirebilir. Bu kurtarma İyi şanslar.

Daha da kötüsü, SQL enjeksiyonu saldırısı verileri çalmak yerine zarar için tasarlanmış olabilir. Saldırgan, kendi profilini düzenlemek için bir anma isteğine yanıt olarak kredi kartı numaraları bir demet sunmak için web sitesi almak için nasıl anlamaya olabilir.

Evet, tablo kullanıcı duyarlı ve / veya XSS-enjekte veri içermediği sürece. Sonra düzeltmek için başka bir sorun var. Her zaman sanitize SQL sorguları oluşturmak ve her zaman sanitize XSS enjeksiyonlar HTML çıktı istemci kontrollü veri görüntüleme sırasında sırasında SQL enjeksiyonları.

Diğer insanlar kısmen veri sorunu loss (umarım son yedekten geri yükleme) hitaben ancak veri sorunu kaçırdığınızı olduğunu kaydetti theft.

Başka bir potansiyel sorun var. Birçok SQL sunucuları keyfi sistem komutları çalıştırmasına izin verin (örneğin, MS SQL). Diğerleri (örneğin MySQL) Eğer (MySQL enjeksiyonları istismar this article ayrıca bkz) keyfi dosyaları yazalım. Alt satırda bir SQL enjeksiyon saldırısı ileriye tüm sistemi ve oradan uzlaşma olabilir. Tabii ki, bunlardan bazıları devre dışı bırakmak için yapılandırma seçenekleri vardır, ama bunlar gerçek endişeler demektir.

Eğer tavsiyeler istiyorsanız, PDO ile prepared statements öneririz.