본문 바로가기

전체 글

(449)
새로운 언어를 배우자 레드벨벳 아이린 1. 말 끝에는 ㅇㅅㅇ) 을 꼭 붙여주되 /와 ...? ☆ 같은 추가 자유형식을 허용한다. (예외체 ㅅ ' )) 2. '귀여움' 이라는 단어를 쓰기 위해선 꼭 기요☆움 이라는 단어로 변화하여 사용하여야 한다. 귀여운 일 경우 기요☆운이 된다.ex) 나님! 기요☆움 그 자체! *ㅇㅅㅇ)/ 3. 아래 어미, 단어는 꼭 바뀐 단어로 사용하여야 한다. 1) ~는데 -> ~눈뎃 ex) [새로 나오눈뎃 ㅅ ' )]2) ~가서, ~여서 -> ~가섯, ~여섯 ex) [어디가섯 ㅇㅅㅇ)]3) 하는것을 -> 하눈고룰4) 이것 -> 요곳 ex) [요곳하눈고룰 까뭌엇넹 ㅅ ' ) ]5) ~으니 -> ~으닛 ex) [하루가 지낫으닛]6) ㄱ받침 -> 대부분 ㅋ받침으로 + 부분적의 경우 모음 아래로 ex) [까먹..
go lang calling convention 고언어는 누가 만든건지 어셈블리라인에서는 너무 괴랄한것 같음. 징그럽다. CTF에서 Go나 C++로 만든 바이너리를 거르는 이유가 진짜 있음..ㅋㅋ https://www.sokoide.com/wp/2014/09/28/golang-calling-convention/ https://particle.cafe/blog/golang-calling-convention.html
2018 정보보안 경진대회 우승했습니다. 문시우 없는 '문시우1인팀'으로 건희랑 민우랑 효민이랑 같이 1등했다! 2017 정보보안 경진대회에서도 '4-day-exploit' 팀으로 참가하여 기환이, 민우, 세준이랑 같이 1등했었는데 2연속 우승!! 이번에는 전반적으로 문제 난이도가 어렵게 나와서 정말 재밌었던 대회였다. 그리고 팀도 정말 잘 짜여졌고, 무엇보다 팀원들끼리 누구도 빠지는 사람없이 잘해줘서 정말 고마웠다. 내가 웹문제를 풀고 건희가 시스템, 효민이가 리버싱, 민우가 네트워크를 풀었는데 진짜 다 잘해서..ㅋㅋㅋ 이번에는 수상 훈격이 좀 더 높아져서 무려 '교육부 장관상'을 받게 된다고 한다.
잊기전에 적어두는 bash trick 최근 CTF 들에 bash trick 이 너무 많이 올라오는 것 같아서 이참에 한 번 정리해놓고 가야겠다. - sh, bash, dash 등이 필터링 되어있는 경우 : $1 을 붙이는 것으로 우회 가능 (s$1h) * $1 에는 아무런 내용이 없기 때문에 bash에서는 sh 만 인식하게 된다. * 동일한 원리로 다음과 같은 상황도 가능하다. - vi가 필터링 되어있지 않은 경우 : * vi안에는 :! [command]로 쉘을 실행시킬 수 있는 기능이 있기 때문에 이것으로 쉘을 획득할 수 있다. (Layer7 Talmoru Party 문제에서 처음 알게 되었다.) - flag 등 파일 이름이 필터링 되어있는 경우 : * bash에서 기본으로 제공하는 regex 를 이용하면 된다. 다음과 같은 형식으로 우회..
반 20등에서 반 2등으로ㅋㅋ 레드벨벳 아이린 반 애들한테 자랑하긴 좀 그래서 여기에다 좀 자랑ㅋㅋ 이번 시험에서 진짜 잘봐서 1학기 첫번째 시험 약 반 20등에서 2등으로 올랐디..ㅋㅋㅋ 이대로 전교 1등도 하면서 성균관대학교 가고싶다.
scanf가 씹히는 경우 레드벨벳 조이 C언어로 코딩을 하는 경우 무한루프 ( while (1), for (;;) ) 안에서 scanf() 함수를 호출하여 값을 연속적으로 받고 연산을 하는 경우가 많다. 근데 이 경우에 scanf()가 씹히는 경우가 빈번히 생기는데, 이 때의 해결법을 써보도록하겠다. scanf()가 씹히는 경우는 버퍼에 사용자가 입력한 것이 남아있기 때문이다. %c를 받는 경우엔 \n (0x0a) 도 버퍼에 들어가기 때문에 scanf() 함수에서는 다음 루프를 돌 때 입력받은 값이 \n (0x0a) 된다. 이 경우에는 내가 생각한 두 가지의 해결책으로 해결할 수 있다. 1. scanf() 함수 뒤 getchar() 함수를 사용한다. - scanf() 함수 뒤 getchar() 함수를 사용하면 scanf()를 호..
ls, dir 막혔을때 파일 리스팅 레드벨벳 슬기 CTF나 워게임 Command Injection류의 문제들에서 ls, dir 로 file listing이 필요한 경우가 있는데 보통 ls와 dir은 대표적인 명령어이기 때문에 막혀있는 경우가 많을 것이다. 그의 예시로 다음과 같은 코드가 있다고 가정해보자. 우회하라고하면 쉽게 우회할 수 있겠으나, 일단 이 문제의 핵심은 ls, dir 을 통해 directory listing이 되지 않는다는 것이다. 이럴 경우 vi 를 이용해도 우회할 수 있다. `vi . `를 하면 다음과 같은 화면을 볼 수 있다. 해당 디렉터리 안에는 index.php 라는 파일과 test 라는 디렉터리 하나가 있는데 vi . 명령을 통해 잘 나타났다. 다양하게 응용가능
Golang Reversing 우주소녀 루다 최근 사이버가디언즈 고등학교 리그에서 계속 Go 언어로 된 바이너리를 리버싱하는 문제들이 연속적으로 나와서 이참에 Go언어도 배우고 Golang reversing 테크닉을 익혀두려고 정리해보려한다. Go언어의 특징 Go언어는 구글이 2009년에 만든 언어이다. 가장 대표적으로 밀고 있는 장점은 컴파일 속도가 빠르다는 점. 컴파일 속도가 매우 빠르기 때문에 인터프리터 언어로서도 사용할 수 있다는 것이 큰 장점이다. Go언어도 VB처럼 Go 런타임 안에서 코드를 실행시키는 방식을 사용하고 있다. 따라서, 일반적인 바이너리에서처럼 Main 함수의 부분을 찾아서 그것을 찾고 분석하기는 힘들다.