demo1:
<?php
header('X-XSS-Protection: 0');
$xss = isset($_GET['xss'])? $_GET['xss'] : '';
$xss = str_replace(array("(",")","&","\\","<",">","'"), '', $xss);
echo "<img src=\"{$xss}\">";
?>
问题描述
在页面内进行弹窗(反射型xss漏洞的特征)
解决方案:
题目利用replace函数将常见的"(",")","&","\\","<",">","'"都替换成了空格符号,而想进行弹窗操作需要利用到οnerrοr="alert(xxx)"函数。最关键的问题在于怎么绕过对于括号的限制。我们可以利用URLcode编码将括号转变为%28和%29,而URLcode编码会自动将%28和%29识别为括号,又会被限制,我们可以将%转换为相应的%25