Web安全之XSS、CSRF和JWT

访客5年前黑客资讯1315

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

相关文章

PHP中该怎样避免SQL注入?

问题描述: 假如用户输入的数据在未经处理的情况下刺进到一条SQL查询句子,那么运用将很可能遭受到SQL注入进犯,正如下面的比如: $unsafe_variable = $_POST['user_in...

浏览器进犯结构BeEF Part 4:绕过同源战略与浏览器署理

从这一章开端,正式进入了进犯阶段。BeEF供给了很多的进犯模块,能够直接运用。除了已有的模块,BeEF还供给了API,能够运用API来自行开发新的进犯模块。这一章,要介绍怎么绕过同源战略,还会介绍Be...

javaweb的常见web缝隙

 0x01 前语 材料来历: http://javaweb.org/?p=567 http://zone.wooyun.org/content/19379 http://drops.wooyun.or...

百度浏览器的隐私安全问题剖析

首要发现 百度阅读器是微柔和安卓渠道上的一种网络阅读器,个人用户在向服务器传输数据时进行加密,就算加密了也很简略被解密。阅读器更新时或许很轻易地被中心攻击者运用,履行恣意代码。 安卓版别的百度阅读器...

如何在AIX和Power架构上运行Metasploit Framework-黑客接单平台

本文将向咱们介绍如安在AIX和Power架构上运转Metasploit结构,这关于那些想要测验在这些架构上运转Metasploit的人可能会有所协助(至少现在我还没有在网上发现关于这方面的教程内容)。...

TA505在最新攻击活动中使用HTML, RAT和其他技术-黑客接单平台

TA505以运用歹意垃圾邮件和不同的歹意软件来进犯金融安排和零售企业而臭名远扬。研究人员在曩昔2个月检测到与TA505相关的进犯活动。在该安排的最近活动中,运用了HTML附件来传达歹意XLS文件,XL...