转自 java 吧

http://tieba.baidu.com/p/3567794788

刚才看到吧里有只大彩笔在秀自己的网站:

原帖地址:http://tieba.baidu.com/p/3567694132

对于这样热情高涨的新手,我们一定要予以关(nue)照(dai),于是心血来潮,

科普一下 XSS(Cross Site Scripting)黑站。

中文叫跨站脚本攻击。

首先,打开彩笔的目标网站(废话),并注册用户

寻找一个可以提交字符串到服务器的页面

并且保证这个字符串会在前台页面显示,比如贴吧的发帖之类的功能

 

找到 html 标签,我们看到有 maxlength 属性,这里先干掉再说,因为一会我们要提交 js 代码

这里就可见,web 的前台验证什么的,都是假的,客户端提交的数据,必须要做后台验证。

 

准备一段 js,代表,这里以简单为主,仅仅测试

 

粘到文本框里去

 

提交成功

看到没?彩笔做的网站,前台框架用得爽,后台验证完全没有,顺利过了

 

打开相应的显示画面,看到了我们的 js 已经成功被执行

 

查看一下源代码,我们的 js 已经被嵌入了 html

 

总结:

真正的坏人,不会上传一段 alert 那么简单。

正如名字一样,跨站的意思是,大的脚本不会直接上传,一定是再远程。

如果,他上传的是如下的代码,你觉得后果会如何?

防范 xss 的方法,前面已经提到了,用户提交数据的时候,做后台验证是其一。

其二就是前台展示数据的时候,一定要做代码转义。

这里隆重推荐,我大微软的 asp.net MVC + razor 真心很强大。

前台后台验证一条龙,显示转意一句话。