XSS: WEB APPLICATION > USER > BROWSER > USER
SQL: WEB APPLICATION > USER > DATABASE > USER
Hemen bir örnek ile açıklayalım
<?php $id= $_GET[id]; .... $query= "SELECT * FROM users WHERE id= .$id." ;" ... ?>Gördügünüz üzere php dinamik sayfamızda herhangi bir filtreleme yok buyüzden ' veya 'Q gibi karakter ekledigimizde database hatası gelicek ve kişi sql sorgusu göndermeye çaliştiginda admin bilgilerini çekebilecek
Şimdi burada cok kısa bir filtreleme ve yasaklama işlemi yapicagiz<?php
$id= $_GET[id];
....
$wk = array("\\\\\\\\"", "\\\\\\\\\\\\\\\\", "/", "*", "", "=", "-
", "#", ";", "<", ">", "+", "%");
$id = str_replace($wk, "", $id);
$query= "SELECT * FROM users WHERE id= .$id." ;"
...
?>Bu yukaridakı $wk = arry satırında sorgu gönderilmemesi için çeşitli filtreleme, engelleme yaptik bu sayede karakter eklense bile sorgu gönderilmeyecektir.