剑残雪飘吧 关注:132贴子:11,904
  • 8回复贴,共1

中秋节看到基佬群里还一直都在刷ctf

只看楼主收藏回复


无聊也做一道看看现在的ctf都是什么题


IP属地:北京1楼2018-09-23 13:25回复
    载入ida,这道题逻辑挺简单的,对输入的长度校验:0x21

    调用sub_401160这个函数对输入的0x21字符串做处理

    然后调用sub_401000,sub_4010E0 这俩函数 求出一个值:

    最后逐字节比较:


    IP属地:北京2楼2018-09-23 13:34
    回复
      问题的关键就是 这三个函数都做了什么处理:
      sub_40100
      sub_4010E0
      sub_401160




      IP属地:北京3楼2018-09-23 13:36
      回复
        用ida的F5从伪代码里可以看出来:
        sub_401000是 rc4的初始化函数
        sub_4010E0是rc4的加密函数
        sub_401000 是base64加密


        IP属地:北京4楼2018-09-23 13:38
        回复
          从代码里可以看到rc4加密后的结果是:
          .rdata:00402104 byte_402104 db 20h ; DATA XREF: _main+EB↑o
          .rdata:00402104 ; _main:loc_401371↑r ...
          .rdata:00402105 db 0C3h
          .rdata:00402106 db 1Ah
          .rdata:00402107 db 0AEh
          .rdata:00402108 db 97h
          .rdata:00402109 db 3Ch ; <
          .rdata:0040210A db 7Ah ; z
          .rdata:0040210B db 41h ; A
          .rdata:0040210C db 0DEh
          .rdata:0040210D db 0F6h
          .rdata:0040210E db 78h ; x
          .rdata:0040210F db 15h
          .rdata:00402110 db 0CBh
          .rdata:00402111 db 4Bh ; K
          .rdata:00402112 db 4Ch ; L
          .rdata:00402113 db 0DCh
          .rdata:00402114 db 26h ; &
          .rdata:00402115 db 55h ; U
          .rdata:00402116 db 8Bh
          .rdata:00402117 db 55h ; U
          .rdata:00402118 db 0E5h
          .rdata:00402119 db 0E9h
          .rdata:0040211A db 55h ; U
          .rdata:0040211B db 75h ; u
          .rdata:0040211C db 40h ; @
          .rdata:0040211D db 3Dh ; =
          .rdata:0040211E db 82h
          .rdata:0040211F db 13h
          .rdata:00402120 db 0A5h
          .rdata:00402121 db 60h ; `
          .rdata:00402122 db 13h
          .rdata:00402123 db 3Bh ; ;
          .rdata:00402124 db 0F5h
          .rdata:00402125 db 0D8h
          .rdata:00402126 db 19h
          .rdata:00402127 db 0Eh
          .rdata:00402128 db 47h ; G
          .rdata:00402129 db 0CFh
          .rdata:0040212A db 5Fh ; _
          .rdata:0040212B db 5Eh ; ^
          .rdata:0040212C db 0DEh
          .rdata:0040212D db 9Dh
          .rdata:0040212E db 14h
          .rdata:0040212F db 0BDh
          在调试中可以看到初始化函数使用的key为:flag{this_is_not_the_flag_hahaha}
          用在线工具进行解密后得到结果:

          结果为:ZeptZ3l5UHQra25nd19yYzMrYR5wX2Jtc2P2VF9gYNM9
          这应该是sub_401000 这函数处理后的结果
          用base64进行解密:

          发现是乱码:
          重新查看sub_401000 这个函数:

          可以看到这里使用的base64 的字符序列为自定义的序列:


          IP属地:北京5楼2018-09-23 13:45
          回复
            github翻了一下 翻出一个自定义base64的php脚本,这脚本可以自定义base64的序列,

            使用该脚本解密ZeptZ3l5UHQra25nd19yYzMrYR5wX2Jtc2P2VF9gYNM9,get flag


            IP属地:北京6楼2018-09-23 13:48
            回复
              我竟然假期不打游戏,做ctf题。。。我对自己也很无语。


              IP属地:北京7楼2018-09-23 13:53
              回复
                第二道题比较简单 矩阵的乘法,a可逆 a*b=c 已知 a,c求b
                a=
                matrix([[ 43, 22, 30, 83, 53, 57, 32, 41],
                [ 53, 99, 10, 40, 44, 6, 50, 42],
                [ 85, 57, 20, 95, 32, 25, 52, 33],
                [ 25, 11, 90, 9, 80, 52, 111, 92],
                [ 22, 26, 104, 99, 52, 78, 22, 69],
                [ 76, 83, 47, 63, 63, 40, 105, 81],
                [ 57, 68, 18, 36, 10, 77, 85, 49],
                [ 73, 59, 64, 59, 67, 40, 33, 54]])
                c=
                matrix([[39430, 34714, 32196, 36639, 34988, 34059, 30813, 33326],
                [36796, 32617, 33253, 34580, 34162, 34694, 27284, 30462],
                [43121, 39454, 38526, 40343, 40267, 39622, 32312, 35938],
                [52554, 37142, 43063, 43360, 41895, 39806, 44188, 43934],
                [51532, 44412, 41672, 48518, 45549, 44436, 41365, 45032],
                [60785, 49721, 52606, 54361, 52991, 52156, 47474, 50031],
                [43050, 35311, 36031, 39633, 34447, 34470, 31270, 31954],
                [49152, 43386, 42096, 46024, 45029, 43961, 36733, 42762]])
                ck3关键函数:

                c4矩阵比较:

                a和c 都在data段
                计算一下就完了

                根据ck1算法 rot13之后得到正确答案



                IP属地:北京8楼2018-09-23 21:40
                回复
                  该楼层疑似违规已被系统折叠 查看此楼


                  来自Android客户端10楼2018-10-17 11:33
                  回复