SQL bir veritabanıdır. Ve açığı ypk denedek kadar nadirdir.
Açık denilen şeyler genedle SQL input gönderen programlama dilindeki eksik filtrelemelerden kaynaklı yetkisiz kod çalıştırma üzerinedir.
Yani SQL güvenlik dediğiniz şey aslında kullandığınız yazılım dilinin input güvenliği meselesidir.
Çalışan program php ise gelen inputların filtrelenerek veritabanına ulaştırılması gerekir.
PDO ve mysqli için hazır filtreleme sınıfları veya fonsiyonları var, ama daha oraya gelmeden bile gelen veri düzenli ifadeler ile kontrol edilmeli ve beklenen tipte değilse reddedilmelidir.
Ayrıca remote file inclusion, code injection gibi başka php açıkları kullanılarak da SQL üzerinde yetkisiz kod çalıştırılabilinir.
Bir SQL saldırısı için hem iyi derecede sql bilmeniz, hem de iyi derecede php, linux ve network bilmeniz gerekir.
Yani hacker olmak için önce bir programcı kadar yazılım sonra da bir networkçü kadar ağ bilgisi sahibi olmanız lazım.