第一届长城杯初赛部分wp(个人解题思路)

2024-04-05 23:12

本文主要是介绍第一届长城杯初赛部分wp(个人解题思路),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

Black web

babyrsa2

APISIX-FLOW

cloacked


本人不是很擅长ctf,这只是我自己做出的西部赛区部分题的思路,仅供参考

Black web

image-20240330171200172

访问http://192.168.16.45:8000/uploads/1711779736.php

蚁剑连接

访问/var/www/html/u_c4nt_f1nd_flag.php

image-20240330171218786

babyrsa2

打开modulus

C2636AE5C3D8E43FFB97AB09028F1AAC6C0BF6CD3D70EBCA281BFFE97FBE30DD

十六进制转十进制,

image-20240330170631084

然后用factordb.com平台

image-20240330170800701

得到pq与e编写脚本,即得到公钥解出私钥,再进行常规解密即可。

from Crypto.Util.number import *
​
import gmpy2
​
from Crypto.PublicKey import RSA
​
flag_file='/Users/apple/Desktop/babyrsa/flag.enc'
p=275127860351348928173285174381581152299
​
q=319576316814478949870590164193048041239
​
e=65537
​
N=p*q
​
phi_n=(p-1)*(q-1)
​
d=gmpy2.invert(e,phi_n)
​
​
with open(flag_file,'rb') as file :cip=file.read()
cip_text=bytes_to_long(cip)
​
print(cip_text)
m=pow(cip_text,d,N)
​
print(long_to_bytes(m))

得到flagflag{i'mdidi???}

APISIX-FLOW

用wirshark打开,首先搜索http的tcp流量,找到输入的cmd命令,说明会有攻击响应

image-20240330175019514

这个应该是靶机的流量抓取,找到21195

image-20240330171430689

然后找到text回应base32解码

image-20240330171624754

cloacked

看模板发现字符串冗余

image-20240330174115609

另存为文件放进puzzlesolve里面匹配文件头

回显

[*]File-Format执行完毕!
[-]Byxs20为您温馨提示:正在进行文件匹配中...[-]开始检测文件头尾:
类型:GZ(.gz.tar.gz),对比文件头: 1F8B,文件头相似度: 1.0类型: RARy1.5 onwards(.rar),对比文件头:526172211A0700,文件头相似度: 0.5714类型: RARv1.5 onwards(.rar),对比文件尾:C43D7B00400700,文件尾相似度: 1.0
[-开始取反文件头尾:
[-没有异或到符合的文件头和文件尾!
[-]开始异或文件头尾:
[-没有异或到符合的文件头和文件尾!

首先,发现文件的头部只有一半正确,但是尾部是完全正确的。

我们需要将文件头的前6个十六进制字符替换为正确的字符,这样就能获得一个正确的RAR文件。

接下来,我们使用密码爆破工具,尝试4到8位纯数字密码,最终找到密码为88488。解压RAR文件后,进行CRC爆破,以获取原始图片。

最后,我们获得了flag。

这篇关于第一届长城杯初赛部分wp(个人解题思路)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/878401

相关文章

JAVA利用顺序表实现“杨辉三角”的思路及代码示例

《JAVA利用顺序表实现“杨辉三角”的思路及代码示例》杨辉三角形是中国古代数学的杰出研究成果之一,是我国北宋数学家贾宪于1050年首先发现并使用的,:本文主要介绍JAVA利用顺序表实现杨辉三角的思... 目录一:“杨辉三角”题目链接二:题解代码:三:题解思路:总结一:“杨辉三角”题目链接题目链接:点击这里

透彻!驯服大型语言模型(LLMs)的五种方法,及具体方法选择思路

引言 随着时间的发展,大型语言模型不再停留在演示阶段而是逐步面向生产系统的应用,随着人们期望的不断增加,目标也发生了巨大的变化。在短短的几个月的时间里,人们对大模型的认识已经从对其zero-shot能力感到惊讶,转变为考虑改进模型质量、提高模型可用性。 「大语言模型(LLMs)其实就是利用高容量的模型架构(例如Transformer)对海量的、多种多样的数据分布进行建模得到,它包含了大量的先验

poj 2976 分数规划二分贪心(部分对总体的贡献度) poj 3111

poj 2976: 题意: 在n场考试中,每场考试共有b题,答对的题目有a题。 允许去掉k场考试,求能达到的最高正确率是多少。 解析: 假设已知准确率为x,则每场考试对于准确率的贡献值为: a - b * x,将贡献值大的排序排在前面舍弃掉后k个。 然后二分x就行了。 代码: #include <iostream>#include <cstdio>#incl

三相直流无刷电机(BLDC)控制算法实现:BLDC有感启动算法思路分析

一枚从事路径规划算法、运动控制算法、BLDC/FOC电机控制算法、工控、物联网工程师,爱吃土豆。如有需要技术交流或者需要方案帮助、需求:以下为联系方式—V 方案1:通过霍尔传感器IO中断触发换相 1.1 整体执行思路 霍尔传感器U、V、W三相通过IO+EXIT中断的方式进行霍尔传感器数据的读取。将IO口配置为上升沿+下降沿中断触发的方式。当霍尔传感器信号发生发生信号的变化就会触发中断在中断

HomeBank:开源免费的个人财务管理软件

在个人财务管理领域,找到一个既免费又开源的解决方案并非易事。HomeBank&nbsp;正是这样一个项目,它不仅提供了强大的功能,还拥有一个活跃的社区,不断推动其发展和完善。 开源免费:HomeBank 是一个完全开源的项目,用户可以自由地使用、修改和分发。用户友好的界面:提供直观的图形用户界面,使得非技术用户也能轻松上手。数据导入支持:支持从 Quicken、Microsoft Money

Jenkins 插件 地址证书报错问题解决思路

问题提示摘要: SunCertPathBuilderException: unable to find valid certification path to requested target...... 网上很多的解决方式是更新站点的地址,我这里修改了一个日本的地址(清华镜像也好),其实发现是解决不了上述的报错问题的,其实,最终拉去插件的时候,会提示证书的问题,几经周折找到了其中一遍博文

分布式系统的个人理解小结

分布式系统:分的微小服务,以小而独立的业务为单位,形成子系统。 然后分布式系统中需要有统一的调用,形成大的聚合服务。 同时,微服务群,需要有交流(通讯,注册中心,同步,异步),有管理(监控,调度)。 对外服务,需要有控制的对外开发,安全网关。

Java IO 操作——个人理解

之前一直Java的IO操作一知半解。今天看到一个便文章觉得很有道理( 原文章),记录一下。 首先,理解Java的IO操作到底操作的什么内容,过程又是怎么样子。          数据来源的操作: 来源有文件,网络数据。使用File类和Sockets等。这里操作的是数据本身,1,0结构。    File file = new File("path");   字

笔记整理—内核!启动!—kernel部分(2)从汇编阶段到start_kernel

kernel起始与ENTRY(stext),和uboot一样,都是从汇编阶段开始的,因为对于kernel而言,还没进行栈的维护,所以无法使用c语言。_HEAD定义了后面代码属于段名为.head .text的段。         内核起始部分代码被解压代码调用,前面关于uboot的文章中有提到过(eg:zImage)。uboot启动是无条件的,只要代码的位置对,上电就工作,kern

LeetCode 第414场周赛个人题解

目录 Q1. 将日期转换为二进制表示 原题链接 思路分析 AC代码 Q2. 范围内整数的最大得分 原题链接 思路分析 AC代码 Q3. 到达数组末尾的最大得分 原题链接 思路分析 AC代码 Q4. 吃掉所有兵需要的最多移动次数 原题链接 思路分析 AC代码 Q1. 将日期转换为二进制表示 原题链接 Q1. 将日期转换为二进制表示 思路分析