浅谈XSS攻击

XSS名称为跨站脚本(cross site script),为了不和CSS弄混所以叫XSS。

一.XSS攻击有三种类型,分别的储存型,反射型和文档型。

1.存储型

存储型,就是将恶意脚本存储到服务端是数据库中,然后通过在客户端执行这些脚本,从而

达到攻击的效果。

2.反射型

反射型就是将恶意脚本作为网络请求的一部分,就是将恶意脚本作为网络请求地址中的参数,这样服务器就可以接收到恶意脚本参数,然后返回给浏览器端,浏览器将这些内容作为HTML的一部分解析,发现该参数是一个脚本,就会立即执行,然后就达到了攻击的效果。

3.文档型

文档型并不会经过服务端,而是作为中间人角色,通过数据传输过程中劫持到网络数据包,然后修改里面的HTML文档,从而达到攻击的效果。

.防范措施

上面的解释让我们懂得了XSS攻击的原理,很容易可以看出来XSS攻击都是让恶意脚本在浏览器端执行的。所以我们如果要防范XSS攻击,就要阻止恶意脚本的执行。

方法1.对于用户的输入进行转码或者过滤。进行转码后,恶意脚本在HTML解析过程中是无法执行的。也可以用关键词进行过滤,将srcipt标签进行过滤。

方法2.使用CSP,即内容安全策略(Content-Security-Policy),它可以决定浏览器加载哪些内容,

例如:

        1.限制其他域下的资源加载

        2.禁止向其他域提交数据

        3.提供上报机制,能帮助我们及时的发现XSS攻击

方法3.利用HttpOnly,XSS攻击大多数都是为了窃取Cookie,通过设置HttpOnly属性后,JS便无法获取Cookies,这样也可以防范XSS攻击。

你可能感兴趣的:(HTTP,http,xss,安全)