说个简单的著名的案例,微软的live域名刚开始推广的时候,是内部邀请制,但是后端没做验证,于是有人在注册页面URL后面加了一段JS代码,访问加了JS代码的URL注册邮箱时,后缀列表里面就有live域名后缀。
后台的原理,是jS代码赋给了一个没加过滤直接输出的URL参数,这段代码给页面添加了live后缀选项。
同理,其它不加过滤的输出也会导致不是你写的JS代码在你的页面输出成可执行客户端代码。最简单的玩法,用JS取到你的域SesssionID。然后提交给他自己的服务器,或者直接用CSRF请求让你帮他做事。
【 在 chwork 的大作中提到: 】
: 有没有简单例子?
: 看到公司有人submit php代码说:
: 用protectString函数 一次性过滤所有的输入 防止XSS
: ...................
--
修改:dhcn FROM 124.42.13.*
FROM 124.42.13.*