常见的web安全及解决办法

1、xss攻击

跨站脚本攻击,指通过用户浏览器运行非法的html或者js的一种攻击。原理是攻击者往web页面里面插入恶意执行的代码,导致用户信息泄漏。

xss攻击又分为两种,非持久性xss攻击和持久性xss攻击。

非持久性xss攻击:点击带有恶意脚本代码的url,当url被打开的时候,脚本执行,造成攻击。这种攻击需要用户点击,不需要服务器存储,直接通过get post 请求就能完成攻击,造成用户信息泄漏。

持久性xss攻击:这种一般存在于Form表单,如文章留言和评论,把恶意脚本提交存到服务器数据库中,当前端把数据渲染的时候造成恶意脚本执行。这种时效性来说,比较持久,会存到数据库中。

防御方法:

csp:

1、建立白名单,开发者告诉浏览器哪些外部资源可以加载和运行。

  • 设置 HTTP Header 中的 Content-Security-Policy
  • 设置 meta 标签的方式

Content-Security-Policy: default-src 'self' //只允许加载本站资源。

Content-Security-Policy: img-src https://* //只允许加载https的图片。

2、转义字符:

对用户输入的内容进行转义

3、HttpOnly cookie

预防XSS攻击窃取用户cookie最有效的防御手段。Web应用程序在设置cookie时,将其属性设为HttpOnly,就可以防止cookie被恶意窃取。

nodejs 设置方法:

 res.cookie('isVisit', 1, {maxAge: 60 * 1000, httpOnly: true}) // 该处是设置 cookie 与 httpOnly 

2、csrf攻击:

跨站请求伪造,利用用户登录的身份,在用户不知道的情况下,用用户的身份做一些非法操作。

常见的web安全及解决办法
防御方法:

1.不让第三方网站访问到用户cookie

2.设置验证码或者token

3.阻止第三方网站访问接口

对cookie 设置SameSite属性,表示cookie不随着跨域转发。

Refer check:Referer Check在Web最常见的应用就是"防止图片盗链",可以允许哪些域访问

Anti CSRF Token:发送请求时在HTTP 请求中以参数的形式加入一个随机产生的token,并在服务器建立一个拦截器来验证这个token。服务器读取浏览器当前域cookie中这个token值,会进行校验该请求当中的token和cookie当中的token值是否都存在且相等,才认为这是合法的请求。否则认为这次请求是违法的,拒绝该次服务。

3.URL跳转漏洞

攻击者构造恶意链接,让用户点击,造成信息泄漏等

4.sql注入

后端经常遇到的。比如攻击者专门输入 用户名为admin' — 后端的sql语句为:

let querySQL = ` SELECT * FROM user WHERE username='${username}' AND psw='${password}' `;

当用户名为admin' 的时候,sql变为

SELECT * FROM user WHERE username='admin' --' AND psw='xxxx' 

后端要控制参数,尽量用?占位符,不要直接使用sql拼接 或者使用mysql.format

对特殊的字符进行转义或者编码处理等

原文链接:https://blog.csdn.net/qq_36770474/article/details/121578960

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

(0)
上一篇 2023年7月8日
下一篇 2023年7月8日

相关推荐

发表回复

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

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