简介
原题复现:https://github.com/CTFTraining/zjctf_2019_final_web_nizhuansiwei/
考察知识点:逻辑漏洞、JWT伪造、python反序列化
线上平台:https://buuoj.cn(北京联合大学公开的CTF平台) 榆林学院内可使用信安协会内部的CTF训练平台找到此题
简介
打开看信息 看到这一块
结合下方产品列表 大致看了下有500个分页 写了个py找V6!!!
import requests from bs4 import BeautifulSoup for i in range(1,500): url="http://3e78514d-0c20-4179-a892-cab68cf70145.node3.buuoj.cn/shop?page="+str(i) r=requests.get(url) soup=BeautifulSoup(r.content,'lxml') title_all=soup.find_all(name='img',attrs={'src':'/static/img/lv/lv6.png'}) if(title_all): print(i)
找到购买时钱不够 有个逻辑漏洞修改折扣为0.0000000008这样钱就够了!
问题又来了.......
看wp这里使用JWT伪造 先学一下JWT
JWT基础可以看这里:https://www.cnblogs.com/xhds/p/12457560.html
我们可以在cookie中查看道我们的jwt数据
复制到https://jwt.io 可以解码出
使用爆破工具:https://github.com/brendan-rius/c-jwt-cracker 将jwt输入进去
apt-get install libssl-dev
./jwtcrack eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6InhpYW9odWEifQ.mHz9WWHjK3gwe0S6q_VFTdh2sFry4WLZxjUs7vpGygw
可以爆出密钥 我们输入进去将 payload 里面的username改成admin signature里面改成1kun 即可得到新的JWT
通过浏览器或者BP提交 之后点击一键成为大会员
简介
111
简介
111