• 2025-01-11ciscn_2019_n_8 1
    checksec一下能发现开了很多保护,吓人一跳,但其实我们分析一下发现只要var[13]为17就可以了if(*(_QWORD*)&var[13])#判断var[13]开始的8字节(_QWORD表示64位,即8字节)内存区域是否非零。*(_QWORD*)&var[13]是将var[13]的地址转换为_QWORD(64位整数)指针,然后解引用得到该内存区域的
  • 2024-12-27[ 2024 · CISCN x 长城杯 ] pwn avm
    2024CISCNx长城杯AVMavmVM入门题。不过挺吃逆向经验的。之前都是复现,这算是第一次比赛的时候做出vm题。这个题的逆向思路非常经典,所以分享一下。1.程序逆向函数主函数如下:unsigned__int64__fastcallmain(__int64a1,char**a2,char**a3){_BYTEs[3080];//[rs
  • 2024-12-25[CISCN 2021初赛]rsa
    [CISCN2021初赛]rsa源代码:fromflagimporttext,flagimportmd5fromCrypto.Util.numberimportlong_to_bytes,bytes_to_long,getPrimeassertmd5.new(text).hexdigest()==flag[6:-1]msg1=text[:xx]msg2=text[xx:yy]msg3=text[yy:]msg1=bytes_to_long
  • 2024-12-24NSSCTF--Crypto--[CISCN 2023 初赛]badkey
    [CISCN2023初赛]badkeytask:fromCrypto.Util.numberimport*fromCrypto.PublicKeyimportRSAfromhashlibimportsha256importrandom,os,signal,stringdefproof_of_work():random.seed(os.urandom(8))proof=''.join([random.choice(st
  • 2024-12-22CISCN & CCB crypto
    CISCN&CCBcryptorasnd第一部分h1=x1*p+y1*q-0x114h2=x2*p+y2*q-0x514消去p后爆破h1、h2即可fromCrypto.Util.numberimport*fromgmpy2import*fromtqdmimport*c=n=a=b=e=0x10001forx1inrange(2**8,2**11):forx2inran
  • 2024-12-16ciscn初赛 2024
    ezCsky先根据提示到github下载M-Core插件放到ida的proxy文件夹,然后选择MCORE形式打开流程首先进行一次长度检查,然后通过check函数,rc4_init初始化s盒,rc4_crypt进行rc4加密这里有个xor函数,我不知道咋跳到这里的,然后猜测是按自己向后异或lrwr7,byte_8AA0{off_8960}这
  • 2024-12-07[CISCN 2019华东南]Web11
     [CISCN2019华东南]Web11 给了两个链接但是都无法访问这里我们直接抓包试一下我们插入X-Forwarded-For:127.0.0.1发现可以修改了右上角的IP地址,从而可以进行注入{$smarty.version}查看版本号if标签执行PHP命令{ifphpinfo()}{/if}查看协议{ifsystem('l
  • 2024-12-03Spring Cloud+Nacos+KMS 动态配置最佳实践
    作者:柳遵飞前言SpringCloud框架在微服务领域被广大开发者所使用,@Value是每位开发者都会接触到的注解,在SpringBean中可以通过Value注解引用application.properties属性,实现配置代码分离,提升应用代码部署的灵活性,但无法在运行期动态更新配置。Nacos是一款集服务发现和配
  • 2024-07-30BUU_ciscn_2019_c_1
    ciscn_2019_c_1先查看保护机制,64位开了NX保护发现应该是用不了ret2syscall的v4是格式化输入的,不存在溢出55[v4!=2退出里面的小循环,=1进入encrypt()函数]{.kbd.red}看到s和gets(),填充为0x50+8发现puts()->re2libc然后程序有一个死循环:::warningif(v0>=strlen(s)
  • 2024-07-28BUUCTF 4.ciscn_2019_n_1
    拿到题目首先先运行程序我们发现给了我们一个数字,我们猜测应该是一个条件判断的程序,然后我们检查一下保护机制我们发现只开了NX(不可执行)保护,那我们直接看IDA就行了。main函数只是设定了无缓冲模式,以及调用了一个func函数,然后我们看一下我们可以看到gets和我们想要的flag,
  • 2024-06-02复现CISCN Reverse的收获
    androidso_ez参考文章:https://www.cnblogs.com/sK07XdAy/p/18203747静态分析1、当有时候代码很长的时候,想自己猜猜加密含义时,可喂给chatgpt一试2、Rot13,以前也经常见,可就是没有仔细看看,虽然很简单,但可以了解了解偏移量,喂给Cyberchef会更省事些Rot13,顾名思义一般情况下偏移13
  • 2024-05-28CISCN 2024 reverse 国赛复盘
    asm_re手撕汇编,配合GPT分析,加上一点点的猜测。在汇编推出可以看到加密逻辑:value=ord(f[1])value*=0x50;value+=0x14;value^=0x4D;value+=0x1E;print(value)已经知道第一个为f,f经过加密得到0x1FD7,l可以得到0x21B7。同理,根据数据段可以还原出flag,
  • 2024-05-232024 CISCN WEB 部分wp
    前言第二天的revenge真是绷不住,出的很好,下次多出点revenge。ezjava简要介绍sqlitejdbc...真的没想到,写文件覆盖写了半天,结果是个CVE...,给的很多东西都是幌子原理是通过控制jdbc语句和sql语句的执行来达到加载恶意so/dll达成rce的目的,这两个条件就很苛刻了,所以算是个比较鸡肋
  • 2024-05-21[CISCN 2022 初赛]online_crt crash漏洞引起的命令执行
    几天没做题了,有点生疏。看题吧。题目标签说是CVE-2022-1292,去看看。意思就是在$fname处构造恶意文件名导致的命令注入,而且前面没有认真过滤,也就是文件名命令执行。看看题目源码:点击查看代码importdatetimeimportjsonimportosimportsocketimportuuidfromcryptogr
  • 2024-05-20CISCN 2024 Power_Trajectory+通风机 WP
    一些碎碎念这次是本菜鸡第一次参加正式的CTF比赛,不出意外没做出几个题。最后自己只做出了两个misc,对不起队里的大佬qwq简单记录一下做出来的两道miscPower_Trajectory这题感觉蛮不错的,算是科普了一种侧信道攻击。题目下发一个.npz文件,提示是硬件的功耗记录泄露,要我们找出密码
  • 2024-05-04[CISCN 2023 西南]seaclouds
    玩了三天,做做题复健。这次看到的题是CISCN的seaclouds,这道题没直接用java原生反序列化。审计分析审一下源码:一个MessageController.java,访问根路由传参message,那么它会解码一个硬编码的Base64字符串。如果message参数不为null,那么它会尝试解码该参数。如果解码失败,它会解码
  • 2024-05-02[CISCN 2022 华东北] duck
    [CISCN2022华东北]duckUAF|leak_libc|leak_heap_base|指针加密|unsortedbin|one_gadget[*]'/home/bamuwe/duck/pwn'Arch:amd64-64-littleRELRO:FullRELROStack:CanaryfoundNX:NXenabledPIE:PIEenabled$c
  • 2024-04-28[CISCN 2022 东北]hana 题解(易语言逆向)
    [CISCN2022东北]hana脱壳过程首先看一下程序信息程序检测到了UPX的特征,但是下面的特征又显示是VMP壳使用010Editor打开文件将两个VMP0和VMP1改成UPX0和UPX1并保存文件,接下来使用UPX脱壳分析程序这里需要用到一个易语言反编译插件以及一个易语言函数查询网站IDA易语
  • 2024-04-08[BUUCTF]ciscn_2019_c_1
     0.环境Ubantu-22.04.41.查看文件格式终端中输入命令checksec--file='filename'    #filename为下载文件的自定义名称输出结果为没开canary保护,开了NX终端中输入命令file'filename' 输出为64位,放到ida64里反编译2.IDA分析程序 1.main函数 
  • 2024-04-07【Web】纯萌新的CISCN刷题记录(1)
    目录[CISCN2019华东南]Web11[CISCN2019华北Day2]Web1[CISCN2019初赛]LoveMath[CISCN2022初赛]ezpop[CISCN2019华东南]DoubleSecret[CISCN2023华北]ez_date[CISCN2019华北Day1]Web1[CISCN2019华东南]Web4[CISCN2019华北Day1]Web2 [CISCN2023西南]do_y
  • 2024-03-25[CISCN 2019东北]PWN2
    下载好附件之后,先丢到checksec看一下开了什么保护有栈溢出:Stack:Nocanaryfound丢到IDE看一下按shift+f12看一下字符串,发现没有system和/bin/sh回到上方标签(IDAView-A)回到主界面按f5查看伪代码发现encrypt()函数存在gets溢出gets没有任何限制,但是储存用户
  • 2024-01-31CISCN_2018Picture_misc_wp
    CISCN_2018Picture_misc_wp思路第一关文件分离拿到一张图片,看到jpeg格式文件结尾之后依旧还有数据,猜想可能是隐藏了某些文件直接拿到binwalk中分析一下可以看到里面又一个zlib压缩包直接binwalk-e--run-as=root'[CISCN2018]Picture.jpg'直接得到压缩包的结果第
  • 2023-12-31ciscn_2019_es_2
    ciscn_2019_es_2栈迁移read()存在溢出,但是只有0x30个位置不能拿到shell,所以考虑栈迁移通过泄露参数s在栈上的位置,将payload写入栈上迁移栈到参数s的位置,运行写入的payload拿到shellleaved=>movesp,ebppopebp#清除栈帧,初始化到执行前的样子ret=>popeipj
  • 2023-12-30ciscn_2019_s_3
    ciscn_2019_s_3ret2csu在64位程序中可以通过栈溢出控制__lib_csu_init中的参数来控制rdx,rsi,edi寄存器64位函数传入的参数依次存在寄存器rdi,rsi,rdx(顺序从左到右),返回值存在rax中syscall函数会根据rax的值来调用函数,例如当rax==0x3B时,运行execute栈地址泄露