新人经常在不知不觉中写出一个 XSS 漏洞,甚至连老司机也偶有湿鞋。
请用自己的语言简述:
———
是英文 Cross-Site Scripting 的缩写。
简单来说
1. 正常用户 A 提交正常内容,显示在另一个用户 B 的网页上,没有问题。
2. 恶意用户 H 提交恶意内容,显示在另一个用户 B 的网页上,对 B 的网页随意篡改。
造成 XSS 有几个要点:
1. 恶意用户可以提交内容
2. 提交的内容可以显示在另一个用户的页面上
3. 这些内容未经过滤,直接运行在另一个用户的页面上
假设我们有一个评论系统。
用户 A 提交评论「小谷你好」到服务器,然后用户 B 来访问网站,看到了 A 的评论「小谷你好」,这里没有 XSS。
恶意用户 H 提交评论「<script>console.log(document.cookie)</script>」,然后用户 B 来访问网站,这段脚本在 B 的浏览器直接执行,恶意用户 H 的脚本就可以任意操作 B 的 cookie,而 B 对此毫无察觉。有了 cookie,恶意用户 H 就可以伪造 B 的登录信息,随意访问 B 的隐私了。而 B 始终被蒙在鼓里。
继续上面例子,之所以恶意脚本能直接执行,有两个可能
1. 后台模板问题
<p>
评论内容:<?php echo $content; ?>
</p>
<< · Back Index ·>>