【基础入门-13】网站协议&身份鉴权&OAuth2安全&Token令牌&JWT值&Authirization标头

HTTP/HTTPS

加密方式

HTTP:使用明文传输,HTTP协议,数据在传输过程中可以被任何人截获和查看。

HTTPS:通过SSL/TLS协议对数据进行加密,确保数据在传输过程中不被第三方截获和篡改。

身份验证

HTTP:不需要进行身份验证,任何人都可以访问网站。

HTTPS:通过数字证书和SSL/TLS协议验证服务器的身份,防止”中间人攻击“。

端口号

HTTP:默认使用80端口。

HTTPS:默认使用443端口,提供更高的安全性。


身份验证鉴权技术

主流技术

  • Cookie
  • Session
  • Token
  • JWT
  • OAuth2

参考:https://mp.weixin.qq.com/s/Z6rt_ggCA8dNVJPgELZ44w

应用场景

Cookie+Session:简单,建议在内网使用;

Token:相对完善,推荐在跨域外网使用;

JWT:推荐使用,常用在SSO单点登录中;

OAuth:灵活方便,对于第三方系统登录更友好。


OAuth2技术

概念

授权框架,使网站和Web应用程序能够请求对另一个应用上的用户帐户进行有限访问。至关重要的是,OAuth允许用户授予此访问权限,而无需向请求应用程序公开其登录凭据。这意味着用户可以微调他们想要共享的数据,而不必将其帐户的完全控制权移交给第三方。引用第三方登陆,如:QQ、微信、微博登陆

四种验证模式

  • authorization_code 授权码模式
  • implicit code 简单模式
  • password 密码模式
  • client_credentials 客户端模式

安全漏洞问题:

例:

GET /connect/qrconnect?
  appid=wx37495c112bb46471          ← client_id(微信 AppID ev应用)
  &scope=snsapi_login               ← 请求的权限范围
  &redirect_uri=https://vip.ieway.cn/wxweb?page=/evplayer.html  ← 回调地址,跳转地址
  &state=abc123                     ← 防 CSRF 的随机串
  &login_type=jssdk&self_redirect=default&...

GET /wxweb?page=/evplayer.html
  &code=011zmzFa1KunvM0LM5Ia1VRUuq3zmzFx   ← 授权码
  &state=abc123                             ← 原样带回
参数作用对应 OAuth2 概念
appid微信分配给客户端的唯一标识client_id
scope申请获取用户哪些信息scope
redirect_uri授权成功后跳回哪里redirect_uri
state随机串,回来时要原样带回state
  • redirect_url 校验不严格导致code被劫持到恶意网站(fuzz各种bypass方式) redirect_uri=xiaodi8.com?code=011zmzFa1KunvM0LM5Ia1VRUuq3zmzFx 劫持用户,授权码请求官方获取用户权限
  • client_id与redirect_url 不一致造成滥用劫持
  • A应用生成的code可以用在B应用上
  • state未设置csrf防护,导致csrf风险
  • scope提权,将低scope权限的code用于高权限场景 scope=all all权限,接管用户
  • HTTP劫持,网络层中间人攻击(少见)
  • 点击劫持(少见):通过点击劫持,恶意网站会在以下位置加载目标网站: 透明 iFrame(参见 [ iFrame ])覆盖在一组虚拟的顶部 精心构造的按钮直接放置在 目标站点上的重要按钮。当用户单击可见的 按钮,他们实际上是在单击一个按钮(例如“授权” 按钮)在隐藏页面上。

案例:https://mp.weixin.qq.com/s/Bht-vvsXSl8Ios8X74-q3g


Authorization头

WWW-Authenticate Response响应标头 && Authenticate Request请求标头

参考:https://juejin.cn/post/7300812626279251987‘

授权方案:

  • Basic认证 弹窗要求账号密码登陆 fofa语法:”WWW-Authenticate”
  • Digest认证
  • Bearer认证
  • JWT认证
  • API密钥认证
  • 双因素认证
  • 其他一些认证方式

安全漏洞问题

JWT攻防,Token劫持等


本节知识点&思维导图

网站协议-http/https安全差异(抓包)

身份鉴权-HTTP头&OAuth2&JWT&Token

十二亿七千光年
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇