분류 전체보기(363)
-
[BOJ 17428] K번째 괄호 문자열
https://www.acmicpc.net/problem/17428 17428번: K번째 괄호 문자열 첫째 줄에 K번째 괄호 문자열을 출력한다. K번째 괄호 문자열이 없는 경우에는 -1을 출력한다. www.acmicpc.net - 문제 요약 길이가 N인 괄호 문자열 중에 사전 순으로 K번째인 문자열을 출력하시오. K번째 괄호 문자열이 없는 경우에는 -1을 출력한다. 여기서 S가 괄호 문자열이면 (S)도 괄호 문자열이고, S와 T가 괄호 문자열이면 ST는 괄호 문자열이다. 또한 빈 문자열은 괄호 문자열이다. (2
2021.08.07 -
[CTF-D] DefCoN#22 #4 풀이
골뱅이는 장치 이름과 함께 사용되는 공통 기호입니다..... 우선 패킷 분석부터 해보겠습니다. 분석을 하고 있는데 SIP, STUN이라는 패킷이 보입니다. https://medium.com/@hyun.sang/network-sip-%ED%94%84%EB%A1%9C%ED%86%A0%EC%BD%9C%EC%9D%B4%EB%9E%80-ab149dc61fd3 [Network] SIP 프로토콜이란? “세션 개시 프로토콜(Session Initiation Protocol, SIP)”이란 무엇인가요? IETF에서 정의한 시그널링 프로토콜로 음성과 화상 통화 같은 멀티미디어 세션을 제어하기 위해서 많이 사용되었으며, 인터넷 medium.com https://ko.wikipedia.org/wiki/STUN STUN - 위..
2021.08.06 -
[CTF-D] DefCoN#22 #3 풀이
문제에서 Snowden's-eloquent-quotes.jpg라는 힌트가 주어졌습니다. 우선 프로토콜별로 분석을 좀 해보겠습니다. FTP 프로토콜을 TCP stream으로 열어보니, zip 파일 두 개가 보입니다. 이 파일들을 다운로드하겠습니다. 파일 이름이 단어인 jpg 형식의 파일들이 가득 들어있습니다. ... 이것만으론 풀기가 좀 어려울 것 같습니다. 아까 힌트로 주어졌던 문장의 뜻이 무엇인지 모르니 구글링을 좀 해보겠습니다. 뭔가 비슷한 문장을 찾은 것 같긴 한데 중간중간 없는 단어들이 있습니다. 놓친 파일이 있는 걸 수도 있으니 패킷들을 좀 더 보겠습니다. 또 다른 zip 파일을 찾긴 했는데 zip 파일 여러 개가 존재하는 것 같습니다. 이 zip 파일들을 시그니처에 맞춰서 잘라 저장해주면 총 ..
2021.08.06 -
[CTF-D] DefCoN#22 #2 풀이
문제에서 인코딩이라는 힌트를 제공했습니다. 우선 와이어샤크로 문제 파일을 열어보겠습니다. 딱 보아도 패킷의 양이 어마 무시하게 많기 때문에 하나하나 분석하는 건 포기해야겠습니다. 이 중에서 뭔가 대화 기록 같은게 있을 것 같은데, 한 번 찾아보겠습니다. 모르는 프로토콜들은 찾아보면서 분석을 하고 있었는데, IRC 프로토콜을 발견했습니다. https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=ykimchi00&logNo=10004357620 IRC Protocol 6. IRC (Internet Relay Chat)IRC[아얄씨]는 일련의 규칙과 약속이 관련되어 있는 채팅 시스템으... blog.naver.com 채팅 시스템과 관련된 프로토..
2021.08.06 -
basic_exploitation_003 풀이
#include #include #include #include void alarm_handler() { puts("TIME OUT"); exit(-1); } void initialize() { setvbuf(stdin, NULL, _IONBF, 0); setvbuf(stdout, NULL, _IONBF, 0); signal(SIGALRM, alarm_handler); alarm(30); } void get_shell() { system("/bin/sh"); } int main(int argc, char *argv[]) { char *heap_buf = (char *)malloc(0x80); char stack_buf[0x90] = {}; initialize(); read(0, heap_buf, 0x80..
2021.08.04 -
FSB 문제 풀이 (2)
- 소스코드 분석 0x20 크기의 char형 배열 format이 선언되어있습니다. 이 배열에 길이 10만큼 입력을 받고, printf() 함수로 출력합니다. 그런데, 여기서 printf() 함수에 format string이 없으니 FSB 취약점이 발생합니다. 그리고 read() 함수로 다시 입력을 받습니다. 소스코드 분석은 이 정도면 된 것 같습니다. 이번 문제는 저번 문제와는 다르게 Stack Canary 보호 기법이 걸려있습니다. 이에 초점을 맞춰서 아이디어를 짜보겠습니다. - RSI, RDX, RCX, R8, R9 5개 + ret 1개 + sfp 직전 (0x20/8) + sfp 1개 = 11개 -> return address값 leak - RSI, RDX, RCX, R8, R9 5개 + Canary..
2021.08.03