• 2024-11-11ciscn_2019_n_1
    题目链接:ciscn_2019_n_1。下载附件后,使用IDA打开程序,并进行反编译,定位到main函数,如下。int__fastcallmain(intargc,constchar**argv,constchar**envp){setvbuf(_bss_start,0LL,2,0LL);setvbuf(stdin,0LL,2,0LL);func();return0;}func函数
  • 2024-10-042024 ciscn WP
    一、MISC1.火锅链观光打卡打开后连接自己的钱包,然后点击开始游戏,答题八次后点击获取NFT,得到有flag的图片没什么多说的,知识问答题兑换NFTFlag{y0u_ar3_hotpot_K1ng}2.PowerTrajectoryDiagram方法1:使用py中的numpy和pandas库读取npz文件并保存为csv文件,代码如下:importnumpyasn
  • 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栈地址泄露
  • 2023-12-30ciscn_2019_n_5
    ciscn_2019_n_5ret2shellcodelibc泄露程序没有开启NX保护,并且是RWX权限可以运行段上代码预期解:往name中写入shellcode,再利用get转跳到相应的.bss段上运行shellcode非预期解:通过get泄露puts()地址,泄露libc地址,劫持程序流得到shell.注意这里64位($rdi)和32位程序传
  • 2023-12-30ciscn_2019_ne_5
    ciscn_2019_ne_532位ROP劫持程序逻辑/bin/sh的替代方案sh栈上覆盖ROPgadgets查找字符串GetFlag函数1.GetFlag函数中把先前AddLog中加入的src变量赋给了dest,这里存在溢出2.Print函数中有system函数,通过plt_system利用3.通过ROPgadgets得到sh字符串构造pay
  • 2023-11-17【misc】[CISCN 2021初赛]robot --流量包数据提取,坐标画图
    打开附件的流量包可以发现有很多的tcp协议数据,追踪tcp协议数据看看可以发现tcp数据流中有很多类似坐标的东西,先把这些数据另存为txt保存,如何用正则表达式提取这些数据,提取脚本如下:importrewithopen("data.txt","r",encoding="utf-8")asf:    data=f.read
  • 2023-09-24ciscn_2019_c_1 题解
    main函数如下:int__cdeclmain(intargc,constchar**argv,constchar**envp){intv4;//[rsp+Ch][rbp-4h]BYREFinit(argc,argv,envp);puts("EEEEEEEhhiii");puts("EEmmmmmmm
  • 2023-08-29Bugku-misc-telnet
    刚结束的ciscn,里面的要是有这么简单就好了。下载附件,是个pcap文件,打开wireshark分析一节一节看过去就找到了flag没难度的~~~
  • 2023-08-08ciscn_2019_es_2
    ciscn_2019_es_20x0132位开NX,有system函数,但是需要传入binsh。然而,栈上变量s位于ebp-0x28,而read函数仅能读入0x30个字节,那么若想实施缓冲区溢出,只有0x08=0x30-0x28个字节供我们进行布局。因此,在只有ebp与ret能被篡改的条件下可尝试使用栈迁移。程序存在leaveret
  • 2023-08-07ciscn_2019_c_1
    ciscn_2019_c_10x01简单的ret2libc3filechecksec——64-bit开NX0x02运行一下看看再看看IDA研究了半天发现是让你加解密的再看看stringwindow没用system和binsh又发现加密函数里有gets函数,可构成栈溢出0x03分析大致流程就是利用一个程序已经执行过的函数去泄