Web安全之XSS、CSRF和JWT

访客6年前黑客资讯1375

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 安全攻防技能 几种常用的认证机制

相关文章

Chafer运用的新的根据Python的有效载荷MechaFlounder

2019年11月,Chafer要挟小组针对土耳其政府从头运用他们在2019年早些时候运用的基础设施(Clearsky报导的活动中),特别是域名win10-update [.] com。尽管咱们没有见到...

浏览器进犯结构BeEF Part 1

笔者发现国内很少有体系介绍BeEF结构的文章,所以笔者决议写一个系列。内容触及进犯浏览器的技能,首要介绍这些技能的原理,并怎么操作BeEF来完成,不触及浏览器自身缝隙(门槛太高,笔者有心无力)。 准备...

某HR业务网站逻辑漏洞挖掘案例以及POC编写思路分享-黑客接单平台

东西预备 BurpSuiteFree (或许咱们最喜爱最常用的抓包神器,需求Java环境); 火狐浏览器(个人比较喜爱的浏览器;360/Chrome等浏览器都能够); SwitchyOmega插件(设...

针对非Webapp测验的Burp技巧(二):扫描、重放

在本系列连载的第一节中,笔者谈到了关于burp对非webapp的功用测验。原本我只想写点东西共享出来,并没想到会扯出那么多。现在嘛,我还会持续写下去。 在这一节中,我会讲一讲: Target >...

为什么干流网站无法捕获 XSS 缝隙?

 二十多年来,跨站脚本(简称 XSS)缝隙一直是干流网站的心头之痛。为什么过了这么久,这些网站仍是对此类缝隙束手无策呢? 关于最近 eBay 网站曝出的跨站脚本缝隙,你有什么主意?为什么会呈现这样的漏...