BkavCR
VIP Members
-
27/09/2013
-
106
-
203 bài viết
[Writeup] Chủ đề Reverse - Vòng loại WhiteHat Grand Prix 2014
Link tải đề:
Re 100
http://grandprix.whitehat.vn:8020/A21C793D1FDC70E74BA7D821BFE53A16/re100
Re 200
http://grandprix.whitehat.vn:8020/2433571F38506E0BA86A5A0C650D3511/re200
Re 300
http://grandprix.whitehat.vn:8020/4CBBCFCEB7B53F1594853D1FF5FC1EE0/re300.exe
Cập nhật: Username: WhiteHat_Grand_Prix_2014
Mời các bạn viết Writeup và cùng thảo luận về Chủ đề Reverse - Vòng loại WhiteHat Grand Prix 2014.
________________________________________
BQT cập nhật Writeup để các bạn cùng tham khảo:
RE100 - Avengers:
Flag:
RE200 - b33p
Re200.txt:
---------------------------------------------
Re200.py:
Flag{tec0rquagcbiaea120webdpcaemv2d0c}
RE300 - botbie
re300.py
dat.wtf
Chạy kịch kịch kịch:
-> e76f63389797f52f
-> Flag{e76f63389797f52f}
Re 100
http://grandprix.whitehat.vn:8020/A21C793D1FDC70E74BA7D821BFE53A16/re100
Re 200
http://grandprix.whitehat.vn:8020/2433571F38506E0BA86A5A0C650D3511/re200
Re 300
http://grandprix.whitehat.vn:8020/4CBBCFCEB7B53F1594853D1FF5FC1EE0/re300.exe
Cập nhật: Username: WhiteHat_Grand_Prix_2014
Mời các bạn viết Writeup và cùng thảo luận về Chủ đề Reverse - Vòng loại WhiteHat Grand Prix 2014.
________________________________________
BQT cập nhật Writeup để các bạn cùng tham khảo:
RE100 - Avengers:
Mã:
import dis
def myfunc():
_1 = ''
#'from zlib import decompress as y\nfrom binascii import unhexlify as u'
for i in [102,114,111,109,32,122,108,105,98,32,105,109,112,111,114,116,32,100,101,99,111,109,112,114,101,115,115,32,97,115,32,121,10,102,114,111,109,32,98,105,110,97,115,99,105,105,32,105,109,112,111,114,116,32,117,110,104,101,120,108,105,102,121,32,97,115,32,117]:
_1 += chr(i)
exec(_1)
c = 5225289992572816510375617297175513170291190435493698272730040307127264906868335001081343190341346338780406158345171271164984495365L
hi = eval(y(u(hex(c)[2:-1]))) #lambda x:x=='f51cbcad85917552208a18890b21ce9c'
print hi(raw_input('Your input:'))
dis.dis(myfunc)
myfunc()
Flag:
Mã:
Flag{f51cbcad85917552208a18890b21ce9c}
RE200 - b33p
Re200.txt:
Mã:
(('`')|('$'))
+
'='
+
(('`')|('%'))
+
(('[')^('-'))
+
(('`')|('!'))
+
(('`')|(','))
+
'('
+
'"'
+
(('`')|(','))
+
(('`')|('!'))
+
(('`')|('-'))
+
(('"')^('@'))
+
(('`')|('$'))
+
(('`')|('!'))
+
(('{')^('['))
+
(('`')|('&'))
+
(('`')|(','))
+
(('`')|('!'))
+
(('`')|('''))
+
':'
+
(('`')|('&'))
+
(('`')|(','))
+
(('`')|('!'))
+
(('`')|('''))
+
'='
+
'='
+
'''
+
(('[')^('/'))
+
(('`')|('%'))
+
(('`')|('#'))
+
'0'
+
(('[')^(')'))
+
(('[')^('*'))
+
(('[')^('.'))
+
(('`')|('!'))
+
(('`')|('''))
+
(('`')|('#'))
+
(('"')^('@'))
+
(('`')|(')'))
+
(('`')|('!'))
+
(('`')|('%'))
+
(('`')|('!'))
+
'1'
+
'2'
+
'0'
+
(('[')^(','))
+
(('`')|('%'))
+
(('"')^('@'))
+
(('`')|('$'))
+
(('[')^('+'))
+
(('`')|('#'))
+
(('`')|('!'))
+
(('`')|('%'))
+
(('`')|('-'))
+
(('[')^('-'))
+
'2'
+
(('`')|('$'))
+
'0'
+
(('`')|('#'))
+
'''
+
'"'
+
')'
+
(('[')^('+'))
+
(('[')^(')'))
+
(('`')|(')'))
+
(('`')|('.'))
+
(('[')^('/'))
+
(('{')^('['))
+
(('`')|('$'))
+
'('
+
(('[')^(')'))
+
(('`')|('!'))
+
(('[')^(','))
+
'_'
+
(('`')|(')'))
+
(('`')|('.'))
+
(('[')^('+'))
+
(('[')^('.'))
+
(('[')^('/'))
+
'('
+
'"'
+
(('[')^('"'))
+
(('`')|('/'))
+
(('[')^('.'))
+
(('[')^(')'))
+
(('{')^('['))
+
(('`')|(')'))
+
(('`')|('.'))
+
(('[')^('+'))
+
(('[')^('.'))
+
(('[')^('/'))
+
':'
+
'"'
+
')'
+
')'
---------------------------------------------
Re200.py:
Mã:
import os
import sys
import time
def get_plaintext():
f = open("re200.txt", "r")
logs = f.read().split("\n")
f.close()
plaintext = ""
for log in logs:
if len(log) == 1:
continue
if "((" in log:
if log[6] == '|':
plaintext = plaintext + chr(ord(log[3] ) | ord(log[9]))
elif log[6] == '^':
plaintext = plaintext + chr(ord(log[3] ) ^ ord(log[9]))
else:
plaintext = plaintext + log[1]
print plaintext
if __name__ == '__main__':
get_plaintext()
#d=eval("lambda flag:flag=='tec0rquagcbiaea120webdpcaemv2d0c'")
#print d(raw_input("your input:"))
Flag{tec0rquagcbiaea120webdpcaemv2d0c}
RE300 - botbie
re300.py
Mã:
dat = open("dat.wtf", "rb").read()
secret = b'\x2f\xe8\xa5\xba\xa4\xa4\x0f\xbd'
name = "WhiteHat_Grand_Prix_2014"
password = ""
for i in range(0, 8):
ecx = secret[i]
for j in range(len(name), 0, -1):
edx = dat.index(ecx)
ecx = chr(ord(name[j - 1]) ^ edx)
password = password + ecx.encode("hex")
print password
Mã:
703b 68f3 4ddb a4b7 46be 2b38 e1fa 6b50
fce5 f762 b077 5a5c d08c d51a 87dc 123d
cd3a 9b7b 4aec 4b1e 631d 60c2 78ad f694
23bc 972d 8de3 8e69 8866 2c98 9dcb 1bfb
20aa 5db1 0561 52f9 1fbb 04ff 3110 8955
f182 7a45 2549 6f64 ed18 9e1c d6d3 9af4
c9c0 0f0a e228 7e33 fd34 a02f 9157 dd03
27b6 6dce bf01 1643 a359 ef4c dfd1 7115
e07f 4785 48c4 de56 764f 5375 5bb9 952a
095f 9232 d26c 0826 a58a 5807 f551 e89f
abd8 c3b2 eec7 8144 1780 0dd7 29e4 a983
c199 e6f0 0e6a d4a1 740b eb3f ae0c a641
b493 ca30 35af 7972 aca8 7cbd 8414 b5b3
cccf 9c13 b8c5 4039 e78b 2202 65da 96f2
9054 06ea 2e21 42f8 c83e 3c00 5e19 d967
868f a27d 4e6e 37ba 7324 e9fe 11a7 36c6
-> e76f63389797f52f
-> Flag{e76f63389797f52f}
Chỉnh sửa lần cuối bởi người điều hành: