当前位置 : 主页 > 编程语言 > java >

xctf攻防世界 MISC高手进阶区 hit-the-core

来源:互联网 收集:自由互联 发布时间:2022-10-26
1. 进入环境,下载附件 给的是一个.core结尾的文件,在Linux中,一个程序崩溃时,它一般会在指定目录下生成一个core文件。core文件仅仅是一个内存映象(同时加上调试信息),主要是用来


1. 进入环境,下载附件

给的是一个.core结尾的文件,在Linux中,一个程序崩溃时,它一般会在指定目录下生成一个core文件。core文件仅仅是一个内存映象(同时加上调试信息),主要是用来调试的。

引用博主:https://www.bilibili.com/read/cv13322467的一张图:

xctf攻防世界 MISC高手进阶区 hit-the-core_问题分析

2. 问题分析

  • 扔进winhex
    一通搜索flag后,发现是奇怪的东东,如图:
  • xctf攻防世界 MISC高手进阶区 hit-the-core_问题分析_02

  • 只给了一个地址啥的,也打不开,没有思路,参考网上的wp,原来是暗藏玄机。
  • 使用Stirngs函数
    我们在kali中,命令如下:
  • strings 8deb5f0c2cd84143807b6175f58d6f3f.core -n 6

    -n参数限制为6表示至少输出长度为6的字符串,因为flag{}至少占6位,减少干扰,如图:

    xctf攻防世界 MISC高手进阶区 hit-the-core_指定目录_03


    一串长的很像flag的东西。

  • 脚本提取
    答案还有规律,每隔四个小写字母就可以看到一个大写字母,刚好是ALEXCTF 照着这个规律找下去,因此上脚本:
  • 脚本1:

    s = "cvqAeqacLtqazEigwiXobxrCrtuiTzahfFreqc{bnjrKwgk83kgd43j85ePgb_e_rwqr7fvbmHjklo3tews_hmkogooyf0vbnk0ii87Drfgh_n kiwutfb0ghk9ro987k5tfb_hjiouo087ptfcv}"

    flag = ''
    for i in range(3, len(s), 5):
    flag += s[i]
    print(flag)

    优化版脚本2:

    s = "cvqAeqacLtqazEigwiXobxrCrtuiTzahfFreqc{bnjrKwgk83kgd43j85ePgb_e_rwqr7fvbmHjklo3tews_hmkogooyf0vbnk0ii87Drfgh_n kiwutfb0ghk9ro987k5tfb_hjiouo087ptfcv}"

    print(s[3::5])

    最终得到flag:​​ALEXCTF{K33P_7H3_g00D_w0rk_up}​​


    网友评论