XSS 尝试会在服务器上留下任何痕迹吗?

信息安全 xss 取证 日志记录
2021-08-28 17:05:00

如果我使用 classic 进行测试,<script>alert(1)</script>网站所有者会看到我的尝试吗?XSS 会留下一些痕迹吗?

我将尝试在我的 Ubuntu 上构建一个带有大量网站的小型服务器来测试一些东西。我在哪里可以找到操作系统或服务器中的证据?

2个回答

网站所有者可以看到什么?

基本上什么都有。

如果 XSS 向量(<script>alert(1)</script>在您的情况下)是以下内容的一部分:

- HTTP headers (including cookies)
- URL (path, query string) except the anchor part
- POST data (including uploaded files)

然后网站所有者可以看到它。

如果您的 XSS 向量仅是客户端,那么如果Content-Security-Policy已配置为记录攻击,则网站所有者仍可以记录它。


如何在不被发现的情况下测试 XSS?

不要,除非你被允许这样做。

运行您自己的易受攻击的网络服务器

运行自己的网络服务器并不难:

echo "<?php echo $_GET['xss'];" > index.php
php -S 0.0.0.0:80

这将在http://localhost/启动一个可用的网络服务器。

已知易受攻击的应用程序

此外,查看一些项目,例如Damn Vulnerable Web Application,旨在帮助人们了解一些漏洞。

此外,对于 XSS,有很多资源可以学习它们:

在这里,您可以看到针对 DVWA 测试的 XSS 反射示例:

10.0.0.1 - - [15/Mar/2018:14:47:24 +0000] "GET /vulnerabilities/xss_r/?name=%3Cscript%3Ealert%28%27xss%27%29%3B%3C%2Fscript%3E HTTP/1.1" 200 1715 "http://10.0.0.1/vulnerabilities/xss_r/" "Mozilla/5.0 (X11; Linux x86_64; rv:59.0) Gecko/20100101 Firefox/59.0"

如果它具有任何类型的附加安全性,例如 IDS 或 WAF,它将被检测到并通知网站所有者。