一、前言
-
近几年,伴随互联网的高速发展,对Web安全问题的重视也越来越高。Web应用所面临的威胁来自很多方面,其中黑客的破坏是影响最大的,黑客利用Web应用程序存在的漏洞进行非法入侵,从而破坏Web应用服务,盗取用户数据等,如何防范漏洞带来的安全威胁是一项艰巨的挑战。
-
为了增强用户的交互体验,开发者们在Web应用程序中大量应用客户端脚本,使Web应用的内容与功能变得丰富有趣,然而隐藏的安全威胁随之而来,黑客们将Web攻击的思路从服务器端转向了客户端,利用客户端脚本漏洞的攻击变得越来越强大,如跨站脚本(XSS)和SQL注入成为了众多漏洞中最有针对性的攻击目标。
二、XSS
XSS(Cross Site Scripting
,跨站脚本攻击)是一类特殊的Web客户端脚本注入攻击手段,通常指攻击者通过“HTML注入”篡改了网页,插入恶意的脚本,从而在用户浏览网页时控制浏览器的一种攻击。
当应用程序发送给浏览器的页面中包含用户提供的数据,而这些数据没有经过适当的转义,或者在这些内容被显示在页面之前没有验证它们都是安全的,使得输入被视为浏览器中的动态内容,就会导致存在跨站脚本漏洞。
按照“数据是否保存在服务器”,XSS被分为:反射型XSS和存储型XSS。
反射型XSS:
服务器未对用户请求参数做任何编码或转义处理,直接将参数作为响应的一部分输出到页面中。反射型XSS是一次性的,很容易实施钓鱼攻击,即诱使被攻击者点击某条恶意链接就可触发漏洞。
存储型XSS