Учимся обращаться через CTF - PullRequest
0 голосов
/ 22 октября 2018

Я пытаюсь научиться через CTF (захватывать флаг) назначения, для записи это не активный ctf, но я использую его для того, чтобы узнать, что я могу, прежде чем перейти к реальному

в этой конкретной задаче мне нужно получить флаг из кода сборки, который я получил из bin-файла для настраиваемой виртуальной машины на основе стека

Но независимо от того, что я пытаюсь ввести или откуда пытаюсь запуститьот, я не могу получить ничего, что выглядит как флаг

Я чувствую, что я действительно хорошо понял, как все работает, и все еще сидел на этом некоторое время и действительно не нашел ничего подобногоэто задание, чтобы попытаться увидеть, что мне не хватает, поэтому подумал, что, возможно, кто-то сможет помочь мне увидеть то, что я пропустил, или сказать мне, что я должен изучить и где, чтобы понять, что здесь происходит

этодля кодов операций и описания, если вам не нужно описание, просто прокрутите вниз до кодов операций: https://pastebin.com/hgKKkDzC

И это сборка соде:

0x00: push 0x15 

0x01: push 0x68 

0x02: push 0x0f 

0x03: push 0x61 

0x04: push 0x08 

0x05: push 0x64 

0x06: push 0x08 

0x07: push 0x67 

0x08: push 0x35 

0x09: push 0x52 

0x0a: push 0x3c 

0x0b: push 0x55 

0x0c: push 0x39 

0x0d: push 0x55 

0x0e: push 0x3a 

0x0f: push 0x68 

0x10: push 0x0f 

0x11: push 0x61 

0x12: push 0x08 

0x13: push 0x64 

0x14: push 0x08 

0x15: push 0x67 

0x16: push 0x35 

0x17: push 0x52 

0x18: push 0x3c 

0x19: push 0x55 

0x1a: push 0x39 

0x1b: push 0x55 

0x1c: push 0x3a 

0x1d: push 0x68 

0x1e: push 0x3a 

0x1f: push 0x55 

0x20: push 0x0d 

0x21: push 0x76 

0x22: push 0x11 

0x23: push 0x70 

0x24: push 0x1c 

0x25: push 0x7a 

0x26: push 0x0b 

0x27: jse 

0x28: read 

0x29: push 0x0c 

0x2a: call 

0x2b: load 0x01 

0x2c: push 0x0a 

0x2d: push 0x00 

0x2e: sub 

0x2f: cje 

0x30: push 0x30 

0x31: push 0x01 

0x32: jmp 

0x33: push 0x31 

0x34: write 

0x35: push 0x2f 

0x36: jmp 

0x37: load 0x02 

0x38: load 0x02 

0x39: push 0x00 

0x3a: push 0x25 

0x3b: cje 

0x3c: load 0x02 

0x3d: swap 0x01 

0x3e: push 0x00 

0x3f: push 0x20 

0x40: cje 

0x41: push 0x00 

0x42: swap 0x01 

0x43: load 0x04 

0x44: push 0x1b 

0x45: cje 

0x46: pop 

0x47: push 0x02 

0x48: load 0x02 

0x49: div 

0x4a: push 0x02 

0x4b: load 0x05 

0x4c: div 

0x4d: swap 0x01 

0x4e: swap 0x02 

0x4f: add 

0x50: push 0x02 

0x51: swap 0x01 

0x52: div 

0x53: swap 0x01 

0x54: pop 

0x55: load 0x02 

0x56: load 0x02 

0x57: push 0x24 

0x58: push 0x00 

0x59: sub 

0x5a: call 

0x5b: push 0x02 

0x5c: mul 

0x5d: add 

0x5e: swap 0x02 

0x5f: pop 

0x60: pop 

0x61: swap 0x03 

0x62: pop 

0x63: swap 0x01 

0x64: pop 

0x65: ret
...