我一直在学习有关 XSS 的更多信息(对于不熟悉的人,Excess XSS是一个很好的资源)。我选择亲自动手并在本地环境中尝试 Reflected XSS。我设置了一个在 Apache2 上运行的非常简单的易受攻击的 PHP 页面,它采用 URL 参数并将内容转储到页面中:
<!DOCTYPE html>
<html>
<head>
<title>VULNERABLE WEBSITE</title>
</head>
<body style="background-color:#98FB98">
<h1>VULNERABLE WEBSITE</h1>
<p>Search results for <?php echo $_GET['query']; ?>:</p>
</body>
</html>
然后,我尝试使用如下 URL 将“恶意”JavaScript 嵌入到页面中:
http://localhost:8082/?query=<script>alert('Hello!');</script>
我发现浏览器本身阻止了这种情况的发生。在 Firefox 中,这将我带到了 Google 搜索页面。在 Chromium 中,XSS 被专门检测并阻止:
所以,从理论到实践,我现在想知道:Reflected XSS 在今天仍然是一个相关的安全问题吗?
这显然不适用于恶意内容由网站本身直接提供的持久性 XSS。