随着互联网发展,XSS攻击事件并不局限于在WEB中出现,在企业软件开发过程也会经常出现,所以提升此类风险尤为重要。
首先我们看看几个XSS攻击历史案例:
新浪微博遭受XX攻击:http://soft.yesky.com/security/156/30179156.shtml
人人网遭受XSS攻击:http://www.freebuf.com/articles/6295.html
我们再来了解下什么是XSS攻击(此段来自百度百科的内容)
“XSS是跨站脚本攻击(Cross Site Scripting),为不和层叠样式表(Cascading Style Sheets, CSS)的缩写混淆,故将跨站脚本攻击缩写为XSS。恶意攻击者往Web页面里插入恶意Script代码,当用户浏览该页之时,嵌入其中Web里面的Script代码会被执行,从而达到恶意攻击用户的目的。”
通过以上解释非常容易理解攻击者是如何进行XSS攻击,其实就是一串javascript代码,<script>alert("我正在对企业软件进行XSS攻击")</script>
当浏览器解析到此代码,而浏览器并不知道这些代码改变了原本程序的意图,会照做弹出一个信息框。
XSS的危害:很多人认为在网页中弹出一个框其实也没什么伤害,殊不知在真正应用中,XSS攻击可以做很多坏事从而对我们的企业软件造成非常大的危害
1、窃取网页浏览中的cookie值:特别在我们企业应用软件中,登录时,系统会记录用户的一些登录信息,如果未做防护,攻击者可以通过XSS获取到用户的COOKIE,从而对我们的企业软件造成危害
2、劫持流量实现恶意跳转:简单来一句代码,<script>window.location.href="http://www.zhuiwan.org";</script>,这句话意思是说,将打开的某个页面实现强制跳转至我们网站,在2011年新浪事件中就出现这BUG,大家可以百度自行了解。
3、向已开发好的软件进行恶意代码植入,http://127.0.0.1/xss/example.php?name=<img src='w.123' onerror='alert("我正在对企业软件进行XSS攻击!")'> 我们指定的图片地址根本不存在也就是一定会发生错误,这时候onerror里面的代码自然就得到了执行。
类似的还有onclick、onmousemove、onmouseover等事件,就不再详述。
介绍一些危害后,再介绍下XSS攻击一般分为反射型XSS,又称非持久型XSS,还有一类是储存型XSS,也就是持久型XSS
反射型及储存型以后有机会再跟大家做分享
通过上面给大家介绍的,可以看的出来,XSS攻击介绍及历史事件会给我企业软件及WEB应用带来非常大的麻烦和不可想像的后果,只有我们防范XSS攻击,才能避免软件被攻击者进行攻击。
XSS攻击防御:我们一般是对<script>、<img>、<a>等标签进行过滤,在对<>里内容进行转换,这样使得浏览器不会对此类标签进行解析执行,同时也不会影响到我们软件的使用效果。另外我们还可以通过对参数的限制也能起到预防作用。