网页客户端安全:跨站脚本攻击与Cookie劫持揭秘
1. 跨站脚本攻击(Cross-Site Scripting)
跨站脚本攻击(XSS)对Web应用程序客户端具有潜在的重大影响。其根源在于服务器端对输入的清理不当,使得客户端浏览器能够解释执行输入的脚本命令。
1.1 攻击原理与示例
当攻击者注入脚本代码后,最直接的结果是在注入代码的客户端执行命令。经过一些调整,这种攻击还能从同一网站的后续用户那里获取数据。
例如,在留言板类应用中,用户输入的内容会显示给后续访问者。测试输入是否存在跨站脚本漏洞的简单方法是在输入字段中输入以下文本:
<SCRIPT Language="Javascript">alert("Hello");</SCRIPT>当后续用户浏览留言板时,他们的浏览器会渲染HTML,遇到第一个用户输入的JavaScript代码并执行,弹出一个显示“Hello”的窗口。
如果这个小技巧奏效,那么就有可能对该应用实施完整的跨站脚本攻击。攻击者需要设置一个恶意服务器来捕获被注入脚本代码的无辜受害者输入的信息。以下是一个可以发布到受害网站的恶意链接代码片段:
<SCRIPT Language="Javascript">var password=prompt ('Your session has expired. Please enter your password to continue.',''); loc