如何防止XSS跨站脚本攻击

2025-11-10 08:26:10

1、反射型XSS

反射型XSS只是简单的把用户输入的数据“反射”给浏览器,黑客往往需要诱使用户点击一个恶意链接才算攻击成功。

如何防止XSS跨站脚本攻击

2、储存型XSS

这种XSS危害较大,一般由用户输入带有恶意的javascript代码,用户提交保存后,其他用户访问的页面输出了那一行恶意代码,代码会在浏览器被执行。

3、DOM Based XSS

通过修改页面的DOM节点形成的XSS,称之为DOM Based XSS。

1、设置HttpOnly

现在HttpOnly已经逐渐成为一个标准。浏览器将禁止页面的JavaScript访问带有HttpOnly属性的Cookie。现在主流浏览器都已支持HttpOnly。

如果是业务需要增加cookie,同时需要给这个cookie设置为HttpOnly属性。

例如:

response.setHeader("Set-Cookie","cookiename=value; 

Path=/;www.baidu.com=domainvalue;Max-Age=seconds;HTTPOnly");

如何防止XSS跨站脚本攻击

2、web服务器设置httpOnly

不同的web服务器设置方式不同,而且很多新版本web服务器已经默认开启,这里不做过多介绍。

3、输入检查

在获取到用户输入数据后要先检查数据中是否包含<、>、‘、“等危险字符,如果包含要考虑对这些字符进行过滤或转码。

一般是在web应用中配置过滤器统一对所有输入数据进行过滤。

4、输出检查

在html标签或在html属性中输出变量时,如果未作任何处理都可能产生XSS。

防御方法:采用HTMLEncode,在OWASP ESAPI中推荐了一种更严格的HTMLEncode。除了字母、数字外,其他所有的特殊字符都被编码成HTMLEnttities。在<script>标签中输出时使用JavaScriptEncode。

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢