본문 바로가기

CTF

(53)
BSidesSF 2020 CTF Chameleon 보호되어 있는 글입니다.
Codegate CTF 2018 후기 대회때 한문제 밖에 풀진 못했지만 한 2문제도 조금 풀었었기 때문에 아는 풀이들을 해보고자한다. 우선 가장많은 사람들이 푼 리버싱 문제 1번 RedVelvet이다. 위에 보면 보이지만 sha256 해쉬가 보인다. 당연히 온라인 테이블들에 넣어보면 안나오는데 대회가 끝나서인지 지금은 나온다. func1을 보면 위처럼 나오는데 1번째 글자를 알아낼 수 있는연산이다. 해당 문제는 z3를 이용해 What까지 4글자를 알아내고 팀원 형인 ddddh형이 다시 다 풀어버렸다 ㄷㄷㄷㄷㄷ flag: What_You_Wanna_Be?:)_la_la 다음문제는 android 문제다. 우선 메인 엑티비티가 4개가 존재한다.앱을 실행했더니 앱이 제대로 설치가 되지않았다.여기서 부터 이미 감을 잡았었다. MainActivity1..
2014 su-ctf commercial_application 클래스 목록들을 보면 key와 db를 볼 수 있다.우선 key부터 보자 밑에 소스가 많지만 필요없고 이부분만 보면된다.AES암호를 사용했고 CBC 모드로 했었다.그럼 밑에 BALID_LICENCE가 암호화한 결과 일테고암호를 하기 위해선 key값과 IV값을 가지고 있어야하는데 db에 있을거다. 안그럼 db를 준 이유가없다. 예상대로 들어있었고 IV값은 16자리 이니깐 e번 값이 IV값이 되겠다. 12345678910from Crypto.Cipher import AES key = "37eaae0141f1a3adf8a1dee655853714".decode('hex')iv = "a5efdbd57b84ca36" pw = "29a002d9340fc4bd54492f327269f3e051619b889dc8da723e..
TrendMicroCTF - VirusClicker 우선 앱을 실행부터 해보면 저만큼 클릭을 해야하나보다.치트엔진이나 다른 게임해커 같은 앱을 이용해서 값을 수정해도 되는데내 노트북이 안좋아서 에뮬이 계속 팅긴다. f.png를 열어서 값을 수정한다. f.png의 모습을 보면 이렇다.플래그의 모습은 안보이는데 다른 클래스를 살펴보면 값을 올리는 중간중간마다 새로운 플래그 문자들이 들어가는 것 같다. 이런 부분들을 10이내로 다 패치시키고 10번만 클릭해보자! 0xA로 변경해 10번으로 바꾸고 1~7로 바꿔준다 마찬 가지로 바꿔주고 리패키징 해주면 숫자가 바뀐걸 볼 수 있고 10번 클릭 시 플래그 이미지가 나타나게 된다.
0ctf 2015 vezel 요즘 스스로 너무 나태해졌다고 생각해서 문제를 풀어 보기로했다. 우선 vezel.apk가 주어지는데 해당 클래스를 보면 MainActivtiy말고는 보이지 않는다. 핵심부분은 여긴데 패키지이름("com.ctf.vezel")을 인자로 getsig를 함수를 실행하고 getCrc 함수의 결과와 합쳐서 최종적으로 0CTF{~~~~~~}를 만들게 되는데내가 입력한 값이랑 이 값이 같아야한다. 처음엔 바보같이 다른함수를 보지않고 저부분에 0CTF{first+getCrc}를 출력해주도록 스말리 코드를 수정해봤다. 수정 후 아무거나 입력해도 값이 나오는걸 확인할 수 있다.하지만 성공적으로 패치를 했는데 답이 아니였고 소스를 자세히 봐봤다. getsig는 패키지 이름으로 시그니쳐값을 구해온 후 hashcode로 바꿔주는..
hust 2017 참가 후기 & 풀이 보호되어 있는 글입니다.
defcon 2017 보호되어 있는 글입니다.
TAMU CTF reversing https://ctf.tamu.edu/scoreboard threads - 100스트링을 보면 플래그가 보인다전체적으로 문제들이 매우 쉬웠다. threads2 - 100md5값이 보여서 바로 복호화했더니 바로나온다 fancy bear - 100after func0을 출력한다함수중에 func0이란 함수명이있는데 한번보자 0x66 0x66보다 크면 넘어가게된다. 이런식으로 함수가 func0~func37까지 있는데헥스레이의 저부분을 다 리스트화해서 1씩 더한값을 출력하면된다. 123456a = [0x66, 0x68, 0x66, 0x64, 0x6c, 0x7a, 0x63, 0x78, 0x6d, 0x60, 0x6c, 0x68, 0x62, 0x5e, 0x64, 0x65, 0x65, 0x6e, 0x71, 0x73, 0..