[COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#007700"][/COLOR][/COLOR]
[COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#007700"] @@@'[/COLOR][COLOR="#007700"];[/COLOR][COLOR="#0000BB"]$bar[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#DD0000"]'@@@ name=bar template=\'"<> @@@'[/COLOR][COLOR="#007700"];[/COLOR][COLOR="#0000BB"]$bar[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]$foo[/COLOR][COLOR="#007700"]; echo[/COLOR][COLOR="#DD0000"]"Test variable:"[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]$bar[/COLOR][COLOR="#007700"]; [/COLOR][COLOR="#0000BB"]?>[/COLOR][/COLOR]
Test variable: @@@ name=foo template='"<> @@@
[COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#FF8000"]// Предполагается, что $dump содержит // текстовый вывод работы предыдущего скрипта[/COLOR][COLOR="#0000BB"]preg_match_all[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'/@@@(.*?)@@@/s'[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$dump[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$matches[/COLOR][COLOR="#007700"]);for([/COLOR][COLOR="#0000BB"]$i[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]0[/COLOR][COLOR="#007700"];[/COLOR][COLOR="#0000BB"]$i[/COLOR][COLOR="#007700"]'[/COLOR][COLOR="#007700"]{[/COLOR][COLOR="#FF8000"]// Если вывод переменной равен изначальному шаблону, то найдена уязвимость[/COLOR][COLOR="#007700"]echo[/COLOR][COLOR="#0000BB"]$attrs[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#DD0000"]'name'[/COLOR][COLOR="#007700"]] .[/COLOR][COLOR="#DD0000"]''[/COLOR][COLOR="#007700"]; }} [/COLOR][/COLOR]
index.php?foo=alert('Hello from hole')