Archive: 2018

0

[iOS] CustomSegue 예제

평소에는 push segue, show segue를 주로 사용하다가 push segue가 아니더라도 다음 뷰컨트롤러가 오른쪽에서 왼쪽으로 슬라이드 되는 커스텀 세그웨이가 필요해서 한번 찾아보게 되었습니다. 커스텀 세그웨이를 만드는 방법은 생각보다 간단했습니다. 다만 그 애니메이션이 얼마나 복잡하게 되느냐는.. 많이 공부해봐야할 것 같네요. 일단 코드 작성하

0

Harekaze CTF - Fight

문제 파일 (problem.py) problem.py1234567891011121314151617181920212223242526272829303132import randomimport base64import keydef xor(msg, key): return bytes([ch1^ch2 for ch1, ch2 in zip(msg, key)])de

0

Harekaze CTF - Flea Attack

문제 파일 (flea_attack.elf) 분석 원하는 size만큼 malloc 가능 원하는 주소를 free 가능 .bss에 comment 입력할 수 있음. comment뒤에 flag를 읽어온 데이터가 있음. 시나리오문제 해결법은 comment뒤에 fake chunk를 만들고 해제한 다음 다시 거기에 할당하여 데이터를 flag전까지입력한 다음 pri

0

Codegate CTF 2018 Preliminary - Useless (Misc)

http://13.124.66.179/.git이 존재했다. https://github.com/internetwache/GitTools 를 사용해서 .git을 dump해왔다. 이후에 git checkout HEAD~1 을 통해 파일들을 모두 볼 수 있었다. readme.md123456789## algorithm for session cookie ### B

0

Codegate CTF 2018 Preliminary - rbSql (Web)

문제 파일 (rbSql.zip) 파일에 데이터를 저장하고 불러오는류의 문제다. 파싱할때 취약점이 있을것이라고 생각했다. dbconn.php 중 일부123456789101112<?phpfunction rbPack($data){ $rawData = ""; if(is_string($data)){ $rawData .= STR . ch

0

Codegate CTF 2018 Preliminary - Super Marimo (Pwn)

문제 파일 (marimo) show me the marimo를 통해 marimo를 2개 생성한다.시간이 지나면 marimo의 size가 커져서 overflow가 터진다. libc는 로컬환경이랑 같을까 싶어서 시도해봤더니 운좋게도 같았다. 1234567891011121314151617181920212223242526272829303132333435363

0

Codegate CTF 2018 Preliminary - Impel Down (Misc)

문제에 접속해보니 PyJail 이라고 적혀있어서 소스도 주지 않았으니 에러를 먼저 찾기로 했다. 글자수 제한도 있으니 가장 짧은 dig를 선택했고 dig로만 시작하면 Invalid Work !!가 뜨지 않는 것을 확인했다. 1. 필터링 확인메뉴에 +, -, _등이 입력 불가능하다. __import__('os') 이런게 불가능하다는 것이다.

0

Codegate CTF 2018 Preliminary - easy_serial (Rev)

문제 파일 (easy) Haskell로 된 바이너리였다. 디컴파일러가 있길래 사용하기로 했다. ( https://github.com/gereeter/hsdecomp)오류가 나는 부분은 조금 수정해주면 정상적으로 디컴파일이 진행된다.소스가 한줄로 너무 길게 나와서 열심히 이쁘게 해보았지만 Haskell을 해보지 않아서 엔터때문에 에러가 날지는 모르겠다.

0

Codegate CTF 2018 Preliminary - Miro (Crypto)

문제 파일 (Miro.zip) 먼저 pcap에서 .cer파일을 추출한다. .cer에 적혀있는 RSA 공개키를 소인수분해 한다. 구한 p, q값으로 개인키를 생성하고 wireshark로 패킷을 복호화한다. client.py123456789101112131415161718192021222324252627282930313233343536373839from