ctf随笔(3)性格荷官,在线XX

这次遇到的题是一个猜数字的题,猜对了才有足够的积分换flag,这次涉及到php松散比较,githack

一开始就是普通的简介,猜七个数字,全中了就轮船酒吧,猜不对就种田回家

这就是万恶的赌博网站

登录名啥的随便写写就好了,不影响之后的操作,进去后就可以开始玩耍

性感荷官,在线猜数字
在这里插入图片描述很明显,这种乱猜就像猴子排序一样不靠谱,不知道猜到下辈子能不能拿到flag

这时候,我注意到上方有home,buy,account claim your prize这几个选项,前几个没什么大用,最后一个直接告知了你要买flag需要多少钱,就算拿了最高奖也得拿两次才行

在这里插入图片描述遇到这种网站习惯性的康康cookie和robots,然后就发现了这个

在这里插入图片描述看到这个就知道试试Githack了

githack成功之后康康有什么有意思的收获
在这里插入图片描述
又是漫长的代码审计,看了这么久也就那个api.php有用,还好筛了一下(感谢writeup大佬的指点),要不然会看吐,最后就是以下两个代码段有用
在这里插入图片描述看到这个提示就知道有东西搞了,最后这个随机数函数的返回值用了strval()
strval() — 获取变量的字符串值。
这个随机数弄到最后是字符串,莫不是有迹可循
再看下面的代码就明白了
在这里插入图片描述
numbers是用户输入的,另一个则是随机函数弄出来的,关键用的还是松散比较,我输入个true,只要对面随机出来的不是0,那就是对的,当然,从网页里是没办法输入true的,还是继续抓包改包叭
在这里插入图片描述

在这里插入图片描述结果还行叭
最后多重复几下钱够了就可以get到flag了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
21点扑克是一款经典的纸牌游戏,在面向对象设计时,我们需要考虑如何将这个游戏分解成不同的对象,并让它们之间能够相互交互。首先,我们可以创建一个扑克牌的类,表示一副扑克牌,包括花色和点数。然后,我们可以创建一个玩家的类,表示游戏中的每个玩家,包括他们的手牌和得分。接下来,我们可以创建一个荷官的类,表示游戏中的庄家,负责发牌和计算点数。最后,我们可以创建一个游戏控制器的类,用于处理游戏的流程控制,比如开始游戏、投注和结束游戏等。 在这个设计中,每个对象都有自己的属性和方法,比如扑克牌可以有花色和点数,玩家可以有手牌和得分,荷官可以发牌和计算点数,游戏控制器可以处理游戏的流程控制。这样,我们可以通过各个对象之间的交互来实现21点扑克游戏的逻辑。 另外,我们还可以利用继承和多态的特性来优化设计。比如,扑克牌可以作为一个基类,然后派生出不同花色和点数的扑克牌;玩家和荷官可以作为不同类型的玩家,它们都具有共同的方法,比如抽牌和计算得分,但是具体实现可以有所不同。这样,我们可以更好地组织代码,提高代码的复用性和可维护性。 总的来说,面向对象设计可以帮助我们更好地理解和实现21点扑克游戏,通过分解成不同的对象,并定义它们之间的交互关系,使得代码更加清晰和模块化。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值