ctf题型分类:
1.CTF—Python—支付逻辑&JWT&反序列化:
题目:2019 CISCN 华北赛区Day1 Web2(全国大学生信息安全竞赛)
先写个爆破请求脚本,爬取请求到内容页面哪个存在lv6图片,得到在181页:
或者这个脚本,都可以:
import requests
url = "http://web44.buuoj.cn/"
for i in range(1, 2000):
r = requests.get(url + "shop?page=" + str(i))
if r.text.find("lv6.png") != -1:
print(i)
break
逻辑漏洞,前端修改折扣值以可以购买。提示不再是不可购买,而是需要admin用户购买,涉及到越权漏洞,此时能想到sql注入、弱口令登录admin或者垂直越权admin,此处用到的是cookie内的jwt令牌解密(https://github.com/brendan-rius/c-jwt-cracker 破解出秘钥),利用jwt.io网站解密jwt可以看到我们的用户名:
利用爆破出的秘钥加上修改username为admin加密后就能伪造成admin