CTF

· CTF/2018
Category : pwnable SimpleMemo 494 2 Solves Host: smemo.pwn.seccon.jp Port: 36384Summary : seccomp bypass, orig_rax 간만에 first blood 획득한 문제. 쓸데없는 삽질로 시간을 2배는 소요했다. google ctf 갔던 팀들이 나왔으면 못 땄을듯. 삽질 시간을 더 줄여야한다. 1. Vulnerability 1.1. Concept memo를 add/show/delete 하는 기능을 가진 바이너리. 바이너리 구조는 굉장히 간단하다. size 0x28의 heap chunk를 선언하여 사용자의 입력을 받고 해당 chunk의 주소를 memo_table에 저장한다. 1.2. OOB memo access -> arbitra..
· CTF/2018
Category : pwnable GrootI am Groot.nc 54.238.202.201 31733groot-61a41f97c60a1636a2ff4ca800ecdde3.tar.gz Author: david942j15 Teams solved. Summary : uninitialized variable, use after free, tcache 호기심에 못이겨 출제자(david942j)의 exploit 참고하여 풀어본 문제.// https://github.com/david942j/ctf-writeups/blob/master/hitcon-2018/groot/sol/groot.rb tcache 소스를 많이 읽어봐서 exploit이 좀 수월할줄 잘았는데 생각보다 좀 까다롭다. 좀 더 다양한 사고를 해야할 듯..
· CTF/2017
Abstract XCTF 2017 Final - 2일 차에 출제된 문제. 대회 이름 혹은 문제 이름을 떠올리기만 해도 미안함과 죄책감에 사로잡히는 대회들이 있다.당시에 내가 풀지 못했던 문제들로 인해 행복한 추억이 될 수 있던 순간들이 괴로운 기억으로 남았다. 그 중 XCTF를 생각하면 가슴이 턱 막힌다. 자신에게 기대, 다짐, 의미가 큰 대회였지만, 그에 비해 내 능력은 준비되어 있지 않았다. 결국, 내 역할을 제대로 수행하지 못하여 대회를 망쳤다. 최근 XCTF 2016에서 출제됐던 문제들을 모두 풀고, 좀 울컥했다. 대회때는 전날 패치하지 못한 취약점들 패치한다고 문제를 제대로 보지 못했지만, 그게 핑계가 되어주지 못 할 정도로 취약점들이 간단했기 때문이다. 자신감이 바닥이라 내가 풀 수 있다는 확..
· CTF/2017
Abstract XCTF 2017 Final에서 2일 차에 공개된 문제. jinmo123이 first blood로 풀어 모든 팀들을 압살하고 1위를 찍은 문제.취약점은 은근히 간단하지만, 아무리 생각해봐도 당시 jinmo123이 풀었던 속도로는 못 풀었을 것 같다. (개빠름)그래도 당시에 제대로 봤다면 최소한 늦은 exploit이나 patch라도 가능했을텐데, 너무나 아쉽다. Main thread main함수는 아래와 같이 10개의 thread를 생성하고, 사용자의 input을 0번 thread에 전송한다. // 9개의 transfer thread 와 1개의 message thread를 생성. // 무한루프를 돌며 사용자에게 입력을 받고, 0번 transfer thread에 전송. (1) Transfer..
· CTF/2017
blackperl security blog에서 포스트 읽다가 기억난 김에 풀어본 문제.글 읽고 익스를 새로 짜봤다. https://bpsecblog.wordpress.com/2017/04/27/javascript_engine_array_oob/ Files -rwxr-xr-x 1 pwn3r pwn3r 5857384 Feb 12 2017 js -rwxr-xr-x 1 pwn3r pwn3r 95155 Feb 12 2017 jsarray.cpp -rw-r--r-- 1 pwn3r pwn3r 95297 Feb 12 2017 jsarray_original.cpp Mozilla의 SpiderMonkey Javascript engine을 취약하게 패치한 문제.3개의 파일이 주어졌다. (1) 인터프리터 (2) 패치 된 js..
· CTF/2018
Category : pwnable host : pwn1.chal.ctf.westerns.tokyo port : 21638 Update(2018/09/02 11:55:00 UTC) BBQ BBQ.old libc-2.23.so Summary : uninitialized variable, manipulate heap chunks, unsorted bin attack 다른 풀이 방법도 있지만, unsorted bin attack으로 풀겠다고 고집부리다가 꽤 오래 걸린 문제.취약점은 간단하지만, heap chunk들을 잘 조작해야해서 exploit이 오래걸린다.그래도 이런 풀이로 풀 수 있는 문제 많을듯. god angelboy. 풀고나서 다른 풀이있나 write-up을 찾아봤는데 좀 지렸다. 나는 전혀 생각못한..
· CTF/2018
Category : pwnable SWAP SAWP WASP PWAS SWPA nc swap.chal.ctf.westerns.tokyo 37567 swap_returns libc.so.6 Summary : temp = *addr1; *addr1 = *addr2; *addr2 = temp; temp = 0 main 프로그램 자체는 굉장히 간단하며 2가지 기능이 존재한다. (1) set : 2개의 address를 변수에 입력(2) swap : 설정된 2 address가 가리키는 값을 서로 swap// temp = *addr1; *addr1 = *addr2; *addr2 = temp; temp = 0 user input과 got를 치환하면 좋겠지만, 2개의 address 말고는 입력받는게 없다.memory l..
· CTF/2018
Category : pwnable Hello Neighbor! nc neighbor.chal.ctf.westerns.tokyo 37565 neighbor_c libc.so.6 Summary : double staged format string attack, modify stderr->_fileno to 1(stdout) 1. Vulnerability 1.1. Format string bug 무한루프를 돌며 전역변수 format에 문자열을 입력받고 그대로 fprintf 함수에 넘긴다. (format string bug)stack에 control 가능한 값이 없으므로 double staged format string attack으로 원하는 주소를 stack에 만들어 덮어주어야 한다. 횟수에는 제한이 없기 때..
pwn3r_45
'CTF' 카테고리의 글 목록 (4 Page)