web安全机制

web安全机制

⼀、HTTP & HTTPS

⾸先,数据传输是否安全体现为:

1、我发的数据不该看的⼈看不懂

2、我发的数据不该看的⼈不能伪造或修改(修改后接收⽅能察觉)

3、我发的数据,过期之后不该看的⼈不能偷偷拿过来继续⽤

其次,我们来分析HTTP不安全的原因,以及HTTPS安全的原因:

HTTP,全称Hyper Text Transfer Protocol超⽂本传输协议(不安全的协议)

原因:⼀个请求到达最终服务器,中间会经过很多节点(如:路由器、代理服务器、⽹关等),任何请求都可能被途径的众多节点转发,但 http

是明⽂的,所以会导致请求被途径的节点窃听或嗅探等。

HTTPS,全称Hyper Text Transfer Protocol over Secure Layer以安全为⽬标的HTTP通道(安全的协议)

原因:通过 ⾮对称加密 + 对称加密 + CA认证 这三个技术混合在⼀起,使得 https 协议安全。

HTTPS是如何保证安全的?

⼆、XSS攻击

XSS⼜叫CSS(Cross-SiteScripting),跨站脚本攻击。是⼀种⽹站应⽤程序的安全漏洞攻击,是代码注⼊的⼀种。它允许恶意⽤户将代码注⼊

到⽹页上,其他⽤户在观看⽹页时就会受到影响。这类攻击通常包含了HTML以及⽤户端脚本语⾔。

简⽽⾔之,通过客户端脚本语⾔(最常见如:JavaScript)

在⼀个论坛发帖中发布⼀段恶意的JavaScript代码就是脚本注⼊,如果这个代码内容有请求外部服务器,那么就叫做XSS!

三、CSRF攻击

CSRF(Cross-site request forgery),跨站请求伪造。是⼀种挟制⽤户在当前已登录的Web应⽤程序上执⾏⾮本意的操作的攻击⽅法。尽管

听起来像跨站脚本(XSS),但它与XSS⾮常不同,并且攻击⽅法基本相左。XSS利⽤站点内的信任⽤户,⽽CSRF则通过伪装来⾃受信任⽤户的

请求来利⽤受信任的⽹站。

简⽽⾔之,就是冒充⽤户发起请求(在⽤户不知情的情况下),完成⼀些违背⽤户意愿的请求(如恶意发帖,删帖,改密码,发邮件等)。

⼀个⼩故事弄懂CSRF

四、如何防护XSS&CSRF攻击?

中⼼思想:⼀切的⼀切外部来源数据,都要我们服务端代码的过滤,才能让他展⽰到页⾯上,也就是说,⼀切外部数据都是⾮法的,⼀定要做好过

滤。

1、尽量使⽤innerText(IE)和textContent(Firefox),也就是jQuery的text()来输出⽂本内容

2、必须要⽤innerHTML等等函数,则需要做类似php的htmlspecialchars的过滤

3、尽量不要使⽤ eval

4、在输出html时,加上Content Security Policy的Http Header

(作⽤:可以防⽌页⾯被XSS攻击时,嵌⼊第三⽅的脚本⽂件等)

(缺陷:IE或低版本的浏览器可能不⽀持)

5、在设置Cookie时,加上HttpOnly参数

(作⽤:可以防⽌页⾯被XSS攻击时,Cookie信息被盗取,可兼容⾄IE6)

(缺陷:⽹站本⾝的JS代码也⽆法操作Cookie,⽽且作⽤有限,只能保证Cookie的安全)

6、在开发API时,检验请求的Referer参数

(作⽤:可以在⼀定程度上防⽌CSRF攻击)

(缺陷:IE或低版本的浏览器中,Referer参数可以被伪造)

原文链接:https://wenku.baidu.com/view/0024df0d2c60ddccda38376baf1ffc4ffe47e2f5.html

原创文章,作者:优速盾-小U,如若转载,请注明出处:https://www.cdnb.net/bbs/archives/18084

(0)
上一篇 2023年11月9日 11:02
下一篇 2023年11月9日

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

优速盾注册领取大礼包www.cdnb.net
/sitemap.xml