$name = htmlspecialchars( $_GET[ 'name' ] );
echo "<pre>Hello ${name}</pre>";
请问大家这样没有辅助标签的是否有绕过方式
$name = htmlspecialchars( $_GET[ 'name' ] );
echo "<pre>Hello ${name}</pre>";
请问大家这样没有辅助标签的是否有绕过方式
对于没有辅助标签的情况,可能存在以下绕过方式:
$name = htmlspecialchars( $_GET[ 'na(me' ] ); // 在参数名中添加左括号
echo "
Hello ${name}"; // 右括号被其他字符遮盖,绕过htmlspecialchars的过滤
$name = htmlspecialchars( $_GET[ 'name'." ".' ' ] ); // 在参数名中添加空格字符
echo "
Hello ${name}"; // 空格被其他字符遮盖,绕过htmlspecialchars的过滤
$name = htmlspecialchars( $_GET[ 'name'."\n".' ' ] ); // 在参数名中添加换行符
echo "
Hello ${name}"; // 换行符被其他字符遮盖,绕过htmlspecialchars的过滤
需要注意的是,虽然这些绕过方式可以在一些情况下绕过htmlspecialchars的过滤,但是并不是绝对可行的,因此在代码开发时,应该谨慎处理用户输入,避免XSS攻击。