Сегодня наткнулся на багу в WAF, основанную на то, что люди не понимают как преобразовываются типы в PHP.

if (! strpos($_GET['to_filter'],"<") ){
echo "OK";
}

(boolean) 0 === false
(boolean)-1 === false
(boolean) 1 === true

Таким образом, запрос вида:

/f.php?to_filter=<haha<haha<haha<haha

уже не фильтруется таким кодом.