Web安全常见基本知识

1、XSS

跨站式脚本攻击。Cross-Site Scripting。因为与 CSS 重名所以变更为 XSS。

通过在传参处植入代码,实现数据的传输。

借助存储能力,植入恶意代码。当用户读取该输入时,如果是直接运行到页面。就会把恶意脚本一并执行。

  • 获取页面数据
  • 获取Cookies
  • 劫持前端逻辑
  • 发送请求
  • 偷取网页数据
  • 偷取用户信息
  • 偷取用户的登录态
  • 欺骗用户

通过添加 header 来禁止 XSS 过滤

ctx.set('X-XSS-Protection', 0) 

0 禁止
1 启动(默认)

内容安全策略 (CSP, Content Security Policy)。建立白名单,告诉浏览器哪些外部资源可以加载和执行。

只允许加载本站资源

Content-Security-Policy: default-src 'self' 

只允许加载 HTTPS 协议图片

Content-Security-Policy: img-src https://* 

不允许加载任何来源框架

Content-Security-Policy: child-src 'none' 

将用户所以敏感字符串,全部替换成转义字符。

安装 xss 依赖。使用 xss('<script>alert('layouwen')</script>') 函数转义。

设置请求头,不允许 js 直接获取 cookie。防止 XSS 攻击后获取信息。

response.addHeader('Set-Cookie', 'name=layouwen; Path=/; HttpOnly') 

2、CSRF

CSRF(Cross Site Request Forgery),跨站请求伪造。

通过特殊方式,诱导我们在恶意网址中请求我们目标地址。会把我们的 cookie 一并携带。如果 hack 对我们请求参数做了手脚,则会伪造身份进行操作。

  • 利用用户登录态
  • 伪造业务请求
  • 冒充用户发帖

检查请求方,是否是我们白名单

3、clickjacking

点击劫持,通过嵌入iframe并通过某种方式隐藏。欺骗用户点击按钮发送信息。

设置请求头,不允许 iframe 嵌入。

  • DENY 不允许
  • SAMEORIGIN 同域名允许
  • ALLOW-FROM 允许指定来源
ctx.set('X-FRAME-OPTIONS', 'DENY') 

通过 js 脚本,判断网站是否被嵌套。如果嵌套了就把内容清空隐藏。

4、SQL注入

通过组装条件,使连接 sql 查询时。满足不应该满足的条件,从而获取数据。

使用库,将 sql 语句进行转义并处理后执行。

5、OS命令注入

与 SQL 注入类似,都是组装命令从而执行恶意内容。

6、请求劫持

在 DNS 解析的时候,引导用户访问错误的结果。

这个最简单的方法是升级 https

7、常见攻击方式

我们都知道 TCP 有三次握手。通过大量的连接,每次连接都不完成三次,时TCP连接处于等待下一次握手的状态。达到耗尽目标资源。

通过大量的访问,导致服务器处理不过来瘫痪。

原文链接:https://www.jianshu.com/p/e39fe69083b3

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

(0)
上一篇 2023年12月16日
下一篇 2023年12月16日

相关推荐

发表回复

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

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