• 36D杯 部分题目WriteUp


    这比赛什么鬼名字...

    比赛网站:https://ctf.show/challenges

    Reverse

    逆向_签到

    IDA64打开,按F5。

    看标箭头的几处,得知v6要等于0才正确。v6的运算是和后面的一串式子进行按位或,而0或0才能得到0,所以后面的一串异或式子的结果为0,那么因为异或的可逆运算,可以计算出v8。
    脚本:

    list=[102,109,99,98,127,58,85,106,57,82,122,55,81,19,51,35,67,70,41,61,41,32,127,28,38,77,49,20,80,94,-24,]
    v6=0
    v7=0
    v8=0
    l=len(list)
    for i in range(l):
        # v8=v6
        # v6 |= v8^i^(i+(i^list[i]))
        v8 = 0^i^(i+(i^list[i]))
        print((chr(v8)),end='')
    

    逆向_神光

    运行一下发现有字符串"key",IDA打开,Alt+T搜索"key",找到主函数,按F5

    进入sub_4113B1

    写脚本得到Str2的值

    回到主函数,通过if判断得知需要让Str1与Str2相等,那么Str2就是key

    运行程序,输入key:"wangzherongyao"

    可以验证key正确了。回到主函数,进入sub_4113CF,对sub_415770反汇编时报错

    到IDA汇编窗口,Alt+T搜索报错的415890,并Options→General→勾选Stack Pointer,发现415890这一行的sp值为负,所以报错

    我选中add esp,15D8h这行指令,Edit→Patch program→Assemble,修改为nop空指令

    然后再ALt+K一顿瞎改最后几行call、push等的sp,使得retn处的sp变回0,这样就可以F5了

    成功反编译sub_415770,发现里面有俩循环,然后再由sub_4113E3继续处理dword_41A038,但是其中用于异或的dword_41A4DC的值我们却不知道

    我想不出来怎么得到它的值,想想也许用od跑一下能在寄存器里找到它的值(但我不太会用od)
    然后od打开,先一个劲点直直向下和三个点的按钮,直到出现输入key的提示,然后输入"wangzherongyao",结果flag就这么出现了...

    Misc

    杂项_签到

    加qq群看群公告就能得到flag。

    杂项_暗中观察

    第一次做流量分析题。下载下来用010editor查看文件头,知道是一个.pacp文件,用wireshark打开,Ctrl+F搜索字符串flag,发现有个flag.zip。
    选中这一条,文件→导出对象→HTTP,将flag.zip存下来。

    发现需要解压密码。回到wireshark,过滤http协议,查看第一条POST,试试里面的几个值,试出了正确的解压密码为ctfshowys168com

    解压完成,flag就在里面的文本文件中。

    没有做出的题

    密码_签到,一开始我只想是恺撒,而且只能加密解密字母,一度陷入窘境,后来高中同学来我家玩,给他看题,他问rot是什么意思并查了一下,然后我才知道rot47可以对数字和字符加密...网上有在线解密,也可以自己写脚本,要注意模126循环,字符ascii码范围是33-126。第一步解完之后提示看电脑键盘,我知道的有:画出字母形状;qwer替换加密;虚拟键盘码(高中同学告诉我的,基本跟ascii码一样),我们试了一下午,拼音,摩尔斯码,数字代替符号,异或表示分隔...总之一无所获。去群里问了一下wp终于懂了...确实是用键盘的数字代替符号,然后还有一步是16进制转字符...这地方没有敏感起来。
    杂项_42,看完wp我感到了人性险恶...杂项我先试了试jojo的奇妙冒险,发现解不开压缩包,爆破不行,也不是伪加密。42这道题我看16进制感觉是多个伪加密(还是不太懂原理),最后看wp原来题目名就是解压密码...如果我试试爆破也轻松爆出来了。而其实解压是错误的解题路线,我正是由于jojo的那道题以及预览到压缩包里的多个文件才深信解压它是正确路线,其实只需要binwalk一下,dd提取出来一张png,stegsolve点点就能得到答案...
    WEB_ALL_INFO_U_WANT,web我不会,一开始我电脑录屏然后减速倒放来还原魔方,后来找了我会解三阶魔方的同学来帮我做...不过解到一个阶段网页就不允许对魔方进行操作了,我没有web知识,只是为这题去玩具店买了个魔方玩...
    杂项_RunTheEXE,赛后看大佬wp学到新工具,StudyPE,打开文件,在导入一栏中删除报错的.dll,另存文件,再运行即可得到flag。
    杂项_ez-qrcode,看着原题wp搞了一天没弄出来,wp贴在下面吧...

    参考

    流量分析-CTF题目实战
    CTF-流量分析总结
    https://yous.be/2014/12/07/seccon-ctf-2014-qr-easy-write-up/
    CTF中RSA题型解题思路及技巧,附小白福利

  • 相关阅读:
    mtext中的las参数的作用
    并行与CPE
    根据局部性得出最优矩阵乘法写法
    cache中的thrashing问题和应对办法
    csapp(3e)的bomblab的phase_6详解(没有详细到逐行解析的程度)
    计划
    遇到问题怎么处理?
    数据对齐的几问
    python进阶(八、mysql:完整性约束)
    python进阶(七、mysql:表操作、数据操作、数据类型)
  • 原文地址:https://www.cnblogs.com/hardcoreYutian/p/12811253.html
Copyright © 2020-2023  润新知