如何防止XSS跨站脚本攻击

2025-06-08 22:37:02

XSS(Cascading Style Sheets)全称跨站脚本攻击,是网站安全的头号大敌,在网络编程中也容易防范。

如何防止XSS跨站脚本攻击

工具/原料

网络编程经验

XSS分类

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

如何防止XSS跨站脚本攻击

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

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

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。
猜你喜欢