XSS 跨站点脚本 cross site script
怎么造成攻击?
举例:有一个公共的页面,所有用户都可以访问且可以保存内容,输入的时候若输入<script>alert('I am hacker')</script>.由于这句脚本保存到数据中了,下次别人看到这个内容的时候,浏览器端就会弹出一句“I am Hacker”,同理,这个脚本可以发送用户的cookie到其他网站,这样就成功窃取了用户的隐秘信息。跨站脚本攻击指的是攻击浏览器端的用户信息。
两个防止攻击的办法:
1、在保存用户输入数据的时候,将输入内容编码。<script>就变成了<script>
这样做有一个不好,编码后的数据在非浏览器中显示的时候,会显示得不友好
2、在显示的时候,将内容编码。这样也不会执行脚本。
如C#编码的方法是Server.HtmlEncode("<script>alert('I am hacker')</script>")