CN101686130A - 一种预防跨站脚本攻击的系统 - Google Patents
一种预防跨站脚本攻击的系统 Download PDFInfo
- Publication number
- CN101686130A CN101686130A CN200810211746A CN200810211746A CN101686130A CN 101686130 A CN101686130 A CN 101686130A CN 200810211746 A CN200810211746 A CN 200810211746A CN 200810211746 A CN200810211746 A CN 200810211746A CN 101686130 A CN101686130 A CN 101686130A
- Authority
- CN
- China
- Prior art keywords
- browser
- security
- security domain
- server
- website
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Information Transfer Between Computers (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明提出一种预防跨站脚本攻击的系统,包括一个客户端和至少一个网站服务器,所述客户端上安装有一个浏览器,用于对所述网站服务器上的内容进行访问,在所述浏览器上设置至少一个安全域,用于存放与安全有关的信息,所述安全域禁止所述服务器网页上的脚本进行访问。本发明中在浏览器上设置了一个安全域,使得任何在当前浏览器中执行的网页脚本均无法访问安全域中的内容。即使恶意者在网站服务器上插入了一段恶意代码,这段恶意代码也无法访问该安全域中的内容,因此恶意者就无法获得浏览器中安全域中的cookie,从而保证了网络系统的安全。
Description
技术领域
本发明涉及一种网络安全系统,尤其是一种网页应用的安全系统。
背景技术
目前网页应用程序(Web Application)是对在线服务提供访问的一个主要应用方式。但同时,网页应用程序的弱点也越来越引起人们的关注。
跨站脚本攻击(Cross-site scripting,又称XSS)是一种最常见的网页应用程序安全漏洞。跨站脚本攻击通过在网页中加入恶意代码,当访问者浏览该网页时恶意代码会被执行或者通过给管理员发信息的方式诱使管理员浏览,从而获得管理员权限,控制整个网站。攻击者通过XSS方式进行攻击,使得本地文件被泄漏或被修改、网站被重新定向到易受攻击的其他网站或者恶意网站,或者导致会话劫持(Session Hijacking)。
当攻击者获取到以cookie表示的用户的认证令牌时,通常就会发生会话劫持。所谓cookie,是一种能够让网站服务器把少量数据储存到客户端的硬盘或内存,或是从客户端的硬盘读取数据的一种技术。当用户浏览某网站时,由网站服务器置于用户硬盘上一个非常小的文本文件,它可以记录用户的ID、密码、浏览过的网页、停留的时间等信息。当用户再次访问该网站时,网站通过读取cookie得知该用户的相关信息,就可以做出相应的动作,如在页面显示欢迎该用户的标语,或者让该用户无需输入ID、密码就直接登录等等。
从本质上讲,cookie可以看作是用户的身份标识。但cookie不能作为代码执行,也不会传送病毒,且为用户所专有,并只能由提供它的服务器来读取。也就是说,一个网站只能取得它放在用户的电脑中的信息,而无法从其它的cookie文件中取得信息,也无法得到用户的电脑上的其它任何东西。cookie中的内容大多数经过了加密处理,因此一般用户看来只是一些毫无意义的字母数字组合,只有服务器的公共网关接口(Common GatewayInterface,CGI)处理程序才知道它们真正的含义。
在通常情况下,当用户对一个网页进行访问时,该网页会返回给用户一个会话标识符sessionID,用以对不同的访问用户加以区别。如上所述,一旦对该网页进行了访问,在该用户的浏览器中就会保存有该网页的cookie。如果攻击者获得了该用户的cookie,就会得到该用户的上述会话标识符,从而冒充用户来访问上述网页,也就是说攻击者得到了特权扩大(PrivilegeEscalation)或者进行了身份伪造(User Forging)。
例如,攻击者A在一个网络论坛上发布一个恶意的帖子或文章,该帖子通常是使用脚本语言代码进行编写的。当论坛的管理者浏览该帖子或文章时,脚本语言代码就会被自动执行。如果用户B也浏览该网络论坛上的网页,则该段代码就会获取用户B的cookie并将该cookie发送给攻击者A。
目前浏览器通常通过对网页的编码进行过滤以防止XSS攻击。但是这种使用编码进行过滤的方式比较容易绕过,例如攻击者可采用另一种编码方式发起对该网页的攻击。
另外一种常用的防止XSS攻击的方法是在对网站进行访问时,将该网站的cookie与用户的IP地址进行绑定,只允许最早登陆的那个用户对该cookie进行访问。这种方法对防止XSS攻击有一定的效果。但是在攻击者和用户使用同一IP地址(例如通过网络地址转换)或者使用同一代理服务器对网站进行访问时,这种方法则无法起到防止XSS攻击的效果。
发明内容
本发明的主要目的在于提供一种更为安全的网络系统,能够防止攻击者通过跨站脚本获得用户的安全信息。
为达到上述目的,本发明的技术方案具体是这样实现的:一种预防跨站脚本攻击的系统,包括一个客户端和至少一个网站服务器,所述客户端上安装有一个浏览器,用于对所述网站服务器上的内容进行访问,在所述浏览器上设置至少一个安全域,用于存放与安全有关的信息,所述安全域禁止所述服务器网页上的脚本进行访问。
根据本发明的一个方面,所述浏览器初次访问所述网站服务器时,构造一个超文本传输协议并将所述安全域中的信息通过所述协议发送给所述服务器。
根据本发明的一个方面,在所述浏览器上还设置一个普通域,用于存放除了所述与安全有关的信息以外的信息,所述普通域允许所述服务器网页上的脚本进行访问。
根据本发明的一个方面,所述浏览器初次访问所述网站服务器时,构造一个超文本传输协议并将所述安全域和普通域中的信息通过所述协议发送给所述服务器。
根据本发明的一个方面,在所述浏览器上为所述每个网站服务器设置一个安全域,所述每个安全域中存放与对应的网站安全有关的信息,所述每个安全域禁止所述任一个服务器网页上的脚本进行访问。
根据本发明的一个方面,所述与安全有关的信息为包括用户名和密码的cookie。
根据本发明的一个方面,所述与安全有关的信息内容由所述网站服务器进行定义。
本发明中在浏览器上设置了一个安全域,使得任何在当前浏览器中执行的网页脚本均无法访问安全域中的内容,所述脚本包括网站服务器的正常脚本,也包括恶意者通过跨域脚本插入的恶意脚本。因此,即使恶意者在网站服务器上插入了一段恶意代码,这段恶意代码也无法访问该安全域中的内容,因此恶意者就无法获得浏览器中安全域中的cookie,也就无从得知该cookie中的内容,无法冒充该用户的身份进行访问,从而保证了网络系统的安全。
附图说明
下面结合附图对本发明的具体实施方式作进一步详细的描述,其中:
图1是本发明的认证系统的示意图。
具体实施方式
图1是本发明的认证系统的示意图。在本发明的预防跨站脚本攻击的系统中包括一个客户端和N个网站服务器,客户端上安装有一个浏览器,通过该浏览器可对N个网站服务器上的内容进行访问。在浏览器上设置一个安全域,所述安全域中存放与安全有关的信息,安全域禁止N个服务器中的任何一个服务器网页上的脚本对其进行访问。在实际设置中,既可以在客户端的浏览器上只设置一个安全域,该安全域中存放与所有N个网站中的每一个网站安全有关的信息;也可以为每个网站服务器分别设置一个安全域,每个安全域中存放与对应的网站安全有关的信息。浏览器在初次访问一个网站服务器时,该浏览器先构造一个Http协议并将安全域中的信息通过该Http协议发送给所要访问的网站服务器。
安全域中存放的与安全有关的信息尤其是指包含用户名和密码的cookie,该cookie中的内容通常进行了加密处理。
在更多的情况下,除上述安全域外,浏览器上还设置一个普通域,用于存放除与安全有关的信息以外的信息。该普通域允许N个服务器中的任何一个网页上的脚本进行访问。在实际设置中,既可以在客户端的浏览器上只设置一个普通域,该普通域中存放与所有N个网站中的每一个网站安全无关的信息;也可以为每个网站服务器分别设置一个普通域,每个普通域中存放与对应的网站安全无关的信息。通常将某个或者某些网站服务器都要访问的cookie存放到普通域中。对那些不希望由于跨域脚本漏洞被偷走的cookie才放到安全域中。普通域中存放的信息都是一些非敏感性的、对用户而言不会造成危害的信息,例如浏览该网页所采用的语言(中文或者英文)、浏览该网页使用的颜色、用户最喜欢的频道以及广告信息等。在设置了普通域的情况下,浏览器在初次访问一个网站服务器时,该浏览器先构造一个Http协议并将安全域和普通域中的信息通过该Http协议发送给所要访问的网站服务器。
在现有技术中,由于没有设置安全域,因此如果一个恶意者在一个网站服务器上插入了一段恶意代码,客户端的浏览器支持这段恶意代码来读取该浏览器中的cookie,恶意者就能够获得浏览器中的对应于该网站的cookie,进而得到该cookie中的内容,以该用户的身份访问该网站。
而在本发明中,由于在浏览器上设置了安全域,任何在当前浏览器中执行的网页脚本均无法访问安全域中的内容,所述脚本包括网站服务器的正常脚本,也包括恶意者通过跨域脚本插入的恶意脚本。因此,即使恶意者在网站服务器上插入了一段恶意代码,这段恶意代码也无法访问该安全域中的内容,因此恶意者就无法获得浏览器中安全域中的cookie,也就无从得知该cookie中的内容,无法冒充该用户的身份进行访问,从而保证了网络系统的安全。
当客户端的用户想要对一个网站发起访问时,客户端的浏览器首先构造一个Http请求,在该请求中把安全域和普通域中的cookie内容都发送给要访问的网站,因此该网站也就能够得到该用户浏览器安全域中的cookie,也就是说,只有客户端的浏览器主动向网站服务器发送cookie,网站服务器才能够得到客户端浏览器上安全域中的cookie。
下面以一个具体的场景为例进行说明。例如,一个网站提供了保存登录(自动登录)服务。在用户对该网站进行首次访问时,网页上会出现一个提示窗口,提示用户是否在该台机器上记住该网站。如果用户点击“是”,则在该用户的浏览器的安全域cookie中记下该用户的用户名和密码。当用户再一次访问所述网站时,该用户就无需进行登录,浏览器通过自动地将其该网站cookie中的内容(包括用户名和密码)发送给所述网站的服务器,该服务就能够认证通过该用户。
用户被认证通过后,该网站服务器上存在的脚本就能够访问浏览器中普通域的cookie,也就能够从该cookie中得到和安全无关的信息,例如,普通域中的cookie中存放了用户最喜欢的频道是“新闻频道”,则该用户访问该网站时,网页自动转到新闻频道。
此时如果在客户端执行的脚本上包含通过服务器转来的恶意代码或恶意脚本,恶意代码试图对客户端浏览器中的cookie进行读取,而根据本发明的设置,所述安全域禁止所述服务器网页上的脚本进行访问。由于浏览器拒绝了这种访问,因此恶意者无法获取用户安全域中的cookie并,也就无法冒充用户的身份发动攻击。
Claims (7)
1.一种预防跨站脚本攻击的系统,包括一个客户端和至少一个网站服务器,所述客户端上安装有一个浏览器,用于对所述网站服务器上的内容进行访问,其特征在于:在所述浏览器上设置至少一个安全域,用于存放与安全有关的信息,所述安全域禁止所述服务器网页上的脚本进行访问。
2.根据权利要求1所述的预防跨站脚本攻击的系统,其特征在于:所述浏览器初次访问所述网站服务器时,构造一个超文本传输协议并将所述安全域中的信息通过所述协议发送给所述服务器。
3.根据权利要求1所述的预防跨站脚本攻击的系统,其特征在于:在所述浏览器上还设置一个普通域,用于存放除了所述与安全有关的信息以外的信息,所述普通域允许所述服务器网页上的脚本进行访问。
4.根据权利要求3所述的预防跨站脚本攻击的系统,其特征在于:所述浏览器初次访问所述网站服务器时,构造一个超文本传输协议并将所述安全域和普通域中的信息通过所述协议发送给所述服务器。
5.根据权利要求1所述的预防跨站脚本攻击的系统,其特征在于:在所述浏览器上为所述每个网站服务器设置一个安全域,所述每个安全域中存放与对应的网站安全有关的信息,所述每个安全域禁止所述任一个服务器网页上的脚本进行访问。
6.根据权利要求1或3所述的预防跨站脚本攻击的系统,其特征在于:所述与安全有关的信息为包括用户名和密码的cookie。
7.根据权利要求1所述的预防跨站脚本攻击的系统,其特征在于:所述与安全有关的信息内容由所述网站服务器进行定义。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200810211746A CN101686130A (zh) | 2008-09-24 | 2008-09-24 | 一种预防跨站脚本攻击的系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200810211746A CN101686130A (zh) | 2008-09-24 | 2008-09-24 | 一种预防跨站脚本攻击的系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101686130A true CN101686130A (zh) | 2010-03-31 |
Family
ID=42049119
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200810211746A Pending CN101686130A (zh) | 2008-09-24 | 2008-09-24 | 一种预防跨站脚本攻击的系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101686130A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103026684A (zh) * | 2010-07-22 | 2013-04-03 | 国际商业机器公司 | 跨站脚本攻击保护 |
CN103532912A (zh) * | 2012-07-04 | 2014-01-22 | 中国电信股份有限公司 | 浏览器业务数据的处理方法和装置 |
CN103927478A (zh) * | 2013-01-10 | 2014-07-16 | 腾讯科技(深圳)有限公司 | 一种脚本漏洞的检测方法、设备、系统及总控服务器 |
US20150334159A1 (en) * | 2012-12-25 | 2015-11-19 | Beijing Qihoo Technology Company Limited | Method, System and Browser for Executing Active Object of Browser |
US10372899B2 (en) | 2010-07-22 | 2019-08-06 | International Business Machines Corporation | Method and apparatus for context-aware output escaping using dynamic content marking |
-
2008
- 2008-09-24 CN CN200810211746A patent/CN101686130A/zh active Pending
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103026684A (zh) * | 2010-07-22 | 2013-04-03 | 国际商业机器公司 | 跨站脚本攻击保护 |
CN103026684B (zh) * | 2010-07-22 | 2016-01-06 | 国际商业机器公司 | 用于防御跨站脚本攻击的方法和装置 |
US10375107B2 (en) | 2010-07-22 | 2019-08-06 | International Business Machines Corporation | Method and apparatus for dynamic content marking to facilitate context-aware output escaping |
US10372899B2 (en) | 2010-07-22 | 2019-08-06 | International Business Machines Corporation | Method and apparatus for context-aware output escaping using dynamic content marking |
CN103532912A (zh) * | 2012-07-04 | 2014-01-22 | 中国电信股份有限公司 | 浏览器业务数据的处理方法和装置 |
CN103532912B (zh) * | 2012-07-04 | 2017-07-14 | 中国电信股份有限公司 | 浏览器业务数据的处理方法和装置 |
US20150334159A1 (en) * | 2012-12-25 | 2015-11-19 | Beijing Qihoo Technology Company Limited | Method, System and Browser for Executing Active Object of Browser |
US10218767B2 (en) * | 2012-12-25 | 2019-02-26 | Beijing Qihoo Technology Company Limited | Method, system and browser for executing active object of browser |
CN103927478A (zh) * | 2013-01-10 | 2014-07-16 | 腾讯科技(深圳)有限公司 | 一种脚本漏洞的检测方法、设备、系统及总控服务器 |
CN103927478B (zh) * | 2013-01-10 | 2018-10-09 | 腾讯科技(深圳)有限公司 | 一种脚本漏洞的检测方法、设备、系统及总控服务器 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Sun et al. | The devil is in the (implementation) details: an empirical analysis of OAuth SSO systems | |
US8332627B1 (en) | Mutual authentication | |
Mao et al. | Defeating cross-site request forgery attacks with browser-enforced authenticity protection | |
Zheng et al. | Cookies Lack Integrity:{Real-World} Implications | |
Cao et al. | PathCutter: Severing the Self-Propagation Path of XSS JavaScript Worms in Social Web Networks. | |
Lin et al. | Threat modeling for CSRF attacks | |
CN108259619B (zh) | 网络请求防护方法及网络通信系统 | |
WO2010075768A1 (zh) | 实现资源共享的方法、装置及系统 | |
Siddiqui et al. | Cross site request forgery: A common web application weakness | |
CN110995672A (zh) | 一种用于软件开发的网络安全认证方法 | |
Chen et al. | Self-exfiltration: The dangers of browser-enforced information flow control | |
CN103444215A (zh) | 用于避免网络攻击的危害的方法和装置 | |
CN101686130A (zh) | 一种预防跨站脚本攻击的系统 | |
Kuppan | Attacking with HTML5 | |
Wedman et al. | An analytical study of web application session management mechanisms and HTTP session hijacking attacks | |
Noureddine et al. | Security in web 2.0 application development | |
US20160366172A1 (en) | Prevention of cross site request forgery attacks | |
Shetty et al. | Survey of hacking techniques and it's prevention | |
Lekies et al. | Towards stateless, client-side driven Cross-Site Request Forgery protection for Web applications | |
CN113542287A (zh) | 网络请求的管理方法和装置 | |
Sentamilselvan et al. | Survey on Cross Site Request Forgery | |
Wang et al. | Cross-site scripting attacks procedure and Prevention Strategies | |
Saltzman et al. | Active man in the middle attacks | |
Cao et al. | Poster: a path-cutting approach to blocking XSS worms in social web networks | |
Braun et al. | A user-level authentication scheme to mitigate web session-based vulnerabilities |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20100331 |