HECTF2022

news2024/11/26 15:44:07

今年是第三次参加HECTF,成绩不是很好wp随便看看就好了

文章目录

    • Misc
      • 咦~小鲨鱼来喽
      • 舞者的秘密
      • 你把我flag藏哪去了?
      • 来玩捉迷藏呀
      • 我的手要不行辣
      • 2022HECTF调查问卷
    • Crypto
      • 流动的音符
      • matrix
      • ezrsa
      • mixture
    • Reverse
      • apk
      • 贝斯
      • helloios
      • run
    • Web
      • 迷路的小狮
      • 擎天注
    • Pwn
      • 真·签到

Misc

咦~小鲨鱼来喽

直接打开流量包翻tcp流量即可

在这里插入图片描述

HECTF{i0hate0flow0analysis896}

舞者的秘密

直接爆破压缩包得到密码为456123,接着用GIFFrame分解gif,发现每隔2帧会出现一个字母,手撸得到flag

HECTFLuckForYou

HECTF{LuckForYou}

你把我flag藏哪去了?

docx当中的隐藏文字(base64)+txt中的零宽,得到之后字频

在这里插入图片描述

得到flagkpomijnhuybrvdxezswq{}

结果flag就是中间那一段…

HECTF{kpomijnhuybrvdxezswq}

来玩捉迷藏呀

1010存在lsb隐写,勾选上rgb的最低通道导出

在这里插入图片描述

在这里插入图片描述

我定眼一看,第6~8个字节应该是00,那么常见的符合该格式的应该是50 4b 03 04 14

对比看一下30 37和03 04,37 27 和 04 14,然后搜了一下63 78,正好有3个,因此就锁定该文件为zip,再根据0就是3,3正好也是0,说明是两个字符对调了位置,经过手动转换,可以得到6-5 3-0 4-7 8-b 2-1 ,然后转出来之后还有6个字符未转换,根据文件名为flag.doc能得到最后的对应关系为9-a d-e c-f

最后成功解压得到flag.doc

全选改颜色即可看到flag
在这里插入图片描述

HECTF{hah0ha_Find-Me!!!}

我的手要不行辣

补齐文件头89504e47

然后用非单身几十年的手速手撸

504b0304140009000800ed9a4855c428
548d5c000000c300000008000000666c
61672e7478744fadb48ccc2ef7330619
f15a1afd1c9ce744869f59c1edb7b8d8
48f775608e0e419716ab230c6b64faa0
5404156c9d2cd80ba8e0085ec51ce56a
eea4858e3eb369bbc28cdd16d8671ec7
a94dc582580ae7ab32432afd1866c853
1318504b01021400140009000800ed9a
4855c428548d5c000000c30000000800
24000000000000002000000000000000
66c661672e7478740a00200000000000
010018000864206108dbd801f982b57a
08dbd8017d94304a07dbd801504b0506
00000000010001005a000000820000000000

cyberchef转一手,爆破密码出8686,得到‖♬♩‖¶♯‖♬♭‖♬♫‖♫♪‖♫§‖‖‖‖♩¶♭♭♭‖♬♩‖♬¶‖‖‖‖♬∮♭♭♭‖¶§‖‖♯♭♭♭‖♬♩‖‖♭‖♬♭‖♬♫‖♫♫§=

千千秀字音乐符号转文本得到flag{y0u_fi0d_m2_f1ag}

HECTF{y0u_fi0d_m2_f1ag}

2022HECTF调查问卷

提交问卷即可

HECTF{祝各位师傅玩的开心,期待HECTF2023您的到来}

Crypto

流动的音符

https://www.qqxiuzi.cn/bianma/wenbenjiami.php?s=yinyue

在这里插入图片描述

然后base85 91 92 rot47 xor都不对,猜是变异凯撒,和HECTF相减发现为递增,因此确定为变异凯撒

s = b'EA>N?s:WZgTdPYbMSaYg'
# flag = b'HECTF' #3 4 5 6 7
for i in range(len(s)):
    print(chr(s[i] + i + 3),end='')
HECTF{Caesar_is_fun}

matrix

出题人的flag没删
在这里插入图片描述

HECTF{409bd7db0eb11a54e47eb5d0c9c371900eb11a54e47eb5d02e}

ezrsa

谢邀,只是个misc狗,这种题给我只能当misc做。毕竟还是浅浅接触过简单的crypto,求p和q明显的低加密指数,求一下

e = 2
n = 1677924010415009671349677258549532467848510897335579570922114838282842960143799964694977371357046837674443739542407516581076865550606801686170400793463690366665534118961173768008603133641864003317727610676872685077700753537755254540591236871020140458419596610210236431401477173114522177145982007059709616618279936170223104755776796458682957656555154039384483954754660803554302451221585280396378564648495919069459351016010016636012245082009946238467068412198769348889950331295680906811430325690102055808865038151762131291269197341984605959088829226733422023970618165958725486675321766767430347929319621215891165857544847088373700410007500868721335483070938971597851859953792409442485301373327127595552457801719192824050415833073999094005750868115932130442747899994421453654008731830580286370350900523295205445599466666709544075950517531382971246869745425091317996973135364990272852701046046315136273893166361180330563013617843
c = 24900409366873586425973971191854411152048453357438215578406168704445779543895031579176888535442469919297663892450230816720758414920791049333275007446412352293152157437672026001378469357187698312455020558413101033543700131403373834030395855212901673914686297701313223697181049265286011127188695284002470629178098454764536315245968458622929902214839704674718996340182311301099900271312644919770585429288043854743210617868761990329037081770477261306489047429460937057125193231432195877922731165870197358946683698077175950756482605399815830687563398277515452842563143685190688865084064679712177247354049377034394880941369
#c = 10660749010264526666955869622200514149424664070021154725214604278423033834800955315638637946982741577976025615843487738805576629855459529381681679497064453109727962183277768658053394103348827822686515016677449953958986089293779870089604784750116267441026319440135025236091029928565442799040007751858012409498271852333017388486644053877238274838173771344350870565886676055860728949042361028753924290647753862707042472944714140635484722345522648010064713004854479094986010632316750770118044301903260988074471243247031854872785324506292730778884664223412372663828159205320038546293395502275887356885181013870536857351801

i = 0
while True:
    if gmpy2.iroot((c+i*n),2)[1] == True:#gmpy2.iroot(x,n) x开n次根
        m = gmpy2.iroot((c+i*n),2)[0]
        break
    i += 1

print(m)

求出p和q为(103250903193456504828487797156339600119426718627983781348818507950292820690249893916512022417900899107394861001239868070469917609264344248820063995415895904569850389089119540586899732656654237475843876867794510865961591835076374123380618390848608809256150058832564591055349379924805506351419667057604081135349

157798635503839469752446717651986470734467411686145972950533703965287076311312462611586472586638209970353426866979322760898287139085723568538059792571420311212101255127104335382081281902858421593497990417294935915897371187857482102407324837122921138869143815707149289272669578185431882034384720823115075903787)

同时求出t为n // q // p

然后根据百度搜e和phi不互素 https://www.modb.pro/db/404740

在这里插入图片描述

import gmpy2
import libnum

e = 114
n = 1677924010415009671349677258549532467848510897335579570922114838282842960143799964694977371357046837674443739542407516581076865550606801686170400793463690366665534118961173768008603133641864003317727610676872685077700753537755254540591236871020140458419596610210236431401477173114522177145982007059709616618279936170223104755776796458682957656555154039384483954754660803554302451221585280396378564648495919069459351016010016636012245082009946238467068412198769348889950331295680906811430325690102055808865038151762131291269197341984605959088829226733422023970618165958725486675321766767430347929319621215891165857544847088373700410007500868721335483070938971597851859953792409442485301373327127595552457801719192824050415833073999094005750868115932130442747899994421453654008731830580286370350900523295205445599466666709544075950517531382971246869745425091317996973135364990272852701046046315136273893166361180330563013617843
c = 946358882688806235743551077996671406469185038565566907261383734984318844703303437873183869084536703835433988817350857866089668970925835657856975155167500190428922521871327955274363186305180350899397478897928581580727458938934640786146518171503388507311655160765881370401217708135845031083189007308497775864484758699096082815479602777639307812516934937183952478316508418895341680335172973583094238147073379957772209947376051520041093030641369536800448737539973770258342422560893630082723217759837690008955748444973711508371077927468399703456466637348191192859278206925769696645636969358967735037470196395844215361527039288120664704552775460536654859848091685928057224735031528303041212702445718384890182474053295656578327780048497422707815820736647212902522526653039676698263673166412650104420869762547385554961873764933774143297622712766521201037469301912471740996998228799841957283759679784569638149555093498363791420486340

p = 103250903193456504828487797156339600119426718627983781348818507950292820690249893916512022417900899107394861001239868070469917609264344248820063995415895904569850389089119540586899732656654237475843876867794510865961591835076374123380618390848608809256150058832564591055349379924805506351419667057604081135349
q = 157798635503839469752446717651986470734467411686145972950533703965287076311312462611586472586638209970353426866979322760898287139085723568538059792571420311212101255127104335382081281902858421593497990417294935915897371187857482102407324837122921138869143815707149289272669578185431882034384720823115075903787
t = n // q // p

L = (p-1)*(q-1)*(t-1)
_t = gmpy2.gcd(e,L)
# print(_t)
_e = e // _t
d = gmpy2.invert(_e,L)
_m = pow(c,d,n)
m = gmpy2.iroot(_m,_t)[0]

print(libnum.n2s(int(m)))

得到flag

HECTF{Congratulation!!you_find_flag}

mixture

谢谢,不会密码,在谷歌搜ECC 求k CTF,找到的2021年第五空间,结果一直在用第五空间ECC的part2,当傻逼当完之后发现就是求part1,一直没看原题内容 乐

p=235322474717419
a=0
b=8856682
E = EllipticCurve(GF(p), [a, b])
P=E(180571547161769,227820272156445)
Q=E(76765539897460,69715189045993)
print(P.discrete_log(Q))

在这里插入图片描述

谢谢,我果然不适合做密码,本地跑了十分钟也没出,用在线的秒出
在这里插入图片描述

152675955744921

然后改一手原代码咯

from Crypto.Cipher import AES
import base64
aes_key = b'152675955744921'

def pad(text):
    while len(text) % 16 != 0:
        text += b' '
    return text

def pad_key(key):
    while len(key) % 16 != 0:
        key += b' '
    return key

aes = AES.new(pad_key(aes_key), AES.MODE_ECB)

plain_text = b'bXaw/g8fD7taMjlL/OyqUJluD6dZI5GkZb9RrE5GQk8='

enc_text_b64=base64.b64decode(plain_text)
enc_text = aes.decrypt(pad(enc_text_b64))

print(enc_text)
#HECTF{N0w_you_know_ecc_and_AES!}
HECTF{N0w_you_know_ecc_and_AES!}

Reverse

apk

jadx打开之后资源文件里面找到flag
在这里插入图片描述

HECTF{Apktool_or_jadx}

贝斯

IDA打开,看了下Enc0de码表用的base32,然后编码后进行了取反,因此取反回来解base32即可

s = 'B5 BD BC AA B8 A9 BC B8 AF B1 BA AA B8 CA B3 AC B0 B2 A5 AA CD C9 B4 AB B0 AD AE A7 BA CB A5 AD B1 A5 BD B8 AC CA BB AA B8 B1 A5 BA B0 CB AB B5 B8 B1 AB BC B2 A9 A5 AE B8 B1 C9 AE'.split(' ')
for i in s:
    print(~int(i,16)%256,end=' ')
#74 66 67 85 71 86 67 71 80 78 69 85 71 53 76 83 79 77 90 85 50 54 75 84 79 82 81 88 69 52 90 82 78 90 66 71 83 53 68 85 71 78 90 69 79 52 84 74 71 78 84 67 77 86 90 81 71 78 54 81 

cyberchef

在这里插入图片描述

HECTF{ICurs3MyStars1nBitt3rGri3f&W03}

helloios

开始没找到主逻辑在哪 查文本找到的

在这里插入图片描述

很可疑,直接跟
在这里插入图片描述

在这里插入图片描述

HECTF{Hello_ios}

run

首先,拖进IDA只显示了3个函数,明显是加了壳,放进010里面发现有FUK,一看就是UPX改成的FUK,因此将4处FUK替换成UPX然后用UPX Shell解压,IDA打开

在这里插入图片描述

发现是个迷宫,要求31次走出去,moving是移动规则

control = ‘dsuawn’
control_num = [1,8,64,-1,-8,-64]

接着需要找地图,这次的迷宫跟之前见到的迷宫不一样不是直接shift+f12找,跟进moving看见判断是puzzle,跟进

在这里插入图片描述

512,貌似就是地图,点右边淡蓝色的上去然后f5,发现就是一开始的init()
在这里插入图片描述

gen生成的地图
在这里插入图片描述

看到gen的数组长度是64,明显就是bin后为地图,导出

s = '7F 7F 1F DF DF FF FF FF FF FF F1 FF DF FF FF FF FF FF C5 DF DF FF FF FF FF FF FD FF FF FF FF FF FF FD FD FD FC FF FF FF FF FF FF FF FE FE FC F9 FF FF FF FF FF FF FF FB FF FF FF FF FF FF FF F8'.split(' ')
puzzle = ''
for i in s:
    puzzle += bin(int(i,16))[2:].zfill(8)
print(puzzle)

然后手动换行看看

在这里插入图片描述

一般情况下这种题我都是手撸,但是这里发现并不是一直往前走,所以写个脚本吧

s = '7F 7F 1F DF DF FF FF FF FF FF F1 FF DF FF FF FF FF FF C5 DF DF FF FF FF FF FF FD FF FF FF FF FF FF FD FD FD FC FF FF FF FF FF FF FF FE FE FC F9 FF FF FF FF FF FF FF FB FF FF FF FF FF FF FF F8'.split(' ')
puzzle = ''
for i in s:
    puzzle += bin(int(i,16))[2:].zfill(8)
puzzle = list(puzzle)
control = 'dsuawn'
control_num = [1,8,64,-1,-8,-64]

flag = ''
n = 0
for i in range(31):
    for j in range(len(control)):
        if(puzzle[n+control_num[j]] == '0'):
            flag += control[j]
            puzzle[n] = '1'
            n += control_num[j]
            break
print(flag)
#ssddssuuwwddndduuussdussasauudd

在这里插入图片描述

HECTF{ssddssuuwwddndduuussdussasauudd}

Web

迷路的小狮

首先进去404,随便在后面加个a提示hebnu,提示方式不对因此用post、接着提示要从官网来,加上referer头,然后问在学校,说实话没懂但是根据尿性猜本地加个XFF头,然后提示用IE因此改UA。
在这里插入图片描述

然后在响应头里面得到jsfuck,控制台解一下即可

擎天注

sqlmap梭,谢谢一开始傻逼把ctftraining梭了一遍

在这里插入图片描述

在这里插入图片描述

Pwn

就我?配做pwn吗

谢谢上签到题

真·签到

在这里插入图片描述

int > 255,char<-125,4个字节的int,char范围-127~128,那么输入384

然后找了一圈flag,发现就在根目录ls -al就看到了被隐藏了

cat .flag

在这里插入图片描述

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

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

相关文章

马斯克的这波神操作,让我意识到保持写代码的能力有多重要

作为一个在IT行业摸爬滚打了多年的老油条&#xff0c;我是越来越看不懂现在的互联网行业了。 至少曾经我听过太多人吐槽写代码的永远干不过写PPT的&#xff0c;并且在现实工作中验证过也确实如此&#xff0c;但是老马的这一波骚操作&#xff0c;让推特工程师打印出最近30-60天…

《这!就是街舞》,好综艺还是好生意?

01.始于热爱&#xff0c;火于流量&#xff0c;不止综艺&#xff0c;这就是街舞 “每个人生而不同&#xff0c;不需要被包裹成别人需要的面孔。我就是我&#xff0c;既不傲慢&#xff0c;也不卑微。” ——李承弦 这段来自综艺《这&#xff01;就是街舞》第五季中节目对于李承…

ES6的Promise详解

文章目录前言一、Promise的概念二、使用Promise创建 PromisePromise 常用方法Promise.prototype.then()Promise.prototype.catch()all()链式调用前言 本篇文章主要介绍了ES6语法中的Promise对象的使用详解,promise对象是JS进阶学习中的重要知识点&#xff0c; 如果本文对你有所…

JavaScipt基础(持续更新三)

JavaScipt基础 JavaScipt基础 九、对象&#xff08;Object&#xff09; 9.1什么是对象 9.2JavaScript中的对象 9.3如何得到一个对象 9.4this的指向 9.5对象的使用 十、标准库对象&#xff08;内置对象&#xff09; 10.1Math对象 10.1.1常用属性和方法 10.1.2案例 1…

8年测试经验,简单易懂的讲解一下什么是自动化测试?

自动化测试是把以人为驱动的测试行为转化为机器执行的一种过程。通常&#xff0c;在设计了测试用例并通过评审之后&#xff0c;由测试人员根据测试用例中描述的规程一步步执行测试&#xff0c;得到实际结果与期望结果的比较。在此过程中&#xff0c;为了节省人力、时间或硬件资…

第九期|不是吧,我在社交媒体的照片也会被网络爬虫?

顶象防御云业务安全情报中心监测到&#xff0c;某社交媒体平台遭遇持续性的恶意爬虫盗取。被批量盗取用户信息和原创内容&#xff0c;经分类梳理和初步加工后&#xff0c;被黑灰产转售给竞争对手或直接用于恶意营销。由此不仅给社交媒体平台的数字资产带来直接损失&#xff0c;…

人工智能--机器学习概述、motplotlib的使用-折线图、散点图、柱状图、饼图

机器学习 步骤&#xff1a; 获取数据–数据基本处理–特征工程–机器学习&#xff08;算法&#xff09;–模型评估与调优 人工智能三要素&#xff1a;数据、算法、计算力 CPU 控制单元多&#xff0c;计算单元少—更适合IO密集型任务 GPU计算单元多----更适合计算密集型任务 …

linux环境部署

linux安装go环境 1、下载go的安装包 Golang官网下载地址&#xff1a;https://golang.org/dl/ 2、包版本&#xff1a;go1.19.3.linux-arm64.tar.gz cd /usr/local tar -zxvf go1.19.3.linux-arm64.tar.gz 3、将/usr/local/go/bin添加到环境变量中 vim /etc/profile #在最后一行…

人工智能前沿——无人自动驾驶技术

>>>深度学习Tricks&#xff0c;第一时间送达<<< 一、自动驾驶介绍 自动驾驶汽车依靠人工智能、视觉计算、雷达、监控装置和全球定位系统协同合作&#xff0c;它是一个集环境感知、规划决策、多等级辅助驾驶等功能于一体的综合系统&#xff0c;它集中运用了计…

windows10安装redis服务【成功安装】

1、下载链接中的zip包 https://github.com/MicrosoftArchive/redis/releases 解压&#xff0c;打开到该目录 2、添加Logs文件夹&#xff0c;在该文件夹下创建redis_log.txt文件 3、启动redis服务 在安装的目录上输入cmd 在命令窗口输入&#xff1a; redis-server.exe redi…

云原生之K8S------list-watch机制,调度约束以及故障排查

一&#xff0c;list-watch机制 1&#xff0c;list-watch介绍 1&#xff0c;kubernetes是通过list-watch的机制进行每个组件的动作&#xff0c;保持数据同步的&#xff0c;每个组件之间的设计实现了解耦。 2&#xff0c;用户是通过kubelet根据配置文件&#xff0c;向apiserve…

Vue笔记:基础入门(前篇)

文章目录前言开发环境准备无构建使用构建式使用API风格单文件组件页面打开时闪烁后记前言 Vue(发音为 /vjuː/&#xff0c;类似 view)是一款渐进式Web前端框架&#xff0c;提供了一套声明式的、组件化的编程模型&#xff0c;帮助你高效地开发用户界面。 官方网站&#xff1a;…

上海亚商投顾:沪指缩量跌0.43%

上海亚商投顾前言&#xff1a;无惧大盘大跌&#xff0c;解密龙虎榜资金&#xff0c;跟踪一线游资和机构资金动向&#xff0c;识别短期热点和强势个股。 市场情绪 三大指数今日集体回调&#xff0c;沪指午后跌近1%&#xff0c;创业板指盘中跌超1.7%&#xff0c;临近尾盘跌幅有所…

字符串查询--Python

str1 hello python index 需求:查找p所在的索引位置 格式: 字符串.index(self(不用传值), sub(子字符串), start(起始位置), end(结束位置)) print(str1.index(p)) # 6 如果字符串中含有多个子字符串,则会返回指定范围内的从左至右的第一个查找到的子字符串位置索引 print…

开源组件搭建完整的Kubernetes-Devops平台方案

文章目录平台六大模块K8S自动化运维容器平台&#xff08;Rancher Kubernetes&#xff09;CI/CD自动构建自动部署平台&#xff08;Jenkins Harbor Helms&#xff09;监控告警平台&#xff08;PrometheusGrafana&#xff09;微服务ServiceMesh平台&#xff08;Lstio&#xff0…

Linux如何写C语言

想要在Linux系统上写C语言程序&#xff0c;需要有两个东西&#xff1a; vim编辑器gcc编译器 下载 vim 和 gcc&#xff1a; 先切换到root用户状态 &#xff0c;输入 sudo passwd root //设置密码然后输入 su root //切换到root用户状态在root用户状态下&#xff0c;输入 apt in…

CMOS电路基础知识,包括NMOS、PMOS,以及由它们构成的非门、与非、或非等门电路,和版图绘制(L-edit16.3)

CMOS电路基础知识,包括NMOS、PMOS,以及由它们构成的非门、与非、或非等门电路,和版图绘制(L-edit16.3) 1,CMOS门电路1)PMOS和NMOS电路结构2)`MOS管结构的工作原理`,如NMOS管结构2,非门电路结构,即反相器3,与非门和或非门、与门和或门4,传输门+数据选择器。1,CMOS…

第四章:Redis--一站式高性能存储方案(包含下载)

Redis概述 Redis是一 款基于键值对的NoSQL数据库&#xff0c;它的值支持多种数据结构。 key都是一个String类型&#xff0c;但value的类型包含以下&#xff1a; 字符串(strings)、哈希(hashes)、 列表(lists)、 集合(sets)、 有序集合(sorted sets)等 Redis将所有的数据都存放…

【1684. 统计一致字符串的数目】

来源&#xff1a;力扣&#xff08;LeetCode&#xff09; 描述&#xff1a; 给你一个由不同字符组成的字符串 allowed 和一个字符串数组 words 。如果一个字符串的每一个字符都在 allowed 中&#xff0c;就称这个字符串是 一致字符串 。 请你返回 words 数组中 一致字符串 的数…

ElasticSearch系列——Kibana,核心概念

ElasticSearch系列——Kibana&#xff0c;核心概念Kibana下载地址Windows安装修改配置文件启动Kibana验证ES核心概念Index索引Mapping映射Document文档使用Kibana对ES进行操作查询所有索引查询指定索引创建索引指定分片和副本数删除索引创建映射查看指定索引的映射信息映射无法…