XSS跨站脚本攻击。用留言板的例子简单讲解一下原理:
如下图所示,正常情况下,用户在下面输入的内容发表成功之后会写到数据库中,然后在上面的列表中显示出来
但是特殊情况下,比如我在下面的输入框中输入下面的内容:
提交之后,这段脚本就会被写入到数据库,然后在留言列表中显示的时候就会出现下面的情况:
这就是跨站脚本攻击了,这里只是简单的弹出框而已,如果我把上面的代码换成别的呢,比如获取保存用户登录信息的cookie值,或者直接给个下载地址让用户下载木马或者其他信息呢,更贱的,跳转到攻击者的网站页面,页面显示要用户重新登录页面,一般的用户都会重新输入一次账号密码,输入之后跳转回原来的那个网站,这样攻击者已经获取用户账号密码,想干什么都行了,而且神不知鬼不觉。
所以,最根本的原因是没有对用户的输入数据进行处理,永远不要相信用户输入。