我会永远享受独处和自由
签到:这是一个登录页面
访问/login
抓个包发送,
一眼jwt,用JSON Web Tokens - jwt.io解一下
但是现在我们不知道将这个token放在哪。
当我们查找源码,robots.txt后。
在访问/fulage
那就抓包改成post看看
把Content-Type:application/json
发现要用admin权限。又因为我们不知道密钥,所以我们只能把alg改成none,account改为admin后再编码后发送。
注意最后要有.
这又是一个登录页面
随便登一下
那就访问一下,发现访问不了,根据上一题的思路,应该是没有admin权限。
我们再抓一下包。发现了类似jwt的东西,解一下
发现这题是有密钥的所以按照上一题的做法是不可行的,大胆猜测是密钥泄露,我们在robots.txt中找到了公钥!!!!
这就让我们想到了RS256改为HS256算法了
直接上脚本
const jwt = require('jsonwebtoken');
const fs = require('fs');
var privateKey = fs.readFileSync('public.key');
// console.log(privateKey);
var token = jwt.sign({ 'account': '@dministr@t0r' }, privateKey, { algorithm: 'HS256' });
console.log(token)
最终得到
将这个token发送以下即可
绝对安全的系统
注册后登录进去,可以在setting里查看个人信息。
然后我们可以看到url里有个id我们可以试着改一下看看,
所以我们可以大胆推断出,这个id可以查看用户信息。那我们就可以爆破一下,看看那个可以查询到。
爆破到了id=234有回显
这样我们的思路就打开了,我们可以用234id更改这个账号的密码从而登陆进去。