2022DASCTF Apr X FATE 防疫挑战赛个人Writeup

2024-01-23 23:08

本文主要是介绍2022DASCTF Apr X FATE 防疫挑战赛个人Writeup,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

这次下午有事,上午做了两道就溜了,简单记录一下。

文章目录

  • Crypto
    • easy_real
  • Misc
    • SimpleFlow
    • 冰墩墩
    • 熟悉的猫
  • Web
    • warmup-php

Crypto

easy_real

读题目代码:

import random
import hashlibflag = 'xxxxxxxxxxxxxxxxxxxx'
key = random.randint(1,10)
for i in range(len(flag)):crypto += chr(ord(flag[i])^key)
m = crypto的ascii十六进制
e = random.randint(1,100)
print(hashlib.md5(e))
p = 64310413306776406422334034047152581900365687374336418863191177338901198608319
q = xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
n = p*q
c = pow(m,e,n)
print(n)
print(c)
#37693cfc748049e45d87b8c7d8b9aacd
#4197356622576696564490569060686240088884187113566430134461945130770906825187894394672841467350797015940721560434743086405821584185286177962353341322088523
#3298176862697175389935722420143867000970906723110625484802850810634814647827572034913391972640399446415991848730984820839735665233943600223288991148186397

逻辑比较简单,这里简单说一下思路:

  1. e的取值只有100种可能,直接暴力破解MD5值,得e的值为23
  2. n的值不算太大,直接分解可得pq
  3. key的值也只有10种可能,且单独作用flag的每一位,直接暴力破解

EXP如下:

import hashlib
from Crypto.Util.number import *
import gmpy2e = 23
assert hashlib.md5(str(e).encode()).hexdigest()=='37693cfc748049e45d87b8c7d8b9aacd'p = 64310413306776406422334034047152581900365687374336418863191177338901198608319
q = 65267138038038699886916162739434586079731613825212388229424706115289974540917
n = 4197356622576696564490569060686240088884187113566430134461945130770906825187894394672841467350797015940721560434743086405821584185286177962353341322088523
assert p*q == nc = 3298176862697175389935722420143867000970906723110625484802850810634814647827572034913391972640399446415991848730984820839735665233943600223288991148186397phi = (p-1) * (q-1)
d = gmpy2.invert(e, phi)
# 3102394025382775721579985827463742674392660040462144012428394227091539827312695734394149699485056174680299762849346557164285852236056111101795024023129039m = pow(c, d, n)
# 2976168736142380455841784134407431434784057911773423743751382131043957crypto = long_to_bytes(m).decode()
for key in range(1,11):for s in crypto:num = ord(s)print(chr(num^key),end='')print()

Misc

SimpleFlow

流量分析题,打开文件查看http报文,根据报文特征得知是蚁剑。
看到某一个目录下存在一个flag.zip文件。
继续往后翻,定位到最后一个报文,返回了压缩文件的内容。
在这里插入图片描述

保存下来报文数据,提示一下

  1. 要保存报文的原始二进制数据,而不是字符流数据。
  2. 前面的eb327956是蚁剑生成的随机字符,需要去掉,否则压缩包文件头是错误的。后面对应也有一串,不过文件尾问题不大,可以保留。

保存下来以后发现解压需要密码,尝试爆破无果,遂继续往上翻流量。

发现他是压缩了flag.txtflag.zip里,定位到一个报文。

在这里插入图片描述
解Base64编码,经过信息收集,可得知需要去除开头两个字符:

$p=base64_decode(substr($_POST["o1faebd4ec3d97"],2));

g479cf6f058cf8的值按照如上规则解码得:

cd "/Users/chang/Sites/test";zip -P PaSsZiPWorD flag.zip ../flag.txt;echo [S];pwd;echo [E]

因此压缩包密码为PaSsZiPWorD,解压即可得到flag。

冰墩墩

这个赛后复现的,单独开一篇吧。
2022DASCTF Apr X FATE 防疫挑战赛——【Misc】冰墩墩

熟悉的猫

2022DASCTF Apr X FATE 防疫挑战赛——【Misc】熟悉的猫

Web

warmup-php

2022DASCTF Apr X FATE 防疫挑战赛——【Web】warmup-php

这篇关于2022DASCTF Apr X FATE 防疫挑战赛个人Writeup的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

智能客服到个人助理,国内AI大模型如何改变我们的生活?

引言 随着人工智能(AI)技术的高速发展,AI大模型越来越多地出现在我们的日常生活和工作中。国内的AI大模型在过去几年里取得了显著的进展,不少独创的技术点和实际应用令人瞩目。 那么,国内的AI大模型有哪些独创的技术点?它们在实际应用中又有哪些出色表现呢?此外,普通人又该如何利用这些大模型提升工作和生活的质量和效率呢?本文将为你一一解析。 一、国内AI大模型的独创技术点 多模态学习 多

六西格玛培训公司:解锁成功之门,让企业与个人共赴“嗨”途

在竞争激烈的21世纪,六西格玛培训公司手握一把神奇的钥匙,帮助企业及个人轻松开启成功的大门。 对企业来说: 产品质量飞跃:不再是偶尔的精品,而是每个产品都如同精雕细琢的艺术品,吸引无数顾客争相购买。 工作流程优化:六西格玛培训如同精准的剪刀,剪去冗余,让工作流程更加顺畅高效。 客户满意度飙升:深谙客户需求的六西格玛,帮助企业精准把握市场脉搏,让每位客户都感受到宾至如归的满意。 战略转型游刃有

写一个坏越的个人天地(二)

小红书上搜了下博客,感觉好像没有让自己喜欢的。昨天刚好学了点grid布局,来试试 菜单栏直接使用el-menu 下边布局就用grid局部了,这块初步想法是轮播+你的天气和我的天气+自我介绍 天气的话,这边要先找一下有没有天气的api 我这边百度搜了个聚合的api,一天可以免费调用50次,应该是够了吧~要用代理,不然会报cors import axios from 'axios

个人博客文章目录索引(持续更新中...)

文章目录 一、Java基础二、Java相关三、MySql基础四、Mybatis基础及源码五、MybatisPlus基础六、Spring基础及源码七、Tomcat源码八、SpringMVC基础及源码   随着文章数量多起来,每次着急翻找半天,而是新申请的域名下来了,决定整理下最近几年的文章目录索引。(红色标记为常检索文章) 一、Java基础 1、Java基础(一):语言概述2、J

6月21日训练 (东北林业大学)(个人题解)

前言:   这次训练是大一大二一起参加的训练,总体来说难度是有的,我和队友在比赛时间内就写出了四道题,之后陆陆续续又补了了三道题,还有一道题看了学长题解后感觉有点超出我的能力范围了,就留给以后的自己吧。话不多说,上正文。 正文:   Problem:A 幸运数字: #include <bits/stdc++.h>using namespace std;int sum,ans;in

从零开始搭建一个酷炫的个人博客

效果图 一、搭建网站 git和hexo准备 注册GitHub本地安装Git绑定GitHub并提交文件安装npm和hexo,并绑定github上的仓库注意:上述教程都是Windows系统,Mac系统会更简单! 域名准备 购买域名,买的是腾讯云域名,购买完成之后的域名管理解析域名域名备案 二、优化网站 使用的Fluid主题,Hexo Fluid 用户手册 增加图床,图片可以放在g

利用阿里云服务器建立简单的个人博客

感谢阿里云9.9服务器学生计划,让我有机会实现自己小时候的梦想。为了能够写出这篇教程,我就默默把服务器(Ubuntu14.04 64位)重置了,从头开始。你可以查看下网页效果。 克隆git远程库 由于服务器刚刚重置,属于全新的,所以没有装git。 ~# sudo apt-get update #获取最新软件包~# sudo apt-get upgrade # 执行更新操作。~# sudo

通过 cloudflare 白嫖个人 docker 镜像加速服务

不知为何,现在大多数的 docker hub 镜像加速站都停止服务,而官方站点又因某些原因访问不到或延迟很高。所以,今天来记录一种通过 CloudFlare 搭建一个自己的镜像加速服务。 0、必看!!! 注意: 此方案需要有域名才行,后续需要给域名绑定到 Cloudflare,建议直接在腾讯云-域名注册上面搞一个,选最便宜的就行。 1、注册 cloudflare 进入官网,自行进

八爪鱼现金流-028,个人网站访问数据统计分析,解决方案

个人网站访问数据统计分析,解决方案 调研 结论:使用百度统计 步骤 1.注册百度统计 2.获取安装代码 3.在项目中,页面代码添加如下片段 <script>var _hmt = _hmt || [];(function() {var hm = document.createElement("script");hm.src = "https://hm.baidu.com/hm.js?x

【总结】个人推荐的接口测试工具和接口性能/压力测试工具

一般接口有2种测试,现在很多是模糊了这个,但是如果细分。一般还要写《接口测试用例》和《接口性能测试用例》。同样,也分接口测试报告和接口性能测试报告。 接口的本质及其工作原理 接口你可以简单的理解他就是URL,工作原理就会说URL通过get或者post请求像服务器发送一些东西,然后得到一些相应的返回值,本质就是数据的传输与接收。 接口测试 是测试系统组件间接口的一种测试。接口测试主要用于检测外