Web安全之XSS、CSRF和JWT

访客5年前黑客资讯1352

XSS

跨站脚本(Cross-site scripting,一般简称为XSS)是一种网站运用程序的安全漏洞进犯,是代码注入的一种。它答应歹意用户将代码注入到网页上,其他用户在观看网页时就会受到影响。这类进犯一般包含了HTML以及用户端脚本语言。

防护办法

过滤特别字符 运用 HTTP 头指定类型

进一步了解XSS

CSRF

跨站恳求假造(英语:Cross-site request forgery),也被称为 one-click attack 或许 session riding,一般缩写为 CSRF 或许 XSRF, 是一种挟制用户在当时已登录的Web运用程序上履行非本意的操作的进犯办法。

跟跨网站脚本(XSS)比较,XSS 运用的是用户对指定网站的信赖,CSRF 运用的是网站对用户网页浏览器的信赖。

防护办法

查看referer字段 增加校验token

进一步了解CSRF

JWT

*** ON Web Token(JWT)是一个十分轻盈的标准。这个标准答应咱们运用JWT在用户和服务器之间传递安全可靠的信息。

JWT的组成

一个JWT实际上便是一个字符串,它由三部分组成,头部、载荷与签名。

头部(Header)

头部用于描述关于该JWT的最基本的信息,例如其类型以及签名所用的算法等。这也能够被表明成一个 *** ON目标。

{
"typ": "JWT",
"alg": "HS256"
}

在头部指明晰签名算法是HS256算法。 对头部进行[base64编码]得到下面字符串:

eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9

载荷(Payload)

{ "iss": "Online JWT Builder",
  "iat": 1416797419,
  "exp": 1448333419,
  "aud": "www.example.com",
  "sub": "jrocket@example.com",
  "GivenName": "Johnny",
  "Surname": "Rocket",
  "Email": "jrocket@example.com",
  "Role": [ "Manager", "Project Administrator" ]
}
iss: 该JWT的签发者,是否运用是可选的; sub: 该JWT所面向的用户,是否运用是可选的; aud: 接纳该JWT的一方,是否运用是可选的; exp(expires): 什么时分过期,这里是一个Unix时刻戳,是否运用是可选的; iat(issued at): 在什么时分签发的(UNIX时刻),是否运用是可选的;

其他还有:

nbf (Not Before):假如当时时刻在nbf里的时刻之前,则Token不被承受;一般都会留一些地步,比方几分钟;,是否运用是可选的;

将上面的 *** ON目标进行[base64编码]能够得到下面的字符串。这个字符串咱们将它称作JWT的Payload(载荷)。

eyJpc3MiOiJKb2huIFd1IEpXVCIsImlhdCI6MTQ0MTU5MzUwMiwiZXhwIjoxNDQxNTk0NzIyLCJhdWQiOiJ3d3cuZXhhbXBsZS5jb20iLCJzdWIiOiJqcm9ja2V0QGV4YW1wbGUuY29tIiwiZnJvbV91c2VyIjoiQiIsInRhcmdldF91c2VyIjoiQSJ9

签名(Signature)

将上面的两个编码后的字符串都用句号.衔接在一起(头部在前),就形成了:

eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJmcm9tX3VzZXIiOiJCIiwidGFyZ2V0X3VzZXIiOiJBIn0

最终,咱们将上面拼接完的字符串用HS256算法进行加密。在加密的时分,咱们还需要供给一个密钥(secret)。假如咱们用mystar作为密钥的话,那么就能够得到咱们加密后的内容:

rSWamyAYwuHCo7IFAgd1oRpSP7nzL7BF5t7ItqpKViM

最终将这一部分签名也拼接在被签名的字符串后边,咱们就得到了完好的JWT:

eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJmcm9tX3VzZXIiOiJCIiwidGFyZ2V0X3VzZXIiOiJBIn0.rSWamyAYwuHCo7IFAgd1oRpSP7nzL7BF5t7ItqpKViM

认证进程

登录

恳求认证

了解更多

参阅文章:

Web 安全概念 跨站脚本- *** 跨站恳求假造- *** *** ONP 安全攻防技能 几种常用的认证机制

相关文章

运用Docker建立Web缝隙测验环境

因为一向在做 Web 缝隙扫描器的开发, 那么就必定少不了 Web 的缝隙测验环境, 其中就包含 bWAPP、DVWA、OWASP WebGoat 等这些国际品牌。 这些缝隙环境一般建立比较繁琐, 并...

恣意用户暗码重置(五):重置凭据可暴破

在逻辑缝隙中,恣意用户暗码重置最为常见,或许出现在新用户注册页面,也或许是用户登录后重置暗码的页面,或许用户忘掉暗码时的暗码找回页面,其间,暗码找回功用是重灾区。我把日常浸透过程中遇到的事例作了缝隙成...

恣意用户暗码重置(三):用户混杂

在逻辑缝隙中,恣意用户暗码重置最为常见,或许出现在新用户注册页面,也或许是用户登录后重置暗码的页面,或许用户忘掉暗码时的暗码找回页面,其间,暗码找回功用是重灾区。我把日常浸透过程中遇到的事例作了缝隙成...

好用的Google缝隙爬虫:Google Mass Explorer

这是一款根据谷歌搜索引擎的自动化爬虫。 爬虫介绍 爬虫大体机制便是: 先进行一次谷歌搜索,将成果解析为特定格局,然后再提供给exp运用。 我们能够测验运用–help来列出一切参数。 这个项目笔者会持...

技能共享:几种常见的JavaScript混杂和反混杂东西剖析实战

信息安全常被描述成一场军备竞赛,白帽与黑帽,浸透测验者与黑客,善与恶,本文将聚集这场永无止境决战中的一个小点。 HTML5 & JS 运用中充满着对输入进行验证/注入的问题,需求开发人员一直...

怎么全面防护Webshell(上)?

 事实上,互联网上每时每刻都在上演着进犯和防护,本文将会要点的深化剖析一下其间一个非常重要的类型:webshell。 初识webshell 接下来将演示3种黑客是怎么用力浑身解数将webshell上传...