AuthLab通关记录
一个在线的权限靶场:https://authlab.digi.ninja/
靶场内容比较简单,包括了JWT以及一些基本情况的权限Bypass
IP Based Auth Bypass
该关卡根据提示有一个ip在192.168.0.100-200范围里可以直接bypass
拦截请求包修改X-Forwarded-For爆破即可,最终知道ip为192.168.0.14
Timing Attacks
该关卡是判断用户名存不存在,直接字典爆破根据时间判断即可。一共存在四个用户
Client Side Auth
该关卡在前端JS做了认证校验,因为发包都拦截不到[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传
如下clientside.js做了校验
看一下xorString (concat, secret)输出了什么
输出了一段类似username:password的字符串
sid:ThisIsLongSecurePassword
尝试登录,登录成功
Leaky JWT
该关卡给了一段JWT
对该段密文尝试解密,可手动base64解密或使用工具
在线解密
在JWT的payload部分存在username和password
其中password又进行了md5加密,对其进行解密
尝试joe:Password1登录,登录成功
CVE-2019-7644 - JWT Signature Disclosure
该关卡给了JWT让我们以管理员身份登录
给的JWT,更改level为admin
得到新的JWT
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJsZXZlbCI6ImFkbWluIiwidXNlciI6InNpZCJ9.9BimtJvIH0zI1HY6bTEcgErftlYqtU5G4d021xVd8YA
带着新JWT登录报了异常,在异常中泄露了签名
替换泄露的签名
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJsZXZlbCI6ImFkbWluIiwidXNlciI6InNpZCJ9.FO8ZDKSDNVnt_VB3f35_ofEMGFDTrv0dVo8hjGXDtn8
成功登录
JWT None Algorithm
该关卡需要用到bp的插件
在burp中发现存在JWT的url
发送重发器利用插件将算法改为none
none类型不被允许
换成None类型成功以admin身份登录
User Agents
修改User-Agent为authlab desktop app